Fine-tuning (deep learning) (FA)
تنظیم دقیق (انگلیسی: Fine-tuning)، که با نام دقیقسازی نیز شناخته میشود، روشی از یادگیری انتقالی در Machine Learning است که در آن پارامترهای یک مدل از پیش آموزشدیده (pre-trained model) برای حل یک وظیفه جدید و خاص تطبیق مییابند. به جای آموزش مدل از صفر، که به حجم عظیمی از داده و منابع محاسباتی نیاز دارد، fine-tuning امکان بهرهگیری از دانشی را که در وزنهای مدل رمزگذاری شده فراهم میآورد و این وزنها را برای نیازهای مشخص «تنظیم» میکند.
این رویکرد به استاندارد واقعی در حوزه یادگیری عمیق تبدیل شده است، بهویژه هنگام کار با مدلهای زبانی بزرگ (LLM) و مدلهای بینایی کامپیوتر.
مفهوم
فرایند fine-tuning را میتوان به دو مرحله اصلی تقسیم کرد:
1. آموزش اولیه (Pre-training): مدل (مانند BERT یا GPT) بر روی یک مجموعه داده بسیار بزرگ و عمومی (مثلاً کل اینترنت) با استفاده از یک وظیفه خودنظارتی (مانند پیشبینی کلمه بعدی) آموزش میبیند. در این مرحله، مدل الگوهای کلی، نحو، معناشناسی و دانش جهانی را فرا میگیرد.
2. تنظیم دقیق (Fine-tuning): مدل از پیش آموزشدیده به عنوان پایه گرفته میشود و وزنهای آن بر روی یک مجموعه داده برچسبدار کوچک اما خاصِ وظیفه هدف، بازتنظیم میشوند.
ایده کلیدی این است که دانش بهدستآمده در مرحله آموزش اولیه، جهانی است و میتوان آن را با موفقیت برای حل بسیاری از وظایف دیگرِ تخصصیتر منتقل کرد.
فرایند Fine-tuning
فرایند معمول fine-tuning شامل مراحل زیر است:
1. انتخاب مدل از پیش آموزشدیده: مدلی انتخاب میشود که قابلیتهای پایهای آن برای وظیفه هدف مناسب باشد (مثلاً BERT برای وظایف درک متن، GPT برای تولید متن).
2. تطبیق معماری: یک لایه جدید «سری» (head) خاصِ وظیفه هدف به مدل از پیش آموزشدیده افزوده میشود. برای مثال:
- برای طبقهبندی متن یک لایه متصل کامل ساده با تابع softmax اضافه میشود.
- برای تشخیص موجودیتهای نامدار (NER) یک طبقهبند به خروجی هر token افزوده میشود.
3. آموزش بر روی مجموعه داده هدف: تمام مدل (یا بخشی از آن) بر روی مجموعه داده جدید برچسبدار آموزش میبیند. در این مرحله، وزنهای مدل، از جمله وزنهای لایههای از پیش آموزشدیده، با استفاده از گرادیان نزولی برای کمینهسازی تابع خطا در وظیفه جدید بهروزرسانی میشوند. 4. استفاده از نرخ یادگیری پایینتر: در fine-tuning معمولاً از نرخ یادگیری بهمراتب پایینتری نسبت به آموزش اولیه استفاده میشود. این کار برای جلوگیری از «تخریب» دانش مفید رمزگذاریشده در وزنهای مدل ضروری است و تنها تصحیح ظریف آنها را ممکن میسازد.
انواع Fine-tuning
دقیقسازی کامل (Full Fine-tuning)
- اصل: تمام پارامترهای مدل از پیش آموزشدیده به همراه لایه «سری» جدید بهروزرسانی میشوند.
- مزایا: بهطور بالقوه بهترین عملکرد را فراهم میکند، زیرا کل مدل با وظیفه جدید تطبیق مییابد.
- معایب: به منابع محاسباتی و حافظه قابل توجهی نیاز دارد، زیرا باید گرادیانها برای تمام پارامترها ذخیره و بهروزرسانی شوند. خطر فراموشی فاجعهآمیز وجود دارد، که در آن مدل دانش عمومی بهدستآمده در آموزش اولیه را «فراموش» میکند.
دقیقسازی با بهرهوری پارامتری (Parameter-Efficient Fine-Tuning, PEFT)
این خانوادهای از روشهاست که هدف آن کاهش هزینههای محاسباتی در fine-tuning است. ایده اصلی این است که اکثر پارامترهای مدل از پیش آموزشدیده منجمد شوند و تنها تعداد کمی از پارامترهای جدید یا موجود انتخابشده آموزش ببینند.
- نمونه روشهای PEFT:
- آداپتورها (Adapters): لایههای کوچک و اضافی آداپتور در معماری Transformer قرار داده میشوند و تنها همین لایهها آموزش میبینند.
- LoRA (Low-Rank Adaptation): به جای بهروزرسانی ماتریسهای وزنی کامل، LoRA بهروزرسانیهای کمرتبه آنها را آموزش میدهد. این امر امکان کاهش تعداد پارامترهای قابل آموزش را تا هزاران برابر فراهم میآورد.
- Prompt Tuning: بردارهای آموزشپذیر «prompt» به دادههای ورودی افزوده میشوند که برای حل وظیفه تنظیم میشوند، در حالی که خود مدل منجمد میماند.
- مزایای PEFT:
- کارایی: بهطور چشمگیری نیازمندیهای حافظه و محاسبات را کاهش میدهد.
- ماژولاریتی: امکان تطبیق آسان یک مدل از پیش آموزشدیده برای وظایف متعدد را فراهم میکند، در حالی که تنها مجموعههای کوچکی از وزنهای تطبیقیافته برای هر وظیفه ذخیره میشود.
Instruction Tuning - دقیقسازی بر اساس دستورالعمل
این نوع خاصی از fine-tuning است که هدف آن بهبود توانایی LLM در پیروی از دستورالعملهای زبان طبیعی است.
- نحوه عملکرد: مدل بر روی مجموعه دادهای متشکل از جفتهای «دستورالعمل — خروجی مطلوب» دقیقسازی میشود.
- هدف: بهبود توانایی تعمیم مدل به وظایف جدیدِ پیشنادیده که میتوانند به صورت دستورالعمل توصیف شوند. مدلهایی مانند InstructGPT و FLAN-T5 نمونههای بارز این رویکرد هستند.
همچنین ببینید
- مدلهای زبانی بزرگ
- BERT
- GPT
منابع
- Howard, J.; Ruder, S. (2018). Universal Language Model Fine-tuning for Text Classification. arXiv:1801.06146.
- Houlsby, N. et al. (2019). Parameter-Efficient Transfer Learning for NLP. arXiv:1902.00751.
- Pfeiffer, J. et al. (2020). AdapterFusion: Non-Destructive Task Composition for Transfer Learning. arXiv:2005.00247.
- Hu, E. J. et al. (2021). LoRA: Low-Rank Adaptation of Large Language Models. arXiv:2106.09685.
- Lester, B.; Al-Rfou, R.; Constant, N. (2021). The Power of Scale for Parameter-Efficient Prompt Tuning. arXiv:2104.08691.
- Ben Zaken, A.; Goldberg, Y.; Ravfogel, S. (2022). BitFit: Simple Parameter-Efficient Fine-Tuning for Transformer-based Masked Language-Models. ACL 2022.
- Ouyang, L. et al. (2022). Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155.
- Han, Z. et al. (2024). Parameter-Efficient Fine-Tuning for Large Models: A Comprehensive Survey. arXiv:2403.14608.
- Bian, J. et al. (2025). A Survey on Parameter-Efficient Fine-Tuning for Foundation Models in Federated Learning. arXiv:2504.21099.
- Li, X. et al. (2025). Revisiting Fine-Tuning: A Survey of Parameter-Efficient Techniques and Future Directions. Preprints.org.