قمنا بتطوير 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. لدينا عرض تفاعلي مباشر بفضل Joao Gante! نحن أيضًا نقوم بتقييم العديد من النماذج التي تم ضبطها في التعليمات في DECLARE-LAB/FLAN-EVAL. نماذجنا المسبقة متوفرة بالكامل على Luggingface؟ :
| نموذج | حدود | بيانات التعليمات | تدريب وحدات معالجة الرسومات |
|---|---|---|---|
| flan-alpaca-base | 220 م | فلان ، الألبكة | 1x A6000 |
| flan-alpaca-large | 770 م | فلان ، الألبكة | 1x A6000 |
| flan-alpaca-xl | 3 ب | فلان ، الألبكة | 1x A6000 |
| Flan-alpaca-xxl | 11 ب | فلان ، الألبكة | 4x A6000 (FSDP) |
| flan-gpt4all-xl | 3 ب | فلان ، gpt4all | 1x A6000 |
| flan-sharegpt-xl | 3 ب | flan ، sharegpt/vicuna | 1x A6000 |
| flan-alpaca-gpt4-xl* | 3 ب | Flan ، GPT4-Alpaca | 1x A6000 |
*موصى به لتحسين الأداء
يمثل الألباكا اتجاهًا جديدًا مثيرًا لتقريب أداء نماذج اللغة الكبيرة (LLMS) مثل ChatGPT بثمن بخس وسهولة. بشكل ملموس ، يقومون بالاستفادة من 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
مجموعة بيانات تدريب الألبكة التي تم تنظيفها قبل المعالجة:
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 باستخدام repo luggingface المطلوب.
huggingface-cli login
python inference.py export_to_hub
--path "outputs/model/xl/epoch=2-step=2439.ckpt"
--repo declare-lab/flan-alpaca-xl