Repositori ini berisi kode untuk Camoscio, llama yang disesuaikan dengan instruksi Italia berdasarkan Stanford alpaca dan dilatih dengan adaptasi peringkat rendah (LORA). Kertas pendamping repo ini tersedia di URL berikut.
Bagian dari kode dalam repo didasarkan pada Alpaca-Lora dan Cabrita. Mengikuti pendekatan-pendekatan sebelumnya ini, kami menerjemahkan dataset penyetelan instruksi Stanford Alpaca ke dalam bahasa Italia menggunakan chatgpt API. Kami menyediakan dataset yang diterjemahkan ( camoscio_data.json - sekarang juga pada dataset Hugging Face), model (tersedia di hub Face Memeluk) dan kode untuk mereproduksi hasilnya.
Model ini memberikan kinerja zero-shot yang sebanding dengan model terlatih yang ada untuk Italia (lihat makalah kami untuk evaluasi) dan dapat berjalan pada raspberry pi (untuk penelitian).
Untuk memperbaiki model pada dataset Italia, kami mengadaptasi skrip dari Cabrita dan menjalankan pelatihan pada satu 3090 selama 1 hari (lihat detail di bawah).
Harap dicatat bahwa sangat mungkin bahwa output model berisi konten yang bias, konspirasi, ofensif, atau tidak pantas dan berpotensi berbahaya. Model ini dimaksudkan untuk tujuan penelitian saja dan harus digunakan dengan hati -hati dengan risiko Anda sendiri. Penggunaan produksi tidak diperbolehkan.
[1] Llama: Model Bahasa Yayasan Terbuka dan Efisien. 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 Grave, Guillaume Lample. https://arxiv.org/abs/2302.13971v1
[2] Diri-self-instruct: Menyelaraskan model bahasa dengan instruksi yang dihasilkan sendiri. Yizhong Wang, Yeganeh Kordi, Swaroop Mishra, Alisa Liu, Noah A. Smith, Daniel Khashabi, Hananeh Hajishirzi. https://arxiv.org/abs/2212.10560
Klik tombol "buka di colab" di atas untuk membuka buku catatan di Google Colab dan coba demo di gradio!

