يحتوي هذا المستودع على كود لـ Camoscio ، وهو لاما تعليمات إيطالية تم ضبطه على أساس الألبكة في ستانفورد وتدريب على التكيف منخفض الرتبة (LORA). الورقة المصاحبة لهذا الريبو متوفرة في عنوان URL التالي.
يعتمد جزء من الكود في الريبو على الألبكة لورا وكابريتا. باتباع هذه الأساليب السابقة ، قمنا بترجمة مجموعة بيانات ضبط تعليمات Stanford Alpaca إلى الإيطالية باستخدام API ChatGPT. نحن نقدم مجموعة البيانات المترجمة ( camoscio_data.json - الآن أيضًا على مجموعات بيانات Hugging Face) ، والنموذج (المتاح على مركز Hugging Face) والرمز لإعادة إنتاج النتائج.
يوفر النموذج أداءً صفريًا قابلاً للمقارنة مع النماذج المدربة الحالية للإيطالية (انظر ورقتنا للتقييم) ويمكن أن تعمل على Raspberry Pi (للبحث).
لتوضيح النموذج على مجموعة البيانات الإيطالية ، قمنا بتكييف البرامج النصية من Cabrita وتشغيل التدريب على 3090 واحد لمدة يوم واحد (انظر التفاصيل أدناه).
يرجى ملاحظة أنه من الممكن للغاية أن يحتوي ناتج النموذج على محتوى متحيز أو مؤامر أو مسيء أو غير مناسب ومضرة. النموذج مخصص لأغراض البحث فقط ويجب استخدامه بحذر على مسؤوليتك الخاصة. استخدام الإنتاج غير مسموح به.
[1] لاما: نماذج لغة الأساس المفتوحة والفعالة. Hugo Touvron ، Thibaut Lavril ، Gautier Izacard ، Xavier Martinet ، Marie-Anne Lachaux ، Timothée Lacroix ، Baptiste Rozière ، Naman Goyal ، Eric Hambro ، Faisal Azhar ، Aurelien Rodriguez ، Armand Joulin ، Edouard Graint. https://arxiv.org/abs/2302.13971v1
[2] البنية الذاتية: محاذاة نموذج اللغة مع تعليمات تم إنشاؤها ذاتيا. Yizhong Wang ، Yeganeh Kordi ، Swaroop Mishra ، Alisa Liu ، Noah A. Smith ، Daniel Khashabi ، Hannaneh Hajishirzi. https://arxiv.org/abs/2212.10560
clic الزر "فتح في كولاب" أعلاه لفتح دفتر الملاحظات في Google Colab وجرب العرض التوضيحي في Gradio!

