이 저장소에는 Stanford Alpaca를 기반으로하는 이탈리아 교육 조정 라마 인 Camoscio 코드가 포함되어 있으며 저 순위 적응 (LORA)으로 훈련되었습니다. 이 repo의 동반자 용지는 다음 URL에서 제공됩니다.
리포의 코드의 일부는 Alpaca-Lora와 Cabrita를 기반으로합니다. 이러한 이전 접근 방식에 따라 Stanford Alpaca 명령 조정 데이터 세트를 ChatGpt API를 사용하여 이탈리아어로 번역했습니다. 번역 된 데이터 세트 ( camoscio_data.json 이제 포옹 페이스의 데이터 세트), 모델 (Hugging Face의 허브에서 사용할 수 있음) 및 결과를 재현하기위한 코드를 제공합니다.
이 모델은 이탈리아의 기존 훈련 된 모델과 비교할 수있는 제로 샷 성능을 제공하며 (평가를 위해 우리의 논문 참조) Raspberry Pi (연구를 위해)에서 실행할 수 있습니다.
이탈리아 데이터 세트의 모델을 정합하기 위해 Cabrita의 스크립트를 조정하고 1 일 동안 단일 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 Grave, Guillaume Lample. 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
Google Colab에서 노트북을 열고 Gradio에서 데모를 시험해 보려면 위의 "Colab에서 열린"버튼을 클릭하십시오!

