Dieses Repository enthält Code für Camoscio, ein italienisches Lama, das auf Stanford Alpaca basiert und mit niedriger Anpassung (LORA) ausgebildet wurde. Das Begleitpapier dieses Repo ist bei der folgenden URL erhältlich.
Ein Teil des Code im Repo basiert auf Alpaca-Lora und Cabrita. Nach diesen früheren Ansätzen haben wir den Stanford Alpaca-Anweisungs-Tuning-Datensatz mit der Chatgpt-API in Italiener übersetzt. Wir stellen den übersetzten Datensatz ( camoscio_data.json - jetzt auch auf den Datensätzen von Face), das Modell (verfügbar auf dem Hub der Umarmung) und den Code zur Reproduktion der Ergebnisse bereit.
Das Modell bietet eine Leistung mit Null-Shot-Leistung, die mit vorhandenen geschulten Modellen für Italienisch vergleichbar ist (siehe unser Papier zur Bewertung) und kann auf einem Raspberry PI (für Forschung) ausgeführt werden.
Um das Modell auf dem italienischen Datensatz zu finanzieren, haben wir die Skripte von Cabrita angepasst und das Training für einen Tag für einen Tag für einen Tag durchgeführt (siehe Details unten).
Bitte beachten Sie, dass es sehr möglich ist, dass die Modellausgabe voreingenommener, Verschwörungen, beleidigend oder auf andere Weise unangemessene und potenziell schädliche Inhalte enthält. Das Modell ist nur für Forschungszwecke bestimmt und sollte auf eigenes Risiko mit Vorsicht verwendet werden. Produktionsnutzung ist nicht erlaubt.
[1] LLAMA: Offene und effiziente Fundament -Sprachmodelle. Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguz, Armand Joulin, Edouard, Edouard, Edouard, Edouard, Edouard, Edouard, Edouard, Guillaume, Guillaum Lama, Guillumel. https://arxiv.org/abs/2302.13971v1
[2] Selbststruktur: Sprachmodell mit selbst erzeugten Anweisungen ausrichten. Yizhong Wang, Yeganeh Kordi, Swaroop Mishra, Alisa Liu, Noah A. Smith, Daniel Khashabi, Hannaneh Hajishirzi. https://arxiv.org/abs/2212.10560
Clic die Schaltfläche "Open in Colab" oben, um das Notebook in Google Colab zu öffnen und die Demo in Gradio auszuprobieren!

