اتکای صرف به مدلهای عمومی و APIهای تجاری، هزینههای استنتاج را بالا میبرد و پاسخگوی نیازهای سازمانی روی دامنههای تخصصی نیست. تیمهای حرفهای هوش مصنوعی مدلهای متنباز ردهی 8B تا 14B را بر پایهی دادههای اختصاصی خود بازآموزی و بهینهسازی میکنند تا به دقت بالاتر، زمان پاسخدهی کمتر و استقلال زیرساختی دست پیدا کنند.
در این پروژهی نهایی، یک پایپلاین خودکار و بازتولیدپذیر پیادهسازی میکنید که از پالایش داده و SFT آغاز میشود، با ترازسازی ترجیحات از طریق DPO یا GRPO ادامه مییابد و پس از فشردهسازی با کوانتیزهسازی، با vLLM و الگوریتم دیکودینگ حدسی EAGLE-3 به مرحلهی سرو عملیاتی میرسد.
اجرای مراحل سنگین آموزش تمامعیار روی چند کارت گرافیک H100 نیازمند زیرساخت اختصاصی است، اما از آنجا که تهیه و اجارهی GPUهای ابری قدرتمند خارجی برای توسعهدهندگان ایرانی دشوار و پرهزینه است، در این پروژه از روشهای سبکسازی، تکرار سریع تککارت با Unsloth و کوانتیزهسازی استفاده شده تا بخش بزرگی از فرایند با حداقل منابع در دسترس و بهینه پیش برود.
مدلی در ردهی 8B که روی دادههای اختصاصی خودتان آموزش دیده، با DPO بر اساس ترجیحات شما همراستا شده، کوانتیزهسازی روی آن انجام گرفته، از دیکودینگ حدسی (Speculative Decoding) بهره میبرد و با هزینهی مشخص و قابل اندازهگیری (دلار بهازای هر 1M توکن) سرو میشود. استک متنباز سال 2026 شامل Axolotl v0.8، TRL 0.15، Unsloth برای تکرار سریع، GPTQ/AWQ/GGUF برای کوانتیزهسازی، و vLLM 0.7 بههمراه EAGLE-3 برای سرو مدل است. پروژهی نهایی این است که کل پایپلاین را بهصورت بازتولیدپذیر اجرا کنید (ورودی: فایل YAML، خروجی: اندپوینت آمادهی سرو) و یک کارت مدل (Model Card) تحت چارچوب Model Openness Framework سال 2026 منتشر کنید.
فازهای تمرینشده: P2 · P3 · P7 · P10 · P11 · P17 · P18
زمان: 35 ساعت
مسئله
در سال 2026، هر تیم هوش مصنوعی جدی یک پایپلاین فاینتیونینگ آمادهبهکار در چنته دارد. دلیلش این نیست که میخواهند یک مدل پایهی پیشرو عرضه کنند، بلکه به این خاطر است که دستاوردهای واقعی و ملموس در سازگاری پاییندستی نهفته است: SFT روی دامنهی تخصصی، DPO بر اساس جفت ترجیحات برچسبخورده، پیشنویسهای تقطیرشده برای دیکودینگ حدسی، و سرو با EAGLE-3. ابزار Axolotl v0.8 کانفیگهای چند GPU برای SFT را مدیریت میکند. ابزار TRL 0.15 از پس DPO و GRPO برمیآید. با Unsloth چرخهی تکرار سریعی روی یک GPU خواهید داشت. ترکیب vLLM 0.7 با EAGLE-3 نیز نرخ پردازش رمزگشایی (Decode) را بدون افت کیفیت 2 تا 3 برابر افزایش میدهد. ابزارها آمادهاند؛ هنر کار در نوشتن YAMLها، رعایت بهداشت داده و سختگیری در ارزیابی است.
شما یک مدل پایهی 8B تا 14B (مانند Llama 3.1 8B، Qwen3 14B یا Gemma 3 12B) را ابتدا با SFT و سپس با DPO روی دادههای مختص وظیفه آموزش میدهید، آن را برای سرو کردن کوانتیزه میکنید، و بهبودهای حاصلشده را در برابر lm-evaluation-harness، RewardBench-2، MT-Bench-v2 و MMLU-Pro میسنجید. در نهایت یک کارت مدل تحت چارچوب Model Openness Framework سال 2026 تولید خواهید کرد. هدف اصلی بازتولیدپذیری است: اجرای کل پایپلاین از ابتدا تا انتها تنها با یک دستور.
مفاهیم پایه
این پایپلاین پنج مرحله دارد. داده: حذف دادههای تکراری (MinHash / Datatrove)، فیلتر کیفیت (طبقهبندیکنندهای به سبک Nemotron-CC)، پاکسازی اطلاعات هویتی حساس (PII)، و بررسی سلامت تفکیک دادهها در برابر آلودگی به بنچمارکهای عمومی. SFT: کانفیگ YAML در Axolotl، شتابدهندهی ZeRO-3 روی 8xH100، برنامهی زمانبندی کسینوسی، بستهبندی دنبالهها (Sequence Packing)، و 2 تا 3 اپوک آموزش. DPO یا GRPO: کانفیگ TRL، یک اپوک، جفت ترجیحات با برچسبگذاری انسانی یا داوری مدل، و تنظیم بتای بهینه. کوانتیزهسازی: فرمتهای GPTQ + AWQ + GGUF برای انعطافپذیری در استقرار. سرو مدل: ابزار vLLM 0.7 با سرهای دیکودینگ حدسی EAGLE-3 (یا SGLang همراه با SpecForge)، دیپلوی روی کوبرنتیز (K8s)، و تنظیم HPA بر اساس زمان انتظار در صف.
آزمونهای مقایسهای سیستماتیک (Ablations) خروجی اصلی پروژه هستند: مقایسهی SFT-only در برابر SFT+DPO در برابر SFT+GRPO روی سه بنچمارک مختص وظیفه. معیارهای سرو مدل: توکن بر ثانیه در اندازهی دستههای 1، 8 و 32، نرخ پذیرش EAGLE-3، و دلار بهازای هر 1M توکن. ارزیابی ایمنی: نرخ قبولی در Llama Guard 4. کارت مدل شامل: ارزیابی سوگیریها، مقادیر اولیه (seeds) بازتولیدپذیری، و مجوزهای قانونی استفاده از دادهها.
معماری
raw data (HF datasets + internal)
|
v
Datatrove dedup + Nemotron-CC quality filter + PII scrub
|
v
split hygiene (MMLU-Pro contamination check)
|
v
Axolotl SFT config (YAML) ---> 8xH100, ZeRO-3
|
v
TRL DPO / GRPO config ---> 4xH100, 1 epoch
|
v
GPTQ + AWQ + GGUF quantize
|
v
vLLM 0.7 + EAGLE-3 speculative decoding
|
v
K8s deployment, HPA on queue-wait
|
v
lm-eval-harness + RewardBench-2 + MT-Bench-v2 + MMLU-Pro
|
v
model card (2026 MOF) + safety eval (Llama Guard 4)
استک
- داده: Datatrove برای حذف دادههای تکراری، طبقهبندیکنندهی Nemotron-CC برای کیفیت، Presidio برای پاکسازی PII
- مدل پایه: Llama 3.1 8B، Qwen3 14B، یا Gemma 3 12B
- مرحلهی SFT: ابزار Axolotl v0.8 بههمراه ZeRO-3، فلش اتنشن 3، و بستهبندی دنبالهها
- بهینهسازی بر اساس ترجیحات: TRL 0.15 برای DPO یا GRPO؛ Unsloth برای تکرار سریع روی یک GPU
- کوانتیزهسازی: GPTQ (Marlin)، AWQ، و GGUF از طریق llama.cpp
- سرو مدل: vLLM 0.7 با دیکودینگ حدسی EAGLE-3 (یا SGLang 0.4 همراه با SpecForge)
- ارزیابی: lm-evaluation-harness، RewardBench-2، MT-Bench-v2، MMLU-Pro
- ارزیابی ایمنی: Llama Guard 4، ShieldGemma-2
- زیرساخت: Kubernetes بههمراه پلاگین دیوایسهای NVIDIA، مقیاسپذیری خودکار (HPA) بر اساس متریک زمان انتظار در صف
- مشاهدهپذیری: W&B برای آموزش، Langfuse برای استنتاج
مراحل ساخت
-
پایپلاین داده. حذف تکرار با Datatrove روی پیکرهی خام. اعمال طبقهبندیکنندهی کیفیت به سبک Nemotron-CC. پاکسازی PII با Presidio. ذخیرهی بخشهای train/val با seed کاملاً مشخص و صریح.
-
بررسی نشت و آلودگی دادهها. برای تکتک بخشهای اعتبارسنجی، شباهت MinHash را با مجموعههای آزمون MMLU-Pro، MT-Bench-v2 و RewardBench-2 بسنجید و هرگونه همپوشانی را حذف کنید.
-
اجرای SFT با Axolotl. آمادهسازی YAML با ZeRO-3، FA3 و بستهبندی دنبالهها. اجرای 2 تا 3 اپوک روی 8xH100. لاگگیری در W&B.
-
اجرای DPO / GRPO با TRL. بردن چکپوینت SFT به مرحلهی بعد، اجرای یک اپوک DPO روی جفت ترجیحات (یا GRPO با پاداش قابل تایید برای ریاضی/کدنویسی). بهینهسازی پارامتر بتا از طریق sweep.
-
کوانتیزهسازی. ساخت سه نسخهی کوانتیزه: GPTQ-INT4-Marlin، AWQ-INT4، و GGUF-Q4_K_M برای llama.cpp. ثبت حجم فایل و نرخ پردازش اسمی هر کدام.
-
سرو با دیکودینگ حدسی. کانفیگ vLLM 0.7 با سرهای پیشنویس EAGLE-3 آموزشدیده از طریق Red Hat Speculators. اندازهگیری نرخ پذیرش و تاخیر دنباله (Tail latency) در بچهای 1، 8 و 32 تایی. گزارش هزینهی دلار بهازای هر 1M توکن در مقایسه با Anthropic / OpenAI روی همان ارزیابی.
-
ماتریس ارزیابی. اجرای lm-eval-harness، RewardBench-2، MT-Bench-v2 و MMLU-Pro روی مدل پایه، حالت SFT-only، حالت SFT+DPO، و حالت SFT+GRPO. ارائهی خروجی در قالب جدول.
-
ارزیابی ایمنی. سنجش نرخ قبولی در Llama Guard 4 روی مجموعهی توسعه (dev set). اعمال فیلتر خروجی با ShieldGemma-2.
-
کارت مدل. استفاده از قالب MOF 2026: بخشهای داده، آموزش، ارزیابی، ایمنی، مجوزها، و بخش بازتولیدپذیری همراه با YAMLها و شناسههای commit در گیت.
نحوه استفاده
$ ./pipeline.sh config/llama3.3-8b-domainX.yaml
[data] 300k deduped, 12k filtered, 280k accepted (seed=7)
[SFT] 3 epochs, 8xH100, 6h12m, val loss 1.42 -> 1.03
[DPO] 1 epoch, beta=0.08, 4xH100, 1h40m
[quant] GPTQ-INT4 4.6 GB, AWQ-INT4 4.8 GB, GGUF-Q4_K_M 5.1 GB
[serve] vLLM 0.7, EAGLE-3 acceptance 0.74, p99 126ms @ bs=8
[eval] MMLU-Pro +3.2, MT-Bench-v2 +0.41, RewardBench-2 +0.08
[card] model-card.md generated under 2026 MOF
تحویل پروژه
فایل outputs/skill-finetuning-pipeline.md ویژگیهای خروجی نهایی را مشخص میکند. یک دستور واحد دادهها را وارد SFT میکند، از DPO عبور میدهد، کوانتیزهسازی را انجام میدهد، مدل را بالا میآورد، آن را ارزیابی میکند و در نهایت کارت مدل و اندپوینت فعال را تحویل میدهد.
| وزن | معیار | نحوهی ارزیابی |
|---|---|---|
| 25 | تفاوت ارزیابی نسبت به مدل پایه | بهبود اندازهگیریشده روی وظایف هدف (MMLU-Pro، MT-Bench-v2، وظایف اختصاصی) |
| 20 | بازتولیدپذیری پایپلاین | اجرای مجدد کل پایپلاین سرتاسر با یک دستور و seedهای کاملاً یکسان |
| 20 | بهداشت داده | نرخ حذف تکرار، پوشش پاکسازی PII، و پاس شدن بررسی آلودگی دادهها |
| 20 | بازدهی مرحلهی سرو | توکن بر ثانیه در بچهای 1/8/32، نرخ پذیرش EAGLE-3، و دلار بهازای هر 1M توکن |
| 15 | کارت مدل + ارزیابی ایمنی | کامل بودن ساختار طبق MOF 2026 + نرخ قبولی در Llama Guard 4 |
| 100 |
تمرینها
-
حالتهای SFT-only، SFT+DPO و SFT+GRPO را روی یک بنچمارک اختصاصی یکسان اجرا کنید. گزارش دهید کدام روش ترجیحی عملکرد بهتری داشته و اختلاف آن چقدر بوده است.
-
مدل پایه را از Llama 3.1 8B به Qwen3 14B تغییر دهید. هزینهی دلار بهازای هر 1M توکن را در کیفیت مشابه مقایسه کنید.
-
نرخ پذیرش EAGLE-3 را روی دادههای دامنهی تخصصی در مقایسه با دادههای عمومی ShareGPT اندازه بگیرید. تفاوت آنها و تاثیری که روی سقف تاخیر (Latency budget) میگذارد را گزارش کنید.
-
بهمیزان 1% آلودگی تزریق کنید (پاسخهای MMLU-Pro را وارد دادههای آموزشی کنید) و ارزیابی را دوباره انجام دهید. جهش غیرواقعی دقت MMLU-Pro را مشاهده کنید. در پایپلاین CI یک گیت بررسی آلودگی بسازید که جلوی این نشت راهحل را بگیرد.
-
روش LoRA SFT را بهعنوان جایگزینی برای فاینتیون کامل اضافه کنید. فاصلهی کیفی را در وضعیتی بسنجید که مصرف حافظه 10 برابر کمتر شده است.
اصطلاحات کلیدی
| اصطلاح | در گفتار رایج | معنای دقیق فنی |
|---|---|---|
| Axolotl | «ابزار آموزش SFT» | فریمورک جامع و مبتنی بر YAML برای SFT، DPO، و تقطیر دانش |
| TRL | «تنظیمکنندهی ترجیحات» | کتابخانهی Hugging Face برای پیادهسازی DPO، GRPO و PPO روی LLMها |
| GRPO | «بهینهسازی سیاست بر حسب گروه» | دستورالعمل RL مدل DeepSeek R1 با پاداشهای قابل راستیآزمایی |
| EAGLE-3 | «پیشنویس دیکودینگ حدسی» | سرهای پیشنویسی که N توکن جلوتر را حدس میزنند؛ vLLM صحت آنها را با مدل هدف تایید میکند |
| MOF | «چارچوب باز بودن مدل» | استاندارد سال 2026 برای ارزیابی و رتبهبندی انتشار مدلها از نظر داده، کد و لایسنس |
| بررسی آلودگی | «بهداشت تفکیک داده» | استفاده از MinHash برای تشخیص نشت دادههای مجموعهی تست به مجموعهی آموزش |
| نرخ پذیرش | «معیار EAGLE / MTP» | نسبتی از توکنهای پیشنویس که توسط مدل هدف تایید و پذیرفته میشوند |
مطالعهی بیشتر
- مستندات Axolotl — فریمورک مرجع برای آموزش SFT و DPO
- مستندات TRL — پیادهسازیهای مرجع برای DPO و GRPO
- Unsloth — ابزار مرجع برای چرخهی تکرار سریع روی یک GPU
- مقالهی DeepSeek R1 (شناسهی arXiv:2501.12948) — متدولوژی GRPO
- مستندات vLLM + EAGLE-3 — استک مرجع سرو مدل
- SGLang SpecForge — گزینهی جایگزین برای آموزش دیکودینگ حدسی
- چارچوب Model Openness Framework (شناسهی arXiv:2403.13784) — استاندارد درجهبندی انتشار مدلهای باز
- lm-evaluation-harness — بستر آزمایشی و استاندارد برای ارزیابی مدلها
