Этот репозиторий содержит код для Camoscio, итальянской инструкции, настроенной на ламу, основанную на Стэнфордской альпаке и обученную с низкой адаптацией (Lora). Сопутствующая статья этого репо доступна на следующем URL.
Часть кода в репо основана на альпака-лора и Кабрите. Следуя этим предыдущим подходам, мы перевели набор данных настройки инструкции в Стэнфорде Alpaca на итальянский язык с использованием API CHATGPT. Мы предоставляем переведенный набор данных ( camoscio_data.json - теперь также на наборах данных об объятиях лица), модель (доступная на концентраторе обнимающего лица) и код для воспроизведения результатов.
Модель обеспечивает характеристики с нулевым выстрелом, сравнимую с существующими обученными моделями для итальянцев (см. Наша статья для оценки) и может работать на Raspberry Pi (для исследований).
Чтобы определить модель в итальянском наборе данных, мы адаптировали сценарии из Cabrita и проводим обучение на один 3090 за 1 день (см. Подробности ниже).
Обратите внимание, что вполне возможно, что выход модели содержит смещенное, заговорщичное, оскорбительное или иное неуместное и потенциально вредное содержание. Модель предназначена только для исследовательских целей и должна использоваться с осторожностью на ваш собственный риск. Использование производства не разрешено.
[1] Лама: открытые и эффективные основополагающие языковые модели. Хьюго Тувророн, Тибо Лаврил, Готье Изакард, Ксавье Мартинет, Мари-Энн Лахау, Тимот-Лакруа, Баптист Розьер, Наман Гоял, Эрик Хамбру, Файсал Ажар, Аурелен Родригес, Арманд Джулин, Эдуард Грейв, Гуиллу, Аурелиен Родригес, Арманд Джулин, Эдуард Грейв. https://arxiv.org/abs/2302.13971v1
[2] Самоубийство: выравнивающая языковая модель с самого сгенерированными инструкциями. Йижонг Ван, Йегане Корди, Сваруп Мишра, Алиса Лю, Ноа А. Смит, Даниэль Хашаби, Ханнане Хаджисирзи. 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 в этом репо, чтобы объединить исходные веса ламы с весами Camoscio Lora (контрольная точка Llama + Camoscio Lora Checkpoints = Camoscio). Модель, полученная с помощью этой процедуры, представляет собой окончательную модель Camoscio, которая эквивалентна модели Llama, адаптированной для итальянской (такую же архитектуру и количество параметров) и может использоваться для создания задачи в нижнем потоке.
Чтобы использовать скрипт, просто запустите команду python scripts/checkpoint_exporter.py
Оформление также сценарий export_hf_checkpoint.py из исходного репокса Alpaca-Lora для экспорта контрольной точки в формат HuggingFace или Script export_state_dict_checkpoint.py для экспорта контрольной точки в формат Pytorch.
Если вы ищете быстрый и эффективный вывод, взгляните на такие проекты, как Llama.cpp или Alpaca.cpp.
Учебное пособие: Если вы ищете подробное объяснение того, как настройка обучения LM на выполнении задачи, ознакомьтесь с этим учебником по адресу CLIC-IT 2023 от @CRUX82 и @Basteran.
Чтобы 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.
Результаты на наборах данных оценки доступны в статье.
Мы предоставляем все результаты в наборах данных оценки (газеты, отряда, xformal it) в папке eval/results .
Эти результаты получаются путем запуска сценария eval/eval.sh . Окончательные оценки, включенные в статью, получены через ноутбук compute_eval_scores.ipynb
Инструкция : Riassumi La Storia di Pinocchio.
Альпака-Лора : Однажды была деревянная марионетка по имени Пиноккио, которая мечтала стать настоящим мальчиком. Он был создан лесным каркасом по имени Геппетто, который очень любил его. Пиноккио был озорной марионетой, у которой часто попадали неприятности, но он всегда старался поступить правильно в конце концов. Однажды Пиноккио встретил фею, которая предложила ему возможность стать настоящим мальчиком, если он доказал, что он смелый, правдивый и бескорыстный. Pinocchio принял предложение Fairy и отправилась в серию Advent
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 imprigionato e trasformato in an asino, ma alla fine dimostra il suo coraggio, la sua lealtà e la sua generysità salvando il padre eotendo la sua e la sua generosità salvando il padre eotendo laa e la sua generosità salvando il e otendo laltà e la sua generosità salvando il e ottendo laltà e la sua enerosità salvando.
Camoscio : La Storia di Pinocchio racconta di un bambino di nome pinocchio che vive con i suoi genitori в ООН -Пикколо Вильяджо. Un giorno, pinocchio incontra un burattino mago che gli dona la ospibilità 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. Алла, Pinocchio raggiunge il suo obiettivo e Diventa un Vero Bambino.
Инструкция : Dimmi di Più Sul Presesurne della Repubblica Italiana del 2019.
Альпака-Лора : президентом Италии в 2019 году является Серхио Маттарелла. Он был избран в 2015 году и переизбран в 2018 году. Он является 12-м президентом Республики Италии.
CHATGPT : IL Президент Della Repubblica Italiana del 2019 Era Sergio Mattarella. НАТО A Palermo Nel 1941, Mattarella è Stato Eletto Президент Nel 2015, Succedendo A Giorgio Napolitano. Prima di Diventare Президент, Ha ricoperto, важный Incarichi Politici, Tra Cui Quello di Ministro 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 Watere Nella formazione del Gavino Italiano, Че ха -висто ла -номинальное правительство Di Coalizione Tra Il Movimento 5 Stelle E La Lega. Mattarella è stato molto attivo nella difesa dei diritti umani e della giustizia sociale, продувандоизоознаваемость на Commbatter
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'.
Alpaca-Lora : Cat, Hat, Mat, Rat.
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 medioevo. НАТО A Firenze nel 1265, Ha Studiato nella prestigiosa scuola di santa croce e ha mostrato fin da giovane una una grande perse 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, описание Il Viaggio Immaginario di Dante attraverso l'Inferno, Il purgatorio e il paradiso, Eppresenta 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 в Esilio, Scrivendo Le Sue Opere Più
Camoscio : Dante Alighieri (1265-1321). НАТО A Firenze, è conosciuto Principlemente Per Il suo Poema epico la Divina Commedia, Che è wormato uno dei capolavori della letgatura occidentale.
Инструкция : Dimmi Tutte Le Regioni Italiane в Ордене Alfabetico.
Alpaca-Lora : Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia giulia, Lazio, Liguria, Lombardia, Marhe, Molise, Piemonte, Puglia, Sardegna, Sicilia, Toscana, Trentino-Adige, umbrium, 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, Венето.
Camoscio : Le Regioni Italiane в ордере Alfabetico Sono: Abruzzo, Basilicata, Calabria, Campania, Emilia-Romagna, Friuli-Venezia giulia, Lazio, Liguria, Lombardia, Marche, Molise, Piemonte, Puglia, Sardegna, Soscana-altiino-altiino-leganino-leganino- toscana-leganino- toscana-leganino- toscana-altio- toscana-leganin-legan-toscana-ale Умбрия, Валле Д'Аоста, Венето.
Инструкция : Scrivi un Programma Che Chem 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'. В соответствии с 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], репо Стэнфорд Алпака и репо альпака-лора.