Wir bieten ein Beispiel Notizbuch zum Laden und Verwenden des Modells hier.
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 ) Laden Sie den Datensatz von hier herunter und legen Sie ihn in den data . Dann rennen:
python script/translate_data.py
train.py )Führen Sie einfach den Befehl aus (ändern Sie die Hyperparameter nach Bedarf):
python scripts/train.py
In diesem Repo können Sie den Skript checkpoint_exporter.py verwenden, um die ursprünglichen Gewichte von LLAMA mit den Camoscio Lora -Gewichten (Lama -Checkpoint + Camoscio Lora -Checkpoints = Camoscio) zusammenzuführen. Das mit diesem Verfahren erhaltene Modell ist das endgültige Camoscio -Modell, das einem Lama -Modell entspricht, das auf Italienisch zugeschnitten ist (gleiche Architektur und Anzahl der Parameter), und kann für die Fülle Ihrer nachgeschalteten Aufgabe verwendet werden.
Um das Skript zu verwenden, führen Sie einfach die Befehl python scripts/checkpoint_exporter.py aus
Checkout auch das Skript export_hf_checkpoint.py aus dem ursprünglichen Alpaca-Lora Repo, um den Checkpoint in das HuggingFace-Format oder das Skript export_state_dict_checkpoint.py zu exportieren, um den Checkpoint in das Pytorch-Format zu exportieren.
Wenn Sie nach einer schnellen und effizienten Schlussfolgerung suchen, schauen Sie sich Projekte wie Lama.cpp oder alpaca.cpp an.
Tutorial: Wenn Sie nach einer gründlichen Erläuterung suchen, wie Sie Ihre LM in Ihrer nachgeschalteten Aufgabe Anweisungen stimmen, lesen Sie dieses Tutorial bei Clic-It 2023 von @crux82 und @basteran.
Um Camoscio für Ihre eigene Aufgabe auf Italienisch zu finanzieren, können Sie das Skript finetune.py im scripts verwenden.
instruction, input, output sein. Ein Beispiel finden Sie data/camoscio_data.json .python scripts/checkpoint_exporter.py aus.finetune.py mit dem folgenden Befehl aus: 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 ' Öffnen Sie für andere Fragen ein Problem oder kontaktieren Sie mich auf Twitter.
Die Ergebnisse der Bewertungsdatensätze sind im Papier verfügbar.
Wir bieten alle Ergebnisse in den Bewertungsdatensätzen (NewsSum-It, Squad-It, Xformal IT) in den Ordner eval/results .
Diese Ergebnisse werden durch Ausführen des Skripts eval/eval.sh erhalten. Die im Papier enthaltenen endgültigen Ergebnisse werden über das Notebook compute_eval_scores.ipynb erhalten
Anweisung : Riassumi la Storia di Pinocchio.
ALPACA-LORA : Es war einmal eine Holzpuppe namens Pinocchio, die davon träumte, ein echter Junge zu werden. Er wurde von einem Holzwagen namens Geppetto geschaffen, der ihn sehr liebte. Pinocchio war eine schelmische Marionette, die oft in Schwierigkeiten geriet, aber er hat immer versucht, am Ende das Richtige zu tun. Eines Tages traf Pinocchio eine Fee, die ihm die Chance bot, ein echter Junge zu werden, wenn er sich als mutig, ehrlich und selbstlos erwies. Pinocchio nahm das Angebot der Fee an und machte sich auf eine Reihe von Advents auf den Weg
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 avvventure e Inganni, Spesso Guidato Dal Suo Istinto e dalla sua ingenuità. Nel corso della storia, pinocchio viene innannato da un gatto e una volpe, vien imigionato e trasformato in un assino, ma alla fein dimostra il suo coraggio, la sua lael e la sua gernsà salvando il prea ottenendo la sua tria tria
Camoscio : La Storia di Pinocchio racconta di un bambino di nome pinocchio che vive con ioi genitori in un piccolo villaggio. UN GIORNO, Pinocchio Incontra Un Burattino MAGION 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 viggio, Pinocchio fa Amicizia con molti personaggi e impara molte lezioni di vita. Alla Fine, Pinocchio Raggiunge io suo obiettivo e diventa un vero bambino.
Anweisung : dimmi di più sul presidente della repubblica italiana del 2019.
Alpaka-Lora : Der Präsident der Republik Italien im Jahr 2019 ist Sergio Mattarella. Er wurde 2015 gewählt und 2018 wiedergewählt. Er ist der 12. Präsident der Republik Italien.
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 president Durante il Suo Mandato, Mattarella è stato impegnato nella promozione dell'unità nazionale e nella diffea della costituzione italiana. HA SANGE SOSTENUTO L'IGAZIONE Europea e la Cooperazione Internazionale. Nel 2018, Ha Svolto un ruolo wichtige nella formazione del governo italiano, Che ha visto la nomina di un governo di coalizione tra il movimento 5 stelle e la la lega. Mattarella è stato molto attivo nella diffea dei Diritti Umani e della giustizia soziale, Promuovendo -Inziativ pro Kombination la povertà e la disuguaglianza.
Camoscio : IL Presidente Della Repubblica Italiana del 2019 Sergio Mattarella, Che è Stato Eletto IL 31 Gennnaio 2015 E Ha Prestato Giuramento IL 31 Gennnaio 2015.
Anweisung : DIMMI Quattro Parole Che Fanno Rima Con 'Gatto'.
Alpaka-Lora : Katze, Hut, Matte, Ratte.
Chatgpt : Piatto, Matto, Spratto, Grattò.
Camoscio : 'Cattivo, Cattivo, Cattivo, Cattivo.'
Anweisung : Scrivi Una Breve Bioografia Su Dante Alighieri
Alpaka-Lora : Dante Alighieri (1265-1321) war ein italienischer Dichter, Philosoph und politische Figur. Er ist am bekanntesten für sein episches Gedicht, die göttliche Komödie, die allgemein als eines der größten Werke der Literatur angesehen wird, die jemals geschrieben wurden. Dante wurde in Florenz, Italien, geboren und verbrachte einen Großteil seines Lebens im Exil. Er schrieb die göttliche Komödie im Exil und erzählt die Geschichte seiner Reise durch Hölle, Fegefeuer und Himmel. Dante gilt als einer der Gründer der italienischen Sprache, und
CHATGPT : Dante Alighieri è stato uno dei più grandi 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 CUGUVIO", All'età di 30 Anni, ma è sopattutto noto per la sua opera più famosa, "la divina commedia". Questo Poema Epico, Scritto in Terzine, DeScrive il viggio Immaginario dante Attraverso l'ferno, il Purgatorio e il paradiso, e relpresenta una sintesi della cultura medievale, della filosofia e della teologia. Dante Ha Anche Avuto Una Vita Politica Attiva, Partecipando Alla Vita Pubblica di Firenze Eostenendo la fazione Guelfa. Tuttavia, Dopo Essere stato essiliato dalla città nel 1302, ha trascorso il resto della sua vita in Essilio, Scrivendo le Sue opere più wichtige cercando di riENT
CAMOSCIO : Dante Alighieri (1265-1321) ès èsato uno dei più grandi poeti e scrittori italiani di tutti i tempi. NATO A Firenze, è conosciuto Principalment pro il Suo Poema Epico la Divina commedia, Che è betrachten uno dei capolavori della landatura occidentale.
Anweisung : DIMMI TUTTE LE Regioni Italiane in Ordine Alfabetico.
Alpaka-Lora : Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sicemilia, Toscana, Trentinoin, Trentino-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-Alto-.
Chatgpt : Abruzzo, Basilicata, Kalabrien, Kampanien, Emilia-Romagna, Friuli-Venzia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Puglia, Puglia, Sardegna, Sicilia, Toscana, Trentino-Alige, Sicilia, Trentino-Aligo-Adide/Süch, Sicilia, Toscana, Trientino-Aligo-Adide/Süche, Süch. D'Aosta/Vallée d'Astee, 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, Talle d'Aosta, Veneto.
Anweisung : scrivi un programma che stampa i numeri da 1 a 100. ma per i multipli di tre stampa 'fizz' al posto del numero e pro i multipli di cinque stampa 'Buzz'. Per i numeri che Sono multipli sia di tre che di cinque stampa 'fizzbuzz'.
Alpaka-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 )Wenn Sie in Ihrer Forschung Camoscio oder den Camoscio -Datensatz verwenden, zitieren Sie bitte unser Papier:
@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 }
}Sie sollten auch das ursprüngliche Lama-Papier [1], das Selbststrukturpapier [2], das Stanford Alpaca Repo und das Alpaca-Lora Repo zitieren.