هر پروژه هوش مصنوعی دیر یا زود با این سوال روبهرو میشود: آیا مدل آماده را همانطور که هست اجرا کنیم یا آن را روی دادههای خودمان آموزش تکمیلی دهیم؟ Inference (استنتاج) و Fine-Tuning (تنظیم دقیق) دو کار کاملاً متفاوت با هزینه، سختافزار و نتیجه متفاوت هستند. در این مقاله تفاوت آنها را به زبان ساده توضیح میدهیم، حافظه مورد نیاز هرکدام را حساب میکنیم و میگوییم چه زمانی Fine-Tuning واقعاً لازم است.
فهرست مطالب
Inference و Fine-Tuning چیست؟
Inference یعنی استفاده از یک مدل آموزشدیده برای تولید پاسخ. وقتی به یک چتبات سوال میدهید، مدل فقط «محاسبه رو به جلو» (Forward Pass) انجام میدهد: ورودی از لایهها عبور میکند و توکنهای خروجی یکییکی تولید میشوند. وزنهای مدل در این فرایند تغییر نمیکنند.
Fine-Tuning یعنی ادامه آموزش یک مدل آماده روی دادههای اختصاصی شما، تا رفتار، لحن یا مهارت خاصی را یاد بگیرد. در این فرایند علاوه بر محاسبه رو به جلو، خطا محاسبه میشود، گرادیانها در «محاسبه رو به عقب» (Backward Pass) به دست میآیند و بهینهساز وزنها را بهروز میکند. نتیجه یک مدل جدید است.
به زبان ساده: Inference مثل استفاده از یک کارمند باتجربه است؛ Fine-Tuning مثل گذراندن یک دوره آموزشی تخصصی برای همان کارمند.
جدول مقایسه
| معیار | Inference | Fine-Tuning |
|---|---|---|
| هدف | تولید پاسخ با مدل موجود | تغییر رفتار یا دانش مدل |
| تغییر وزنها | ندارد | دارد |
| محاسبات | فقط Forward Pass | Forward و Backward Pass و بهروزرسانی وزن |
| حافظه | وزنها و KV Cache | وزنها، گرادیانها، وضعیت بهینهساز و Activationها |
| الگوی مصرف | دائمی، بهازای هر درخواست | یکباره یا دورهای، چند ساعت تا چند روز |
| معیار مهم سختافزار | پهنای باند حافظه و ظرفیت VRAM | توان محاسباتی و ظرفیت VRAM |
| نیاز به داده | ندارد | صدها تا هزاران نمونه باکیفیت |
محاسبه حافظه مورد نیاز
حافظه Inference
در دقت FP16 هر پارامتر ۲ بایت حافظه میگیرد. پس وزنهای یک مدل ۸ میلیارد پارامتری حدود ۱۶ گیگابایت هستند. به این عدد باید حافظه KV Cache را اضافه کنید که به طول متن و تعداد کاربران همزمان بستگی دارد. با کوانتایز ۴ بیتی همان مدل در حدود ۵ گیگابایت جا میشود. جزئیات بیشتر در مقاله VRAM مورد نیاز هوش مصنوعی آمده است.
حافظه Fine-Tuning کامل
در Fine-Tuning کامل با بهینهساز Adam و دقت ترکیبی، بهازای هر پارامتر تقریباً این حافظه لازم است:
- وزنها در FP16: ۲ بایت
- گرادیانها: ۲ بایت
- نسخه FP32 وزنها برای بهینهساز: ۴ بایت
- دو وضعیت بهینهساز Adam در FP32: ۸ بایت
یعنی حدود ۱۶ بایت بهازای هر پارامتر، بدون احتساب Activationها. برای مدل ۸ میلیاردی این عدد به حدود ۱۲۸ گیگابایت میرسد؛ هشت برابر حافظه Inference همان مدل. به همین دلیل Fine-Tuning کامل مدلهای بزرگ به چند کارت H100 نیاز دارد.
LoRA و QLoRA؛ Fine-Tuning با سختافزار معقول
روشهای PEFT (تنظیم دقیق با پارامترهای محدود) این مشکل را حل کردهاند:
- LoRA: وزنهای اصلی مدل ثابت میمانند و فقط چند ماتریس کوچک کمکی (معمولاً کمتر از ۱ درصد پارامترها) آموزش داده میشوند. گرادیان و وضعیت بهینهساز فقط برای همین بخش کوچک لازم است.
- QLoRA: همان LoRA است، با این تفاوت که مدل پایه با دقت ۴ بیتی در حافظه بارگذاری میشود. این روش حافظه را باز هم بهشدت کاهش میدهد و کیفیت نتیجه در اغلب کاربردها نزدیک به LoRA است.
| اندازه مدل | Fine-Tuning کامل | LoRA (FP16) | QLoRA (۴ بیتی) |
|---|---|---|---|
| ۸ میلیارد | بیش از ۱۲۰ گیگابایت | حدود ۲۰ تا ۲۴ گیگابایت | حدود ۱۰ تا ۱۲ گیگابایت |
| ۳۲ میلیارد | چند کارت H100 | حدود ۷۰ تا ۸۰ گیگابایت | حدود ۲۴ تا ۳۰ گیگابایت |
| ۷۰ میلیارد | کلاستر چند کارتی | بیش از ۱۴۰ گیگابایت | حدود ۴۵ تا ۵۰ گیگابایت |
اعداد بالا تقریبی هستند و به طول نمونههای آموزشی، Batch Size و تکنیکهایی مانند Gradient Checkpointing بستگی دارند. ابزارهایی مثل Hugging Face PEFT، Unsloth و Axolotl این روشها را آماده پیادهسازی کردهاند. برای آشنایی با اجرای مدلهای Hugging Face روی سرور، مقاله اجرای مدلهای Hugging Face روی GPU Server را ببینید.
چه زمانی Fine-Tuning لازم است؟
Fine-Tuning ابزار قدرتمندی است، اما اغلب اولین راهحل درست نیست. این کار وقتی ارزش دارد که:
- میخواهید مدل قالب یا لحن ثابتی داشته باشد؛ مثلاً خروجی همیشه JSON با ساختار مشخص باشد یا به سبک برند شما بنویسد.
- یک مهارت تخصصی و تکراری دارید؛ مثل دستهبندی تیکتهای پشتیبانی یا استخراج اطلاعات از فرمهای خاص.
- میخواهید با یک مدل کوچکتر و ارزانتر به کیفیت مدل بزرگ در همان کار خاص برسید.
- داده آموزشی باکیفیت و برچسبخورده در اختیار دارید.
اما اگر هدف این است که مدل اطلاعات بهروز شرکت شما (قیمتها، مستندات، قوانین) را بداند، Fine-Tuning معمولاً انتخاب درستی نیست، چون اطلاعات مدام تغییر میکنند و مدل ممکن است جزئیات را اشتباه به خاطر بیاورد.
RAG؛ جایگزین رایج Fine-Tuning
در روش RAG (تولید پاسخ با بازیابی اطلاعات)، اسناد شما در یک پایگاه داده برداری ذخیره میشوند و در هر سوال، بخشهای مرتبط پیدا و همراه سوال به مدل داده میشوند. مدل تغییری نمیکند و فقط Inference انجام میشود. مزیتهای RAG:
- بهروزرسانی دانش فقط با افزودن سند جدید، بدون آموزش مجدد.
- امکان ارجاع به منبع پاسخ.
- هزینه و سختافزار کمتر.
در عمل، بسیاری از پروژههای موفق ترکیبی از هر دو هستند: Fine-Tuning برای رفتار و قالب، و RAG برای دانش. ساخت یک دستیار مبتنی بر سند را در ساخت AI Agent با n8n و Ollama نشان دادهایم.
سختافزار پیشنهادی برای هر کار
- Inference مدلهای ۷ تا ۳۲ میلیاردی: یک کارت L40S یا حتی کارتهای ۲۴ گیگابایتی برای مدلهای کوچکتر.
- QLoRA روی مدلهای تا ۳۲ میلیاردی: یک کارت ۴۸ گیگابایتی مثل L40S.
- QLoRA روی مدل ۷۰ میلیاردی یا LoRA روی مدلهای متوسط: یک کارت H100 با ۸۰ گیگابایت حافظه.
- Fine-Tuning کامل: چند کارت H100 متصل با NVLink.
چون Fine-Tuning کاری مقطعی است، اجاره سرور GPU برای چند روز معمولاً بسیار بهصرفهتر از خرید سختافزار است. مقایسه دقیق کارتها را در مقایسه L40S، H100 و RTX بخوانید.
سوالات متداول
آیا برای Fine-Tuning مدل ۸ میلیاردی یک کارت ۲۴ گیگابایتی کافی است؟
با QLoRA بله؛ کارتهایی مثل RTX ۴۰۹۰ یا RTX ۳۰۹۰ برای Fine-Tuning مدلهای ۷ تا ۸ میلیاردی با QLoRA کافی هستند. برای LoRA با دقت FP16 به حافظه بیشتری نیاز دارید.
Fine-Tuning چقدر زمان میبرد؟
برای چند هزار نمونه و یک مدل ۸ میلیاردی با QLoRA، معمولاً بین یک تا چند ساعت روی یک GPU دیتاسنتری. مدلهای بزرگتر و داده بیشتر زمان را چند برابر میکنند.
آیا مدل Fine-Tuneشده را میتوان با Ollama اجرا کرد؟
بله. بعد از ادغام وزنهای LoRA با مدل پایه و تبدیل به فرمت GGUF، مدل با یک Modelfile در Ollama قابل اجراست. vLLM هم میتواند آداپتورهای LoRA را مستقیم بارگذاری کند.
چند نمونه داده برای Fine-Tuning لازم است؟
برای آموزش قالب و لحن، چند صد نمونه باکیفیت معمولاً کافی است. برای مهارتهای پیچیدهتر به چند هزار نمونه نیاز دارید. کیفیت و یکدستی داده از تعداد آن مهمتر است.
سرور GPU برای Inference و Fine-Tuning
با سرورهای GPU تراست هاست مدلهای خود را اجرا یا روی دادههای اختصاصی آموزش دهید؛ بدون خرید سختافزار و با پرداخت به اندازه نیاز.