Kami mengembangkan Flacuna dengan menyempurnakan Vicuna-13b pada koleksi Flan. Flacuna lebih baik daripada Vicuna dalam pemecahan masalah. Akses model di sini https://huggingface.co/declare-lab/flacuna-13b-v1.0.
Flan-T5 juga berguna dalam pembuatan teks-ke-audio. Temukan pekerjaan kami di https://github.com/declare-lab/tango jika Anda tertarik.
Repositori ini berisi kode untuk memperluas penyetelan instruksi sintetis Stanford Alpaca ke model yang disesuaikan dengan instruksi seperti Flan-T5. Kami memiliki demo interaktif langsung berkat Joao Gante! Kami juga membandingkan banyak model yang disesuaikan dengan instruksi di Declare-Lab/Flan-Eval. Model pretrained kami sepenuhnya tersedia di Huggingface? :
| Model | Parameter | Data instruksi | Pelatihan GPU |
|---|---|---|---|
| Flan-alpaca-base | 220m | Flan, Alpaca | 1x A6000 |
| Flan-Alpaca-Large | 770m | Flan, Alpaca | 1x A6000 |
| Flan-alpaca-xl | 3b | Flan, Alpaca | 1x A6000 |
| FLAN-ALPACA-XXL | 11b | Flan, Alpaca | 4x A6000 (FSDP) |
| Flan-GPT4ALL-XL | 3b | Flan, Gpt4all | 1x A6000 |
| Flan-sharegpt-xl | 3b | Flan, Sharegpt/Vicuna | 1x A6000 |
| Flan-alpaca-gpt4-xl* | 3b | Flan, GPT4-ALPACA | 1x A6000 |
*Direkomendasikan untuk kinerja yang lebih baik
Alpaca mewakili arah baru yang menarik untuk memperkirakan kinerja model bahasa besar (LLM) seperti chatgpt dengan murah dan mudah. Secara konkret, mereka memanfaatkan LLM seperti GPT-3 untuk menghasilkan instruksi sebagai data pelatihan sintetis. Data sintetis yang mencakup lebih dari 50 ribu tugas kemudian dapat digunakan untuk memperbaiki model yang lebih kecil. Namun, implementasi asli kurang dapat diakses karena kendala lisensi dari model LLAMA yang mendasarinya. Selain itu, pengguna telah mencatat kebisingan potensial dalam dataset sintetis. Oleh karena itu, mungkin lebih baik untuk mengeksplorasi model yang sepenuhnya dapat diakses yang sudah dilatih pada instruksi berkualitas tinggi (tetapi kurang beragam) seperti 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
Instal dependensi dan unduh data. Kami menggunakan data yang dibersihkan dari Alpaca-Lora untuk pelatihan.
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
Dataset Pelatihan Alpaca yang Dibersihkan Preprocess:
python data_loading.py preprocess_alpaca
--path_in data/alpaca_gpt4.json
--path_out data/train.json
Jika Anda ingin menggunakan data GPT4ALL, Anda dapat menggunakan perintah ini:
python data_loading.py preprocess_gpt4all --path_out data/train.json
Jika Anda ingin menggunakan data Sharegpt, Anda dapat menggunakan perintah ini:
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
Perintah berikut akan finetune flan-t5-xl (8 jam pada satu GPU 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
Jika model tidak masuk ke dalam memori, dan Anda memiliki beberapa GPU, Anda dapat mencoba data yang sepenuhnya dibawa sejajar dengan mengganti --use_compile dengan --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"
Ganti declare-lab/flan-alpaca-xl dengan Repo Huggingface yang Anda inginkan.
huggingface-cli login
python inference.py export_to_hub
--path "outputs/model/xl/epoch=2-step=2439.ckpt"
--repo declare-lab/flan-alpaca-xl