إنتقل إلى المحتوى الرئيسي

موارد تحسين LLM

مجموعة مختارة من الدفاتر، والمجموعات البيانية، والأوراق، والأدوات، والمجتمعات لتحسين LLM.


📓 دفاتر الدورة الرسمية​

دفاتر خاصة بالوحدات​

الوحدةالدفترالوصف
الوحدة 4تدريب LoRAتحسين LoRA الأساسي باستخدام PEFT
الوحدة 5تدريب QLoRAتدريب 4 بت مكمي
الوحدة 6إعداد البياناتخطوط تنسيق المجموعات البيانية
الوحدة 7SFTTrainerسير عمل التدريب الكامل
الوحدة 8تدريب DPOتحسين التفضيلات
الوحدة 10النشرتصدير النموذج وتقديمه

🤗 موارد Hugging Face​

المكتبات الأساسية​

المكتبةالغرضالتثبيت
transformersتحميل النماذج والاستدلالpip install transformers
peftتحسين المعلمات بكفاءةpip install peft
trlالتدريب باستخدام RL و SFTpip install trl
datasetsتحميل ومعالجة المجموعات البيانيةpip install datasets
accelerateالتدريب الموزعpip install accelerate
bitsandbytesالتكميمpip install bitsandbytes

النماذج الأساسية الموصى بها​

النموذجالمعلماتحالة الاستخدامرابط HF
Llama-3.18B/70Bللأغراض العامةmeta-llama/Llama-3.1-8B
Mistral7Bأداء فعالmistralai/Mistral-7B-v0.3
Qwen2.50.5B-72Bمتعدد اللغاتQwen/Qwen2.5-7B
Phi-33.8Bصغير ولكنه قادرmicrosoft/Phi-3-mini-4k-instruct
Gemma 22B/9B/27Bنموذج مفتوح من جوجلgoogle/gemma-2-9b

📊 مجموعات التدريب​

مجموعات ضبط التعليمات​

المجموعةالحجمالتنسيقحالة الاستخدام
databricks/dolly-15k15KAlpacaتعليمات عامة
OpenAssistant/oasst1161Kمحادثاتنماذج الدردشة
teknium/OpenHermes-2.51M+ShareGPTجودة عالية
HuggingFaceH4/ultrachat_200k200Kمحادثاتدردشة
meta-math/MetaMathQA395Kرياضياتاستدلال رياضي

مجموعات التفضيلات/DPO​

المجموعةالأزواجحالة الاستخدام
Anthropic/hh-rlhf170Kالمساعدة وعدم الإيذاء
argilla/ultrafeedback-binarized60Kتفضيلات عامة
Intel/orca_dpo_pairs12Kتدريب DPO

مجموعات الشيفرة​

المجموعةالحجماللغات
codeparrot/github-codeكبيرمتعددة
sahil2801/CodeAlpaca-20k20Kمتعددة
iamtarun/python_code_instructions_18k18Kبايثون

📚 أوراق البحث​

الأوراق الأساسية​

الورقةالسنةالمساهمة الرئيسية
LoRA: Low-Rank Adaptation2021قدمت طريقة LoRA
QLoRA: Efficient Finetuning2023LoRA مكمي 4 بت
Prefix-Tuning2021مطالبات مستمرة
P-Tuning v22021ضبط المطالبات العميق
AdaLoRA2023تخصيص الرتبة التكيفي

أوراق المحاذاة​

الورقةالسنةالمساهمة الرئيسية
DPO: Direct Preference Optimization2023تبسيط RLHF
ORPO: Monolithic Preference Optimization2024دمج SFT+المحاذاة
Constitutional AI2022المحاذاة القائمة على المبادئ
RLHF Training at Scale2022ورقة InstructGPT

أوراق دمج النماذج​

الورقةالسنةالطريقة
TIES-Merging2023حل النزاعات
DARE2023الإسقاط وإعادة التدرج
Model Soups2022متوسط الأوزان

🛠️ الأدوات والأطر​

أدوات التدريب​

الأداةالغرضالرابط
AxolotlCLI لتحسين سهلOpenAccess-AI-Collective/axolotl
LLaMA-Factoryإطار تحسين موحدhiyouga/LLaMA-Factory
Unslothتحسين أسرع مرتينunslothai/unsloth
MLXتدريب على Apple Siliconml-explore/mlx

الاستدلال والنشر​

الأداةالغرضالرابط
vLLMتقديم عالي الإنتاجيةvllm-project/vllm
Text Generation Inferenceتقديم HuggingFacehuggingface/text-generation-inference
llama.cppاستدلال CPUggerganov/llama.cpp
Ollamaتشغيل النموذج المحليollama/ollama

دمج النماذج​

الأداةالغرض
mergekitأدوات دمج النماذج
LazyMergeKitدفتر Colab للدمج

تتبع التجارب​

الأداةالغرض
Weights & Biasesتتبع التجارب
MLflowدورة حياة ML
TensorBoardتصور التدريب

☁️ موارد الحوسبة​

مزودو GPU السحابية​

المزودالأفضل لـنموذج التسعير
Google Colabالتعلم، التجارب الصغيرةطبقة مجانية + Pro
Lambda Labsالوصول إلى A100/H100لكل ساعة
RunPodتأجير GPU مرنلكل ساعة
Vast.aiالوصول إلى GPU بميزانيةسوق
AWS SageMakerالشركاتلكل مثيل

متطلبات ذاكرة GPU​

حجم النموذجFT كاملQLoRALoRA
7B~28GB~6GB~14GB
13B~52GB~10GB~26GB
70B~280GB~48GB~140GB

🌐 المجتمعات​

خوادم Discord​

المنتديات والمناقشات​

المدونات والنشرات الإخبارية​


📖 الكتب والدورات​

الكتب الموصى بها​

الكتابالمؤلفالتركيز
معالجة اللغة الطبيعية باستخدام TransformersTunstall, von Werra, WolfNLP عملي مع HF
بناء نموذج لغة كبير (من الصفر)Sebastian Raschkaأساسيات LLM

الدورات عبر الإنترنت​

الدورةالمنصةالتركيز
دورة NLP من Hugging FaceHFTransformers و NLP
معسكر تدريب LLM الكاملFSDLLLMs الإنتاجية
Fast.aiFast.aiالتعلم العميق

🧪 المعايير والتقييم​

لوحات الصدارة LLM​

أدوات التقييم​

الأداةالغرض
lm-evaluation-harnessمعايير شاملة
HELMتقييم شامل
MT-Benchمحادثات متعددة الأدوار

💡 قوالب البدء السريع​

تدريب QLoRA الأساسي​

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import LoraConfig, get_peft_model, prepare_model_for_kbit_training
from trl import SFTTrainer

# 4-bit quantization config
bnb_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4",
bnb_4bit_compute_dtype=torch.bfloat16,
)

# Load model
model = AutoModelForCausalLM.from_pretrained(
"meta-llama/Llama-3.1-8B",
quantization_config=bnb_config,
)

# LoRA config
lora_config = LoraConfig(
r=16,
lora_alpha=32,
target_modules=["q_proj", "v_proj"],
lora_dropout=0.05,
task_type="CAUSAL_LM",
)

# Prepare and train
model = prepare_model_for_kbit_training(model)
model = get_peft_model(model, lora_config)

trainer = SFTTrainer(
model=model,
train_dataset=dataset,
# ... training args
)
trainer.train()

العودة إلى الصفحة الرئيسية للدورة