نحن نقدم مثال دفتر حول كيفية تحميل واستخدام النموذج هنا.
from peft import PeftModel
from transformers import LlamaTokenizer , LlamaForCausalLM , GenerationConfig
tokenizer = LlamaTokenizer . from_pretrained ( "linhvu/decapoda-research-llama-7b-hf" )
model = LlamaForCausalLM . from_pretrained (
"linhvu/decapoda-research-llama-7b-hf" ,
load_in_8bit = True ,
device_map = "auto" ,
)
model = PeftModel . from_pretrained ( model , "teelinsan/camoscio-7b-llama" ) pip install -r requirements.txt
translate_data.py ) قم بتنزيل مجموعة البيانات من هنا ووضعها في مجلد data . ثم قم بالتشغيل:
python script/translate_data.py
train.py )فقط قم بتشغيل الأمر (قم بتغيير أجهزة التمييز المفرطة حسب الحاجة):
python scripts/train.py
يمكنك استخدام script checkpoint_exporter.py في هذا الريبو لدمج الأوزان الأصلية لـ Llama مع أوزان Camoscio Lora (نقطة تفتيش Llama + Camoscio Lora Checkpoints = camoscio). النموذج الذي تم الحصول عليه مع هذا الإجراء هو نموذج Camoscio النهائي الذي يعادل نموذج Llama المصمم للإيطالي (نفس الهندسة المعمارية وعدد المعلمات) ويمكن استخدامه في العمل في مهام المصب.
لاستخدام البرنامج النصي ، فقط قم بتشغيل برنامج python scripts/checkpoint_exporter.py
Checkout أيضًا البرنامج النصي export_hf_checkpoint.py من repo alpaca-lora الأصلي لتصدير نقطة التفتيش إلى تنسيق HuggingFace أو البرنامج النصي export_state_dict_checkpoint.py لتصدير نقطة التفتيش إلى تنسيق pytorch.
إذا كنت تبحث عن استنتاج سريع وفعال ، ألق نظرة على مشاريع مثل llama.cpp أو alpaca.cpp.
البرنامج التعليمي: إذا كنت تبحث عن شرح شامل لكيفية تعليمات LM الخاصة بك في مهمتك المصب ، تحقق من هذا البرنامج التعليمي في CLIC-IT 2023 بواسطة @CRUX82 و BBasteran.
إلى Finetune camoscio في مهمتك الخاصة باللغة الإيطالية ، يمكنك استخدام البرنامج النصي finetune.py في مجلد scripts .
instruction, input, output . انظر data/camoscio_data.json للحصول على مثال.python scripts/checkpoint_exporter.py .finetune.py مع الأمر التالي: python scripts/finetune.py
--base_model= ' {path_camoscio_merged_ckpt} '
--tokenizer_name= ' decapoda-research/llama-7b-hf '
--data_path= ' {your_dataset_path.json} '
--train_on_inputs=False
--num_epochs=10
--cutoff_len=512
--group_by_length
--output_dir= ' ./outdir '
--lora_target_modules= ' [q_proj,k_proj,v_proj,o_proj] '
--lora_r=16
--micro_batch_size=8
--prompt_template_name ' camoscio ' للحصول على أسئلة أخرى ، افتح مشكلة أو اتصل بي على Twitter.
النتائج على مجموعات بيانات التقييم متوفرة في الورقة.
نحن نقدم جميع النتائج على مجموعات بيانات التقييم (Newssum-It ، Squad-It ، Xformal IT) في مجلد eval/results .
يتم الحصول على هذه النتائج عن طريق تشغيل البرنامج النصي eval/eval.sh . يتم الحصول على الدرجات النهائية المدرجة في الورقة عبر دفتر compute_eval_scores.ipynb
التعليمات : Riassumi la Storia di Pinocchio.
الألباكا لورا : ذات مرة ، كان هناك دمية خشبية تدعى بينوكيو كان يحلم بأن يصبح فتى حقيقيًا. تم إنشاؤه بواسطة سيارة خشبية تدعى Geppetto ، الذي أحبه كثيرًا. كان بينوكيو دمية مؤذية غالبًا ما واجه مشكلة ، لكنه حاول دائمًا فعل الشيء الصحيح في النهاية. في يوم من الأيام ، التقى بينوكيو مع جنية عرضت عليه الفرصة ليصبح فتىًا حقيقيًا إذا أثبت أنه شجاع وصادق وغير أناني. قبل Pinocchio عرض الجنية وانطلق في سلسلة من المجيء
Chatgpt : La Storia di Pinocchio Racconta di un Burattino Di Legno ، Creato Dal Falegname Geppetto ، Che Prende Vita Grazie Alla Fata Turchina. pinocchio ha un forte desiderio di diventare un bambino vero ، ma cade in numerose avventure e inganni ، spesso guidato dal suo istinto e dalla sua ingenuità. Nel Corso Della Storia ، Pinocchio viene Ingannato da un Gatto e una volpe ، viene isprigionato e trasformato in un asino ، ma alla fine dimostra il suo coraggio ، la sua lealtà e la sua generosità salvando il padre e e e ottenendo la sua trasformine in bambin.
Camoscio : La Storia di pinocchio racconta di un bambino di nome pinocchio che vive con i suoi genitori in un piccolo villaggio. Un Giorno ، Pinocchio inctra un burattino magico che gli dona la possibilità di diventare un vero bambino. pinocchio inizia una serie di avventure mentre cerca di diventare un vero bambino. Durante il suo viaggio ، pinocchio fa amicizia con molti personaggi e impara molte lezioni di vita. Alla Fine ، Pinocchio raggiunge Il suo obiettivo e diventa un vero bambino.
التعليمات : Dimmi di Più Sul Presidente Della Repubblica Italiana Del 2019.
الألباكا لورا : رئيس جمهورية إيطاليا في عام 2019 هو سيرجيو ماتاريلا. تم انتخابه في عام 2015 وتم إعادة انتخابه في عام 2018. وهو الرئيس الثاني عشر لجمهورية إيطاليا.
Chatgpt : IL Presidente Della Repubblica Italiana del 2019 Era Sergio Mattarella. Nato A Palermo Nel 1941 ، Mattarella è Stato Eletto Presidente Nel 2015 ، Succedendo A Giorgio Napolitano. Prima di Diventare Presidente ، Ha riCoperto Targeti Incarichi Politici ، Tra Cui Quello di Ministro Della della ، della pubblica istruzione e della giustizia. Durante il Suo Mandato ، Mattarella è stato impegnato nella promozione dell'unità nazionale e nella difesa della costituzione italiana. HA Anche Sostenuto l'Tegrazione Europea e la cooperazione Internazionale. NEL 2018 ، HA SVOLTO UN RUOLO TAMIPE Nella Formazione del Governo Italiano ، Che ha visto la nomina di un combreato di coalizione tra il movimento 5 stelle e la lega. Mattarella è stato molto attivo nella difesa dei diritti umani e della giustizia sociale ، promuovendo iniziative per combatte la povertà e la disuguaglianza.
Camoscio : IL Presidente Della Repubblica Italiana del 2019 è Sergio Mattarella ، Che è stato eletto il 31 Gennaio 2015 e ha prestato giuramento il 31 gennaio 2015.
التعليمات : Dimmi Quattro Parole Che Fanno Rima Con 'Gatto'.
الألبكة لورا : القط ، قبعة ، حصيرة ، فأر.
Chatgpt : Piatto ، Matto ، Spratto ، Grattò.
Camoscio : 'Cattivo ، cattivo ، cattivo ، cattivo.'
التعليمات : Scrivi una breve biografia su dante alighieri
الألباكا لورا : كان دانتي أليغيري (1265-1321) شاعرًا إيطاليًا ، وفيلسوفًا ، وشخصية سياسية. اشتهر بقصيده الملحمي ، الكوميديا الإلهية ، التي تعتبر على نطاق واسع واحدة من أعظم أعمال الأدب المكتوبة على الإطلاق. ولد دانتي في فلورنسا ، إيطاليا ، وقضى الكثير من حياته في المنفى. كتب الكوميديا الإلهية أثناء وجوده في المنفى ، وهو يروي قصة رحلته عبر الجحيم ، المطهر ، والسماء. يعتبر دانتي أحد مؤسسي اللغة الإيطالية ، و
Chatgpt : Dante alighieri è stato uno dei più grandi poeti italiani del medoievo. Nato A Firenze Nel 1265 ، HA Studiato Nella Prestigiosa Scuola di Santa Croce E Ha Mosterato Fin da Giovane Una Grande Passione Per La Poesia. Ha scritto la sua prima opera ، "il convivio" ، all'età di 30 anni ، ma è soprattutto noto per la sua opera più famosa ، "la divina commedia". Questo poema epico ، scritto in terzine ، descrive il viaggio imgaGinario di dante attraverso l'erferno ، il purgatorio e il paradiso ، e rappresenta una sintesi della cultura medievale ، della filosofia e della teologia. Dante HA Anche Avuto una vita politica attiva ، partecipando alla vita pubblica di firenze e sostenendo la fazione guelfa. Tuttavia ، dopo essere stato esiliato dalla città nel 1302 ، ha trascorso il resto della sua vita in esilio ، scrivendo le sue opere più tarmi e cercando di rientr
Camoscio : Dante alighieri (1265-1321) è preverato uno dei più grandi poeti e scrittori italiani di tutti i tempi. Nato a firenze ، è conosciuto principalmente per il suo poema epico la divina commedia ، che è uno dei capolavori della letteratura occidentale.
التعليمات : Dimmi Tutte le regioni italiane في Ordine alfabetico.
الألباكا لورا : أبروتزو ، باسيليكاتا ، كالابريا ، كامبانيا ، إميليا روماجنا ، فريولي فينيزيا جوليا ، لاتسيو ، ليغوريا ، لومبارديا ، ماركي ، موليز ، بيمونتي ، بوجليا ، سيارديجنا ، سيكليا ، توسكانا ، ترينتينو أديج ، فيرايتو ،
Chatgpt : Abruzzo ، Basilicata ، Calabria ، Campania ، Emilia-Romagna ، Friuli-Venezia Giulia ، Lazio ، Liguria ، Lombardia ، Marche ، Molise ، Piemonte ، Puglia ، Sardegna ، Sicilia ، Toscana ، Troento-Adige ، D'Aosta/Vallée d'Aoste ، فينيتو.
Camoscio : Le regioni Italiane in Ordine Alfabetico Sono: Abruzzo ، Basilicata ، Calabria ، Campania ، Emilia-Romagna ، Friuli-Venezia Giulia ، Lazio ، Liguria ، Lombardia ، Marche ، Molise ، Piemon ، Puglia ، Gardegna ، toScil أومبريا ، فالي دوستا ، فينيتو.
التعليمات : scrivi un programma che stampa i numeri da 1 a 100. ma per i multipli di tre stampa 'fizz' al posto del numero e per i multipli di cinque stampa 'buzz'. Per I numeri che sono multipli sia di tre che di cinque stampa 'fizzbuzz'.
الألبكة لورا :
for i in range ( 1 , 101 ):
if i % 3 == 0 and i % 5 == 0 :
print ( "FizzBuzz" )
elif i % 3 == 0 :
print ( "Fizz" )
elif i % 5 == 0 :
print ( "Buzz" )
else :
print ( i )chatgpt :
for i in range ( 1 , 101 ):
if i % 3 == 0 and i % 5 == 0 :
print ( "FizzBuzz" )
elif i % 3 == 0 :
print ( "Fizz" )
elif i % 5 == 0 :
print ( "Buzz" )
else :
print ( i )كاموسيو :
for i in range ( 1 , 101 ):
if i % 3 == 0 and i % 5 == 0 :
print ( "FizzBuzz" )
elif i % 3 == 0 :
print ( "Fizz" )
elif i % 5 == 0 :
print ( "Buzz" )
else :
print ( i )إذا كنت تستخدم Camoscio أو مجموعة بيانات Camoscio في بحثك ، فيرجى الاستشهاد بالورقة:
@misc { santilli2023camoscio ,
title = { Camoscio: an Italian Instruction-tuned LLaMA } ,
author = { Andrea Santilli and Emanuele Rodolà } ,
year = { 2023 } ,
eprint = { 2307.16456 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CL }
}يجب عليك أيضًا الاستشهاد بالورق الأصلي Llama [1] ، وورقة البنية الذاتية [2] ، و Stanford Alpaca Repo ، و Abaca-Lora Repo.