In-Context Learning (PL)
Uczenie w kontekście (ang. In-Context Learning, ICL) — to fundamentalna zdolność dużych modeli językowych (LLM) do uczenia się nowych zadań „w locie", wykorzystując jedynie przykłady (demonstracje) dostarczone w kontekście (prompcie) zapytania. Kluczową cechą jest to, że proces adaptacji odbywa się bez aktualizacji wag (parametrów) modelu, czyli bez tradycyjnego fine-tuningu[1][2].\n\nMechanizm ten pozwala modelom wykazywać zadziwiającą elastyczność, rozwiązując zadania, do których nie zostały specjalnie wytrenowane. ICL stał się jednym z kluczowych przełomów, który sprawił, że duże modele językowe stały się tak potężne i wszechstronne[3].\n\n== Mechanizmy działania ==\nDokładne zrozumienie tego, jak działa ICL, pozostaje aktywnym obszarem badań, jednak istnieje kilka wiodących teorii wyjaśniających to zjawisko.\n\n=== Transformer jako meta-optymalizator ===\nJedna z popularnych teorii głosi, że architektura Transformera podczas wstępnego treningu uczy się implementować algorytmy uczenia w swoich przejściach w przód (forward passes). Gdy model otrzymuje prompt z przykładami, niejawnie wykonuje pewnego rodzaju optymalizację w celu rozwiązania przedstawionego zadania, dostosowując swoje wewnętrzne stany (aktywacje), a nie wagi[4].\n\n=== Wnioskowanie bayesowskie ===\nInna teoria traktuje ICL jako formę wnioskowania bayesowskiego. Model wstępnie wytrenowany na ogromnych zbiorach danych posiada aprioryczne wyobrażenie o wielu koncepcjach. Przykłady w kontekście służą jako dowody, które pozwalają modelowi doprecyzować jego aposterioryczny rozkład prawdopodobieństwa ukrytych koncepcji. Innymi słowy, przykłady pomagają modelowi „zrozumieć", które spośród tysięcy znanych mu zadań należy w danej chwili rozwiązać[5].\n\n== Typy In-Context Learning ==\nW zależności od liczby dostarczonych przykładów ICL dzieli się na trzy podstawowe typy.\n\n* Few-shot Learning (uczenie na kilku przykładach): To najbardziej powszechne i zrównoważone podejście. Modelowi dostarcza się kilka (zazwyczaj od 2 do 10) przykładów demonstracyjnych.\nPrzykład (klasyfikacja wydźwięku): \n
Текст: "Какой прекрасный день!" Тональность: Позитивная Текст: "Я ненавижу стоять в пробках." Тональность: Негативная Текст: "Этот фильм был довольно средним." Тональность:
\nOczekiwana odpowiedź:\n
Нейтральная
\n\n* One-shot Learning (uczenie na jednym przykładzie): Modelowi podawany jest tylko jeden przykład. Często wystarczy to, aby określić format odpowiedzi i znacząco poprawić wydajność w porównaniu z podejściem zero-shot.\n\n* Zero-shot Learning (uczenie bez przykładów): Modelowi nie są dostarczane żadne przykłady, a jedynie instrukcja lub opis zadania. W tym przypadku model w pełni opiera się na wiedzy zdobytej podczas wstępnego treningu.\n\n== Zastosowania praktyczne ==\nWłaściwe stosowanie ICL pozwala rozwiązywać szeroki zakres zadań bez kosztownego tworzenia i fine-tuningu.\n\n* Do zadań twórczych i stylistycznych (generowanie kodu w określonym stylu, pisanie tekstu w manierze konkretnego autora):\n** Zaleca się Few-shot Learning.\n** Przykłady pomagają modelowi uchwycić pożądany styl, format i strukturę danych wyjściowych.\n\n* Do prostych zadań z wyraźnymi instrukcjami (tłumaczenie, podsumowywanie, odpowiadanie na proste pytania):\n** Często wystarczy Zero-shot Learning.\n** Współczesne modele dobrze radzą sobie z takimi zadaniami, jeśli były one częścią ich wstępnego treningu.\n\n* Do zadań, w których ważny jest format danych wyjściowych (generowanie JSON, ekstrakcja encji):\n** Zaleca się One-shot lub Few-shot Learning.\n** Nawet jeden przykład może jednoznacznie określić wymaganą strukturę odpowiedzi, zapobiegając błędom formatowania.\n\n== Zalety i wady ==\n{| class=\"wikitable\"\n|+ Porównanie zalet i wad ICL\n|-\n! Zalety\n! Wady\n|-\n|\n* Elastyczność i szybkość: Natychmiastowa adaptacja do nowych zadań bez konieczności ponownego treningu.\n* Oszczędność zasobów: Nie wymaga zbierania danych, ich etykietowania ani mocy obliczeniowej do fine-tuningu.\n* Dostępność: Pozwala użytkownikom bez wiedzy z zakresu ML dostosowywać modele za pomocą prostych przykładów tekstowych.\n|\n* Ograniczenia okna kontekstowego: Liczba przykładów jest ograniczona maksymalną długością kontekstu modelu.\n* Wrażliwość na przykłady: Wynik silnie zależy od jakości, kolejności i formatu dostarczonych demonstracji.\n* Wysokie koszty na etapie wnioskowania: Długie prompty z wieloma przykładami zwiększają koszt i czas generowania.\n* Zagrożenia dla bezpieczeństwa: Przekazywanie informacji poufnych jako przykładów może być niebezpieczne.\n|}\n\n== Porównanie z innymi paradygmatami ==\n=== ICL vs. Fine-tuning ===\nFine-tuning zmienia wagi modelu, „wpisując" w niego nową wiedzę. Sprawia to, że model staje się ekspertem w wąskiej dziedzinie, ale obniża jego ogólną elastyczność. ICL natomiast nie zmienia wag i jest bardziej elastyczny, jednak może ustępować wydajnością w wysoce wyspecjalizowanych zadaniach wymagających głębokiej wiedzy dziedzinowej.\n\n=== ICL vs. RAG (Retrieval-Augmented Generation) ===\nObie metody rozszerzają kontekst modelu, ale w różnych celach:\n* ICL wykorzystuje przykłady, aby nauczyć model jak wykonywać zadanie (demonstracja umiejętności).\n* RAG wykorzystuje pobrane informacje, aby przekazać modelowi fakty niezbędne do udzielenia odpowiedzi (dostarczanie wiedzy).\nW praktyce ICL i RAG są często łączone w celu osiągnięcia najlepszych wyników.\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== Przypisy ==\n\n\n\nTemplate:SEOMeta\n
- ↑ 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.