In-Context Learning (CS)

From Systems analysis Wiki
Jump to navigation Jump to search

Kontextové učení (angl. In-Context Learning, ICL) — je základní schopnost velkých jazykových modelů (LLM) učit se novým úlohám „za běhu", přičemž využívá pouze příklady (demonstrace) poskytnuté v kontextu (promptu) dotazu. Klíčovou vlastností je, že tento proces adaptace probíhá bez aktualizace vah (parametrů) modelu, tedy bez tradičního fine-tuningu[1][2].\n\nTento mechanismus umožňuje modelům projevovat pozoruhodnou flexibilitu při řešení úloh, pro které nebyly speciálně trénovány. ICL se stal jedním z klíčových průlomů, který učinil velké jazykové modely tak výkonnými a univerzálními[3].\n\n== Mechanismy fungování ==\nPřesné pochopení toho, jak ICL funguje, zůstává aktivní oblastí výzkumu, existuje však několik předních teorií vysvětlujících tento jev.\n\n=== Transformer jako meta-optimalizátor ===\nJedna z populárních teorií říká, že architektura Transformeru se během předtrénování naučí implementovat algoritmy učení ve svých přímých průchodech (forward passes). Když model obdrží prompt s příklady, implicitně provádí jakousi optimalizaci pro řešení předložené úlohy a upravuje své vnitřní stavy (aktivace), nikoli váhy[4].\n\n=== Bayesovský inference ===\nDalší teorie považuje ICL za formu bayesovského inference. Model předtrénovaný na obrovských datových souborech má apriorní představu o mnoha konceptech. Příklady v kontextu slouží jako důkazy, které modelu umožňují upřesnit jeho aposteriorní rozdělení pravděpodobnosti nad skrytými koncepty. Jinými slovy, příklady pomáhají modelu „pochopit", kterou přesně z tisíců jemu známých úloh má v daný okamžik řešit[5].\n\n== Typy In-Context Learning ==\nV závislosti na počtu poskytnutých příkladů se ICL dělí na tři základní typy.\n\n* Few-shot Learning (učení na několika příkladech): Jedná se o nejrozšířenější a nejvyváženější přístup. Modelu je poskytnuto několik (obvykle 2 až 10) demonstračních příkladů.\nPříklad (klasifikace sentimentu):\n

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

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

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

\nOčekávaná odpověď:\n

Нейтральная

\n\n* One-shot Learning (učení na jednom příkladu): Modelu je poskytnut pouze jeden příklad. To často postačuje k určení formátu odpovědi a k výraznému zlepšení výkonu ve srovnání s přístupem zero-shot.\n\n* Zero-shot Learning (učení bez příkladů): Modelu nejsou poskytovány žádné příklady, pouze instrukce nebo popis úlohy. V tomto případě se model zcela spoléhá na znalosti získané během předtrénování.\n\n== Praktické využití ==\nSprávné použití ICL umožňuje řešit široké spektrum úloh bez nákladného vývoje a fine-tuningu.\n\n* Pro tvůrčí a stylistické úlohy (generování kódu v určitém stylu, psaní textu ve stylu konkrétního autora):\n** Doporučuje se Few-shot Learning.\n** Příklady pomáhají modelu zachytit požadovaný styl, formát a strukturu výstupu.\n\n* Pro jednoduché úlohy s jasnými instrukcemi (překlad, sumarizace, odpovědi na jednoduché otázky):\n** Často postačuje Zero-shot Learning.\n** Moderní modely si s takovými úlohami poradí dostatečně dobře, pokud byly součástí jejich předtrénování.\n\n* Pro úlohy, kde je důležitý formát výstupu (generování JSON, extrakce entit):\n** Doporučuje se One-shot nebo Few-shot Learning.\n** Již jeden příklad může jasně definovat požadovanou strukturu odpovědi a předejít chybám formátování.\n\n== Výhody a nevýhody ==\n{| class=\"wikitable\"\n|+ Srovnání výhod a nevýhod ICL\n|-\n! Výhody\n! Nevýhody\n|-\n|\n* Flexibilita a rychlost: Okamžitá adaptace na nové úlohy bez nutnosti přetrénování.\n* Úspora zdrojů: Nevyžaduje sběr dat, anotaci ani výpočetní výkon pro fine-tuning.\n* Dostupnost: Umožňuje uživatelům bez odborných znalostí v oblasti ML přizpůsobovat modely pomocí jednoduchých textových příkladů.\n|\n* Omezení kontextového okna: Počet příkladů je omezen maximální délkou kontextu modelu.\n* Citlivost na příklady: Výsledek silně závisí na kvalitě, pořadí a formátu poskytnutých demonstrací.\n* Vysoké náklady při inferenci: Dlouhé prompty s mnoha příklady zvyšují náklady a čas generování.\n* Bezpečnostní rizika: Předávání důvěrných informací jako příkladů může být nebezpečné.\n|}\n\n== Srovnání s jinými paradigmaty ==\n=== ICL vs. Fine-tuning ===\nFine-tuning mění váhy modelu a „vtiskuje" do něj nové znalosti. To z modelu vytváří experta v úzké oblasti, ale snižuje jeho celkovou flexibilitu. ICL naproti tomu váhy nemění a je flexibilnější, avšak může zaostávat ve výkonu na úzce specializovaných úlohách vyžadujících hlubokou znalost domény.\n\n=== ICL vs. RAG (Retrieval-Augmented Generation) ===\nObě metody rozšiřují kontext modelu, ale pro různé účely:\n* ICL využívá příklady, aby model naučilo jak provádět úlohu (demonstrace dovednosti).\n* RAG využívá získané informace, aby modelu sdělilo fakta potřebná pro odpověď (poskytnutí znalostí).\nV praxi se ICL a RAG často kombinují pro dosažení nejlepších výsledků.\n\n== Literatura ==\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== Poznámky ==\n\n\n\nTemplate:SEOMeta\n