In-Context Learning (BG)

From Systems analysis Wiki
Jump to navigation Jump to search

Контекстно обучение (англ. In-Context Learning, ICL) — това е фундаментална способност на големите езикови модели (LLM) да се обучават на нови задачи „в движение", използвайки само примери (демонстрации), предоставени в контекста (prompt-а) на заявката. Ключова особеност е, че този процес на адаптация протича без актуализиране на теглата (параметрите) на модела, тоест без традиционно дообучване (fine-tuning)[1][2].\n\nТози механизъм позволява на моделите да демонстрират забележителна гъвкавост, решавайки задачи, за които не са били специално обучени. ICL се превърна в един от ключовите пробиви, направили големите езикови модели толкова мощни и универсални[3].\n\n== Механизми на работа ==\nТочното разбиране на начина, по който работи ICL, остава активна област на изследвания, но съществуват няколко водещи теории, обясняващи този феномен.\n\n=== Transformer като мета-оптимизатор ===\nЕдна от популярните теории гласи, че архитектурата Transformer по време на предварителното обучение се научава да реализира алгоритми за обучение в своите преки проходи (forward passes). Когато моделът получи prompt с примери, той неявно изпълнява своеобразна оптимизация за решаване на представената задача, настройвайки вътрешните си състояния (активации), а не теглата[4].\n\n=== Байесов извод ===\nДруга теория разглежда ICL като форма на байесов извод. Моделът, предварително обучен върху огромни масиви от данни, притежава априорно представяне за множество концепции. Примерите в контекста служат като свидетелства, които позволяват на модела да прецизира апостериорното си разпределение на вероятностите върху скритите концепции. С други думи, примерите помагат на модела да „разбере" коя точно от хилядите познати му задачи трябва да реши в дадения момент[5].\n\n== Типове In-Context Learning ==\nВ зависимост от броя на предоставените примери ICL се разделя на три основни типа.\n\n* Few-shot Learning (обучение с няколко примера): Това е най-разпространеният и балансиран подход. На модела се предоставят няколко (обикновено от 2 до 10) демонстрационни примера.\nПример (класификация на тоналност): \n

Текст: "Какой прекрасный день!"
Тональность: Позитивная

Текст: "Я ненавижу стоять в пробках."
Тональность: Негативная

Текст: "Этот фильм был довольно средним."
Тональность:

\nОчакван отговор:\n

Нейтральная

\n\n* One-shot Learning (обучение с един пример): На модела се дава само един пример. Това често е достатъчно, за да се зададе форматът на отговора и значително да се подобри производителността в сравнение с zero-shot подхода.\n\n* Zero-shot Learning (обучение без примери): На модела не се предоставят примери, а само инструкция или описание на задачата. В този случай моделът се опира изцяло на знанията, придобити по време на предварителното обучение.\n\n== Практическо приложение ==\nПравилното прилагане на ICL позволява решаването на широк спектър от задачи без скъпоструващи разработки и дообучване.\n\n* За творчески и стилистични задачи (генериране на код в определен стил, писане на текст в маниера на конкретен автор):\n** Препоръчва се Few-shot Learning.\n** Примерите помагат на модела да улови необходимия стил, формат и структура на изхода.\n\n* За прости задачи с ясни инструкции (превод, обобщаване, отговори на прости въпроси):\n** Често е достатъчен Zero-shot Learning.\n** Съвременните модели се справят достатъчно добре с такива задачи, ако те са били част от предварителното им обучение.\n\n* За задачи, при които форматът на изхода е важен (генериране на JSON, извличане на същности):\n** Препоръчва се One-shot или Few-shot Learning.\n** Дори един пример може ясно да зададе изисканата структура на отговора, предотвратявайки грешки при форматирането.\n\n== Предимства и недостатъци ==\n{| class=\"wikitable\"\n|+ Сравнение на предимствата и недостатъците на ICL\n|-\n! Предимства\n! Недостатъци\n|-\n|\n* Гъвкавост и бързина: Незабавна адаптация към нови задачи без необходимост от преобучване.\n* Икономия на ресурси: Не изисква събиране на данни, анотиране и изчислителна мощ за дообучване.\n* Достъпност: Позволява на потребители без експертиза в ML да настройват модели с помощта на прости текстови примери.\n|\n* Ограничения на контекстния прозорец: Броят на примерите е ограничен от максималната дължина на контекста на модела.\n* Чувствителност към примерите: Резултатът силно зависи от качеството, реда и формата на предоставените демонстрации.\n* Високи разходи на етапа на извод: Дългите prompt-ове с множество примери увеличават разходите и времето за генериране.\n* Рискове за сигурността: Предаването на поверителна информация като примери може да бъде небезопасно.\n|}\n\n== Сравнение с други парадигми ==\n=== ICL vs. Fine-tuning ===\nFine-tuning (дообучване) променя теглата на модела, „запечатвайки" в него нови знания. Това прави модела експерт в тясна област, но намалява общата му гъвкавост. ICL, напротив, не променя теглата и е по-гъвкав, но може да отстъпва по производителност при тясно специализирани задачи, изискващи задълбочено познаване на домейна.\n\n=== ICL vs. RAG (Retrieval-Augmented Generation) ===\nДвата метода разширяват контекста на модела, но за различни цели:\n* ICL използва примери, за да обучи модела как да изпълнява задачата (демонстрация на умение).\n* RAG използва извлечена информация, за да съобщи на модела фактите, необходими за отговора (предоставяне на знания).\nНа практика ICL и RAG често се комбинират за постигане на най-добри резултати.\n\n== Литература ==\n* Brown, T. B. et al. (2020). Language Models are Few-Shot Learners. arXiv:2005.14165.\n* Dai, D. et al. (2022). Why Can GPT Learn In-Context? Language Models Implicitly Perform Gradient Descent as Meta-Optimizers. arXiv:2212.10559.\n* Panwar, M.; Ahuja, K.; Goyal, N. (2024). In-Context Learning through the Bayesian Prism. arXiv:2306.04891.\n* Müller, S. et al. (2021). Transformers Can Do Bayesian Inference. arXiv:2112.10510.\n* Garg, S. et al. (2022). What Can Transformers Learn In-Context? A Case Study of Simple Function Classes. arXiv:2208.01066.\n* Min, S. et al. (2022). Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?. arXiv:2202.12837.\n* Wang, X. et al. (2023). Explaining and Finding Good Demonstrations for In-Context Learning. arXiv:2302.13971.\n* Xie, S. et al. (2024). A Survey on In-Context Learning. arXiv:2301.00234.\n* 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.\n* Wibisono, K. C.; Wang, Y. (2024). From Unstructured Data to In-Context Learning: Exploring What Tasks Can Be Learned and When. arXiv:2406.00131.\n* Chan, J. K. et al. (2022). Data Distributional Properties Drive Emergent In-Context Learning in Transformers. arXiv:2205.05055.\n* Hahn, M.; Goyal, N. (2023). A Theory of Emergent In-Context Learning as Implicit Structure Induction. arXiv:2303.07971.\n\n== Бележки ==\n\n\n\nTemplate:SEOMeta\n