Kami memberikan contoh notebook tentang cara memuat dan menggunakan model di sini.
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 ) Unduh dataset dari sini dan masukkan ke dalam folder data . Kemudian jalankan:
python script/translate_data.py
train.py )Cukup jalankan perintah (ubah hyperparameters sesuai kebutuhan):
python scripts/train.py
Anda dapat menggunakan skrip checkpoint_exporter.py dalam repo ini untuk menggabungkan bobot asli llama dengan bobot camoscio lora (llama checkpoint + camoscio lora checkpoints = camoscio). Model yang diperoleh dengan prosedur ini adalah model Camoscio akhir yang setara dengan model LLAMA yang dirancang untuk Italia (arsitektur yang sama dan jumlah parameter) dan dapat digunakan untuk finetuning pada tugas hilir Anda.
Untuk menggunakan skrip cukup jalankan perintah python scripts/checkpoint_exporter.py
Periksa juga skrip export_hf_checkpoint.py dari repo alpaca-lora asli untuk mengekspor pos pemeriksaan ke format huggingface atau skrip export_state_dict_checkpoint.py untuk mengekspor pos pemeriksaan ke format pytorch.
Jika Anda mencari inferensi yang cepat dan efisien, lihatlah proyek -proyek seperti llama.cpp atau alpaca.cpp.
Tutorial: Jika Anda mencari penjelasan menyeluruh tentang cara-instruksi-Tune LM Anda pada tugas hilir Anda, lihat tutorial ini di CLIC-IT 2023 oleh @crux82 dan @basteran.
Untuk Finetune Camoscio pada tugas Anda sendiri di Italia, Anda dapat menggunakan skrip finetune.py di folder scripts .
instruction, input, output . Lihat data/camoscio_data.json Sebagai contoh.python scripts/checkpoint_exporter.py .finetune.py dengan perintah berikut: 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 ' Untuk pertanyaan lain, buka masalah atau hubungi saya di Twitter.
Hasil pada dataset evaluasi tersedia di koran.
Kami memberikan semua hasil pada dataset evaluasi (newssum-it, skuad-it, xformal it) di folder eval/results .
Hasil ini diperoleh dengan menjalankan skrip eval/eval.sh . Skor akhir yang termasuk dalam makalah diperoleh melalui notebook compute_eval_scores.ipynb
Instruksi : Riassumi La Storia di Pinocchio.
Alpaca-Lora : Sekali waktu, ada boneka kayu bernama Pinocchio yang bermimpi menjadi anak laki-laki sejati. Dia diciptakan oleh tukang kayu bernama Geppetto, yang sangat mencintainya. Pinocchio adalah boneka nakal yang sering mendapat masalah, tetapi dia selalu mencoba melakukan hal yang benar pada akhirnya. Suatu hari, Pinocchio bertemu dengan seorang peri yang menawarinya kesempatan untuk menjadi anak laki -laki sejati jika dia membuktikan dirinya berani, jujur, dan tidak mementingkan diri sendiri. Pinocchio menerima tawaran peri dan berangkat
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 dalam 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 impriigionato e trasformato di un asino, ma alla fine dimostra il suo coraggio, la sua lealtà e la sua generosità salvando il padre e ototenendo la laampo laampo la laampino di sue sue pad e e o ototendo la la laampo la la laampo la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la la
Camoscio : La Storia di Pinocchio Racconta di un bambino di nome pinocchio che vive con i suoi genitori di un piccolo villaggio. Un giorno, pinocchio incontra un burittino 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.
Instruksi : Dimmi di più sul presidente della repubblica Italiana del 2019.
Alpaca-Lora : Presiden Republik Italia pada tahun 2019 adalah Sergio Mattarella. Dia terpilih pada 2015 dan terpilih kembali pada tahun 2018. Dia adalah presiden ke-12 Republik Italia.
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 penting saya incarichi politici, tra cui quello di mintistro della difesa, 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'integrazione europea e la cooperazione internazionale. Nel 2018, ha svolto un ruolo penting nella formazione del gubernur Italiano, che ha visto la nomina di un pemerintah di coalizione tra il movimento 5 stelle e la lega. Mattarella è stato molto attivo nella difesa dei diritti ani e della giustizia sociale, promuovendo iniziative per tomba 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.
Instruksi : Dimmi Quattro Parole Che Fanno Rima Con 'Gatto'.
Alpaca-Lora : kucing, topi, mat, tikus.
Chatgpt : Piatto, Matto, Spratto, Grattò.
Camoscio : 'Cattivo, Cattivo, Cattivo, Cattivo.'
Instruksi : Scrivi Una Breve Biografia Su Dante Alighieri
Alpaca-Lora : Dante Alighieri (1265-1321) adalah seorang penyair, filsuf, dan tokoh politik Italia. Ia terkenal karena puisi epiknya, The Divine Comedy, yang secara luas dianggap sebagai salah satu karya sastra terbesar yang pernah ditulis. Dante lahir di Florence, Italia, dan menghabiskan sebagian besar hidupnya di pengasingan. Dia menulis komedi ilahi saat di pengasingan, dan itu menceritakan kisah perjalanannya melalui neraka, api penyucian, dan surga. Dante dianggap sebagai salah satu pendiri bahasa Italia, dan
Chatgpt : Dante Alighieri è stato uno dei più grisi poeti Italiani del medioevo. NATO A Firenze Nel 1265, ha Studiato nella prestigiosa scuola di santa croce e ha mostrato 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 di terzine, descrive il viaggio immaginario di dante attraverso l'ferno, il purgatorio e il paradiso, e rappresenta una sintesi della cultura, della filosofia e della teoologi. 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 di esilio, scrivendo le sue opere più penting saya cercando di rientr
Camoscio : Dante Alighieri (1265-1321) è Pertimbangan Uno dei più grisi poeti e Scrittori Italiani di tutti i tempi. NATO A FIRENZE, è Conosciuto Principalmente per il suo poema Epico la Divina Commedia, Che è mempertimbangkan uno dei capolavori della letteratura occidentale.
Instruksi : Dimmi Tutte Le Regioni Italiane in Ordine Alfabetico.
Alpaca-LoRA : Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sardegna, Sicilia, Toscana, Trentino-Alto Adige, Umbria, Veneto.
ChatGPT : Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sardegna, Sicilia, Toscana, Trentino-Alto Adige/Südtirol, Umbria, Valle D'Aosta/Vallée d'Aoste, Veneto.
Camoscio : Le regioni italiane in ordine alfabetico sono: Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sardegna, Sicilia, Toscana, Trentino-Alto Adige, Umbria, Valle d'Aosta, Veneto.
Instruksi : 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'.
Alpaca-Lora :
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 )Camoscio :
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 )Jika Anda menggunakan Dataset Camoscio atau Camoscio dalam riset Anda, silakan kutip makalah kami:
@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 }
}Anda juga harus mengutip kertas llama asli [1], kertas instruksikan diri [2], repo Stanford Alpaca, dan repo Alpaca-Lora.