여기에서 모델을로드하고 사용하는 방법에 대한 예제 노트를 제공합니다.
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
이 repo에서 스크립트 checkpoint_exporter.py 사용하여 llama의 원래 가중치를 Camoscio Lora Weights (llama checkpoint + camoscio lora checkpoints = camoscio)와 병합 할 수 있습니다. 이 절차로 얻은 모델은 이탈리아어 (동일한 아키텍처 및 매개 변수 수)에 맞는 LLAMA 모델과 동등한 최종 Camoscio 모델이며 다운 스트림 작업에서 미세 조정에 사용할 수 있습니다.
스크립트를 사용하려면 python scripts/checkpoint_exporter.py 명령을 실행합니다.
Checkout은 원래 Alpaca-Lora Repo의 스크립트 export_hf_checkpoint.py 도 Huggingface 형식 또는 Script export_state_dict_checkpoint.py로 내보내기 위해 Pytorch 형식으로 내보내기 위해 Script Export_state_dict_checkpoint.py를 내보내십시오.
빠르고 효율적인 추론을 찾고 있다면 llama.cpp 또는 alpaca.cpp와 같은 프로젝트를 살펴보십시오.
튜토리얼 : 다운 스트림 작업에서 LM을 지시하는 방법에 대한 철저한 설명을 찾고 있다면 CLIC-IT 2023에서 @crux82 및 @basteran의 튜토리얼을 확인하십시오.
이탈리아어로 자신의 작업에 대해 Camoscio를 Finetune으로하려면 scripts 폴더에서 finetune.py 스크립트를 사용할 수 있습니다.
instruction, input, output 의 JSON 여야합니다. 예를 들어 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 ' 다른 질문은 문제를 열거나 트위터에서 저에게 연락하십시오.
평가 데이터 세트의 결과는 논문에서 제공됩니다.
폴더 eval/results 에 평가 데이터 세트 (Newsum-It, Squad-It, Xformal IT)에 대한 모든 결과를 제공합니다.
이 결과는 스크립트 eval/eval.sh 실행하여 얻습니다. 논문에 포함 된 최종 점수는 노트북 compute_eval_scores.ipynb 를 통해 얻습니다.
교육 : Riassumi la Storia di Pinocchio.
Alpaca-Lora : 옛날 옛적에, Pinocchio라는 나무 인형이 진짜 소년이되는 꿈을 꾸었습니다. 그는 그를 매우 사랑하는 Geppetto라는 WoodCarver에 의해 만들어졌습니다. 피노키오는 종종 곤경에 처한 장난스러운 꼭두각시 였지만 결국 결국 옳은 일을하려고 노력했습니다. 어느 날, 피노키오는 요정을 만나서 자신이 용감하고 진실하며 비 이기적인 것으로 판명되면 진짜 소년이 될 수있는 기회를 제공했습니다. 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 darenare 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 gatto e una volpe, viene imprigionato e trasformato in asino, ma alla fine dimostra il suo coraggio, la sua lealtà e la sua generosità salvando il padre e ottenendo la trasformazion in un bambino vero.
Camoscio : la storia di pinocchio racconta di un bambino di pinocchio che vive con i suoi genitori in un piccolo villaggio. Un Giorno, Pinocchio incontra unburattino magico che gli dona la possibilità di vero bambino. 피노키오 이니 시아 una serie di avventure mentre cerca di inventare un vero bambino. DURANTE IL SUO VAIGGIO, PINOCCHIO FA AMICIZIA CON MOLTI PERLIGGI E IMPARA MOLTE LEZIONI DI VITA. Alla Fine, Pinocchio Raggiunge Il Suo Obiettivo e DAINTA UN VERO BAMBINO.
교육 : Dimmi di Più Sul 대통령 Della Repubblica Italiana del 2019.
Alpaca-Lora : 2019 년 이탈리아 공화국 회장은 Sergio Mattarella입니다. 그는 2015 년에 선출되어 2018 년에 재선되었습니다. 그는 이탈리아 공화국의 12 번째 대통령입니다.
Chatgpt : IL 대통령 Della Repubblica Italiana del 2019 Era Sergio Mattarella. NATO A PALERMO NEL 1941, Mattarella è stato eletto 대통령 NEL 2015, Giorgio Napolitano의 성공. Prima di Dangare Presidente, Ha Ricoperto Incarichi Politici, Tra Cui Quello Di Ministro Della Difesa, Della Pubblica Istruzione e della giustizia. DURANTE IL SUO MONDATO, 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 중요한 Nella Formazione del Governo Italiano, Che ha visto la nomina di un jovolizione tra il movimento 5 Stelle e la Lega. Mattarella è stato molto attivo nella difesa dei diritti umani e della giustizia sociale, promuovendo iniziative per combattere la povertà e la disuguaglianza.
Camoscio : IL 대통령 Della Repubblica Italiana del 2019 è Sergio Mattarella, Che è stato eletto il 31 Gennaio 2015 e ha prestato giuramento il 31 Gennaio 2015.
교육 : Dimmi Quattro 가석방 Che Fanno Rima Con 'Gatto'.
알파카-로라 : 고양이, 모자, 매트, 쥐.
Chatgpt : Piatto, Matto, Spratto, Grattò.
Camoscio : 'Cattivo, Cattivo, Cattivo, Cattivo.'
교육 : Scrivi Una Breve Biografia Su Dante Alighieri
Alpaca-Lora : Dante Alighieri (1265-1321)는 이탈리아 시인, 철학자 및 정치적 인물이었습니다. 그는 서사시 시인 신성한 코미디로 가장 잘 알려져 있으며, 이는 지금까지 쓰여진 가장 위대한 문학 작품 중 하나로 널리 알려져 있습니다. 단테는 이탈리아 피렌체에서 태어 났으며 그의 삶의 대부분을 망명에서 보냈습니다. 그는 망명하는 동안 신성한 코미디를 썼으며, 지옥, 연옥, 하늘을 통한 그의 여정에 대한 이야기를 들려줍니다. 단테는 이탈리아 언어의 창시자 중 하나로 여겨지며
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 ha Mostrato Fin Da Giovane Una Grande Passione Per 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, Terzine의 Scritto, Descrive il viaggio immaginario di dante Attraverso l 'Inferno, Il Purgatorio e il Paradiso, e rapresenta una sintesi della cultura medicivale, della filosofia e della teologia. Dante ha anche avuto 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ù 중요한 Cercando di Rientr
CAMOSCIO : Dante Alighieri (1265-1321) è 고려한 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 lettera occidentale.
교육 : 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-Adige, Umbria, Veneto.
chatgpt : Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sardegna, Sicilia, Toscana, Toscana, Trentino-Alto adige/Südtirol, hüdtirol. D 'Aosta/Vallée d'Aoste, Veneto.
Camoscio : le regioni alfabetico sono의 le regioni italiane : Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia Giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sardegna, Sicilia, Trentine allocana. Valle d 'Aosta, 베네토.
지시 : Scrivi Un Programma Che Stampa I Numeri da 1 A 100. 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 )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 )연구에서 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 }
}또한 원래 라마 논문 [1], 자체 강조 용지 [2], 스탠포드 알파카 리포 및 알파카-로라 레포를 인용해야합니다.