In-Context Learning (FA)
یادگیری در متن (به انگلیسی: In-Context Learning، ICL) — توانایی بنیادین مدلهای زبانی بزرگ (LLM) است که به آنها امکان میدهد وظایف جدید را «در لحظه» و تنها با استفاده از نمونههای (نمایشهای) ارائهشده در متن (prompt) درخواست، بیاموزند. ویژگی کلیدی این است که فرآیند تطبیق بدون بهروزرسانی وزنها (پارامترهای) مدل، یعنی بدون fine-tuning سنتی، انجام میشود[1][2].
این مکانیزم به مدلها اجازه میدهد انعطافپذیری شگفتانگیزی نشان دهند و وظایفی را حل کنند که بهطور خاص برای آنها آموزش ندیدهاند. ICL به یکی از پیشرفتهای کلیدی تبدیل شده که مدلهای زبانی بزرگ را بسیار قدرتمند و همهمنظوره کرده است[3].
مکانیزمهای کارکرد
درک دقیق از نحوه کارکرد ICL همچنان حوزهای فعال در پژوهش است، اما چندین نظریه پیشرو برای توضیح این پدیده وجود دارد.
Transformer بهعنوان Meta-Optimizer
یکی از نظریههای رایج بیان میکند که معماری Transformer در طول پیشآموزش یاد میگیرد الگوریتمهای یادگیری را در گذرهای رو به جلو (forward passes) خود پیادهسازی کند. هنگامی که مدل یک prompt با نمونهها دریافت میکند، بهطور ضمنی نوعی بهینهسازی برای حل وظیفه ارائهشده انجام میدهد و حالتهای داخلی (فعالسازیهای) خود را تنظیم میکند، نه وزنهایش را[4].
استنتاج بیزی
نظریه دیگری ICL را بهعنوان نوعی استنتاج بیزی در نظر میگیرد. مدلی که بر حجم عظیمی از دادهها پیشآموزش دیده، توزیع پیشین روی مجموعهای از مفاهیم دارد. نمونههای موجود در متن بهعنوان شواهدی عمل میکنند که به مدل اجازه میدهند توزیع پسین احتمال خود را روی مفاهیم پنهان اصلاح کند. به بیان دیگر، نمونهها به مدل کمک میکنند «درک کند» که اکنون دقیقاً کدامیک از هزاران وظیفه آشنا را باید حل کند[5].
انواع In-Context Learning
بسته به تعداد نمونههای ارائهشده، ICL به سه نوع اصلی تقسیم میشود.
- Few-shot Learning (یادگیری با چند نمونه): این رایجترین و متعادلترین رویکرد است. به مدل چند نمونه نمایشی (معمولاً ۲ تا ۱۰ نمونه) ارائه میشود.
نمونه (طبقهبندی احساسات):
Текст: "Какой прекрасный день!" Тональность: Позитивная Текст: "Я ненавижу стоять в пробках." Тональность: Негативная Текст: "Этот фильм был довольно средним." Тональность:
پاسخ مورد انتظار:
Нейтральная
- One-shot Learning (یادگیری با یک نمونه): تنها یک نمونه به مدل داده میشود. این اغلب برای تعیین قالب پاسخ و بهبود قابلتوجه عملکرد در مقایسه با رویکرد zero-shot کافی است.
- Zero-shot Learning (یادگیری بدون نمونه): هیچ نمونهای به مدل ارائه نمیشود، فقط یک دستورالعمل یا توضیح وظیفه داده میشود. در این حالت، مدل کاملاً به دانش کسبشده در طول پیشآموزش متکی است.
کاربردهای عملی
استفاده صحیح از ICL امکان حل طیف گستردهای از وظایف را بدون توسعه و fine-tuning پرهزینه فراهم میکند.
- برای وظایف خلاقانه و سبکی (تولید کد به سبک مشخص، نوشتن متن به شیوه نویسندهای خاص):
- Few-shot Learning توصیه میشود.
- نمونهها به مدل کمک میکنند سبک، قالب و ساختار خروجی مورد نظر را دریابد.
- برای وظایف ساده با دستورالعملهای روشن (ترجمه، خلاصهسازی، پاسخ به سوالات ساده):
- Zero-shot Learning اغلب کافی است.
- مدلهای مدرن با اینگونه وظایف بهخوبی کنار میآیند، اگر بخشی از پیشآموزش آنها بوده باشد.
- برای وظایفی که قالب خروجی اهمیت دارد (تولید JSON، استخراج موجودیتها):
- One-shot یا Few-shot Learning توصیه میشود.
- حتی یک نمونه میتواند ساختار پاسخ مورد نیاز را بهروشنی تعیین کند و از خطاهای قالببندی جلوگیری نماید.
مزایا و معایب
| مزایا | معایب |
|---|---|
|
|
مقایسه با سایر پارادایمها
ICL در برابر Fine-tuning
Fine-tuning وزنهای مدل را تغییر میدهد و دانش جدید را در آن «حک» میکند. این مدل را در یک حوزه تخصصی متخصص میسازد، اما انعطافپذیری کلی آن را کاهش میدهد. ICL، برعکس، وزنها را تغییر نمیدهد و انعطافپذیرتر است، اما ممکن است در وظایف تخصصی که نیاز به دانش عمیق حوزه دارند، از نظر عملکرد ضعیفتر باشد.
ICL در برابر RAG (Retrieval-Augmented Generation)
هر دو روش متن مدل را گسترش میدهند، اما برای اهداف متفاوت:
- ICL از نمونهها استفاده میکند تا به مدل بیاموزد چگونه وظیفه را انجام دهد (نمایش مهارت).
- RAG از اطلاعات بازیابیشده استفاده میکند تا واقعیات مورد نیاز برای پاسخ را به مدل اطلاع دهد (ارائه دانش).
در عمل، ICL و RAG اغلب برای دستیابی به بهترین نتایج با هم ترکیب میشوند.
منابع
- Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.
- Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.
- Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.
- Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.
- Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.
- Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.
- Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.
- Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.
- Yu, Z.; Ananiadou, S. (2024). How Do Large Language Models Learn In-Context? Query and Key Matrices of In-Context Heads Are Two Towers for Metric Learning. arXiv:2402.02872.
- Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.
- Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.
- Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.
یادداشتها
- ↑ What is In-Context Learning (ICL)? // Lakera.ai
- ↑ In-Context Learning (ICL) // Hopsworks.ai
- ↑ In-Context Learning, In Context // The Gradient
- ↑ Why Can GPT Learn In-Context? Language Models Secretly Perform Gradient Descent as Meta-Optimizers // arXiv, 2022.
- ↑ Understanding In-Context Learning // Stanford Human-Centered AI, 2023.