Мы разработали Flacuna от точной настройки Vicuna-13b в коллекции Flan. Flacuna лучше, чем Vicuna в решении проблем. Доступ к модели здесь https://huggingface.co/declare-lab/flacuna-13b-v1.0.
FLAN-T5 также полезен в поколении текста в Аулио. Найдите нашу работу в https://github.com/declare-lab/tango, если вы заинтересованы.
Этот репозиторий содержит код для расширения настройки синтетических инструкций в Стэнфорде альпака на существующие модели, настроенные на инструкции, такие как Flan-T5. У нас есть живая интерактивная демонстрация благодаря Джоао Ганте! Мы также сравниваем многие модели, настроенные на инструкции в Declarate-Lab/Flan-Eval. Наши предварительные модели полностью доступны на Huggingface? :
| Модель | Параметры | Данные инструкции | Обучение графических процессоров |
|---|---|---|---|
| Флан-альпака-база | 220 м | Флан, Альпака | 1x A6000 |
| Флан-альпака-широкий | 770 м | Флан, Альпака | 1x A6000 |
| Flan-Alpaca-xl | 3B | Флан, Альпака | 1x A6000 |
| Flan-Alpaca-xxl | 11b | Флан, Альпака | 4x A6000 (FSDP) |
| Flan-gpt4all-xl | 3B | ФЛАН, GPT4ALL | 1x A6000 |
| Flan-Sharegpt-xl | 3B | Флан, ShareGPT/Vicuna | 1x A6000 |
| Flan-alpaca-gpt4-xl* | 3B | ФЛАН, GPT4-ALPACA | 1x A6000 |
*Рекомендуется для лучшей производительности
Alpaca представляет собой захватывающее новое направление для приближения к производительности крупных языковых моделей (LLM), таких как дешево и легко. Конкретно, они используют LLM, такой как GPT-3, чтобы генерировать инструкции в качестве синтетических данных обучения. Синтетические данные, которые охватывают более 50 тысяч задач, могут затем использоваться для определения меньшей модели. Тем не менее, первоначальная реализация менее доступна из -за ограничений лицензирования базовой модели Llama. Кроме того, пользователи отмечают потенциальный шум в синтетическом наборе данных. Следовательно, может быть лучше изучить полностью доступную модель, которая уже обучена высококачественным (но менее разнообразным) инструкциям, таким как Flan-T5.
from transformers import pipeline
prompt = "Write an email about an alpaca that likes flan"
model = pipeline(model="declare-lab/flan-alpaca-gpt4-xl")
model(prompt, max_length=128, do_sample=True)
# Dear AlpacaFriend,
# My name is Alpaca and I'm 10 years old.
# I'm excited to announce that I'm a big fan of flan!
# We like to eat it as a snack and I believe that it can help with our overall growth.
# I'd love to hear your feedback on this idea.
# Have a great day!
# Best, AL Paca
Установите зависимости и загрузку данных. Мы использовали очищенные данные из Alpaca-Lora для обучения.
conda create -n paca python=3.8 -y
conda activate paca
pip install -r requirements.txt
mkdir -p data
wget https://github.com/declare-lab/flan-alpaca/releases/download/v0.1.0/alpaca_data.json -O data/alpaca.json
wget https://github.com/declare-lab/flan-alpaca/releases/download/v0.1.0/alpaca_data_cleaned.json -O data/alpaca_clean.json
wget https://github.com/declare-lab/flan-alpaca/releases/download/v0.1.0/alpaca_gpt4_data.json -O data/alpaca_gpt4.json
Набор данных по обучению Alpaca Cleansed Alpaca:
python data_loading.py preprocess_alpaca
--path_in data/alpaca_gpt4.json
--path_out data/train.json
Если вы хотите использовать данные gpt4all, вы можете использовать эту команду:
python data_loading.py preprocess_gpt4all --path_out data/train.json
Если вы хотите использовать данные ShareGPT, вы можете использовать эту команду:
wget https://github.com/declare-lab/flan-alpaca/releases/download/v0.1.0/ShareGPT_unfiltered_cleaned_split.json -O data/sharegpt.json
python data_loading.py preprocess_sharegpt --path_out data/train.json
Следующая команда будет определять Flan-T5-XL (8 часов на одном графическом процессоре A6000).
python training.py --output_dir outputs/model/xl
--use_compile
--train_epochs 3
--max_source_length 64
--max_target_length 512
--data_path data/train.json
--model_name_or_path "google/flan-t5-xl"
--train_batch_size 1
--gradient_accumulation_steps 64
Если модель не вписывается в память, и у вас есть несколько графических процессоров, вы можете попробовать полностью наборы данных параллельно, заменив- --use_compile на --use_fsdp .
python inference.py test_model
--path "outputs/model/xl/epoch=2-step=2439.ckpt"
--prompt "Write an email about an alpaca that likes flan"
Замените declare-lab/flan-alpaca-xl на желаемое репо.
huggingface-cli login
python inference.py export_to_hub
--path "outputs/model/xl/epoch=2-step=2439.ckpt"
--repo declare-lab/flan-alpaca-xl