Kontextové zapomínání
Kontextové zapomínání ve velkých jazykových modelech — je mnohostranný jev, při němž velký jazykový model (LLM) ztrácí, ignoruje nebo neefektivně využívá dříve poskytnuté informace v rámci jedné interakce[1]. Na rozdíl od lidské paměti nemají LLM dlouhodobé úložiště stavů a spoléhají pouze na kontextové okno — omezený objem textu (v tokenech), který model dokáže zpracovat najednou. Toto okno plní funkci krátkodobé nebo pracovní paměti modelu[2].
Nejznámějším projevem tohoto omezení je problém „ztráty uprostřed" (Lost in the Middle) — tendence modelů lépe zpracovávat informace umístěné na začátku a na konci dlouhého kontextu a hůře ty, které se nacházejí uprostřed[2]. Tento jev není chybou, ale fundamentální vlastností vyplývající z architektury transformerů a principů jejich trénování.
Dva typy zapomínání: Kontextové a Katastrofické
Je důležité rozlišovat dva zásadně odlišné typy „zapomínání" v LLM: vnitrokontextové a katastrofické.
Vnitrokontextové zapomínání (Ztráta uprostřed)
Tento typ zapomínání nastává během jedné relace interakce (inference) s již natrénovaným modelem. Souvisí s omezeními kontextového okna. Když objem dialogu nebo dokumentu překročí velikost okna, model „zapomene" nejstarší fragmenty, aby uvolnil místo pro nové. Dokonce i v rámci okna může být informace z prostřední části kontextu využívána méně efektivně. Jde o omezení pracovní paměti modelu[3]. V publicistice se tento jev také nazývá „syndrom degradace kontextu" (Context Degradation Syndrome, CDS)[1].
Katastrofické zapomínání (Drift modelu)
Tento typ zapomínání, známý také jako „drift modelu" (model drift), nastává v průběhu dolaďování (fine-tuning) modelu na nových datech. Když je model předtrénovaný na obrovském korpusu obecných znalostí dolaďován na úzce specializovaném datovém souboru (například na lékařských textech), mění se jeho váhy. To může vést k degradaci nebo „vymazání" dříve získaných znalostí a dovedností nesouvisejících s novou úlohou[4].
Příčiny a mechanismy
Kontextové zapomínání je přímým důsledkem architektury transformerů a geometrie vektorových prostorů.
Efekt „Ztráty uprostřed" (Lost in the Middle)
Výzkum Stanfordské univerzity z roku 2023 nazvaný „Lost in the Middle" názorně prokázal, že výkonnost LLM při extrakci informací z dlouhého kontextu vykazuje U-tvarovou křivku[2]. Přesnost odpovědí je nejvyšší, když se relevantní informace nachází úplně na začátku (efekt primárnosti) nebo úplně na konci (efekt novosti) kontextu, a výrazně klesá, je-li „skryta" uprostřed. Příčiny tohoto jevu:
- Mechanismus pozornosti: Architektura transformeru ze své podstaty věnuje nepřiměřeně velkou pozornost počátečním tokenům (tzv. „kotvy pozornosti" neboli attention sinks) pro udržení globální koherence, jakož i lokálnímu kontextu, což vede k oslabení „zaměření" na střední část[5].
- Data pro předtrénování: Modely jsou nejčastěji trénovány na relativně krátkých textech, kde se důležité informace jen zřídka nacházejí desítky tisíc tokenů od začátku, což jim brání efektivně využívat velmi dlouhé kontexty[6].
Projevy a důsledky
- Syndrom degradace kontextu: V průběhu dlouhých dialogů začíná model „ztrácet nit rozhovoru", opakovat odpovědi, vyvracet dříve stanovená fakta a podávat stále obecnější a vágní odpovědi[1].
- Selhání ve vícekrokových úlohách: V úlohách, kde jsou podmínky upřesňovány v průběhu několika replik, může model „uvíznout" na nesprávném počátečním předpokladu a ignorovat následná upřesnění, což vede k naprosté neschopnosti úlohu vyřešit[7].
- Nespolehlivost analýzy dokumentů: Při analýze dlouhých zpráv nebo právních dokumentů může LLM přehlédnout klíčová fakta umístěná v centrálních oddílech, což z něj činí nespolehlivý nástroj pro takovéto úlohy.
Strategie zmírnění a prevence
Výzkumníci a vývojáři používají několik přístupů k řešení problému kontextového zapomínání.
Rozšíření kontextového okna
Nejpřímočařejší přístup — zvětšení velikosti kontextového okna. Moderní modely jako Claude 3 (200 tis. tokenů) a Gemini 1.5 Pro (až 2 mil. tokenů) tento limit výrazně rozšířily[8][9]. Výzkumy však ukazují, že pouhé zvětšení okna nezaručuje jeho efektivní využití a problém „ztráty uprostřed" přetrvává[2].
Pokročilá inženýrie promptů
Vhodné strukturování promptů může výkonnost výrazně zlepšit. Společnost Anthropic doporučuje následující postupy[10]:
- Umístění dokumentů na začátek: Vkládat dlouhé texty úplně na začátek promptu, před instrukce a dotaz.
- Použití XML tagů: Obalovat dokumenty tagy `<document>` pro jasné oddělení.
- Podkládání odpovědí citacemi: Dát modelu instrukci nejprve extrahovat relevantní citace a teprve na jejich základě formulovat odpověď.
Externalizace paměti: Retrieval-Augmented Generation (RAG)
Zásadně odlišný přístup — neumisťovat veškeré informace do kontextového okna, ale přenést je do externího systému (vektorové databáze) a poskytovat je na vyžádání.
- Extrakce (Retrieve): Když přijde dotaz, systém vyhledá relevantní informace v externí databázi.
- Doplnění (Augment): Nalezené fragmenty jsou přidány k původnímu dotazu.
- Generování (Generate): LLM vygeneruje odpověď na základě poskytnutého kontextu.
RAG umožňuje pracovat s prakticky neomezeným objemem dat a zajišťuje přístup k čerstvým a ověřeným informacím, což snižuje riziko halucinací a představuje v současnosti nejspolehlivější řešení[11].
Odkazy
- Lost in the Middle: How Language Models Use Long Contexts — původní výzkum Stanfordské univerzity.
- Oznámení Claude s kontextovým oknem 100K tokenů od Anthropic.
Literatura
- Liu, N. F. et al. (2023). Lost in the Middle: How Language Models Use Long Contexts. arXiv:2307.03172.
- An, C. et al. (2024). Why Does the Effective Context Length of LLMs Fall Short?. arXiv:2410.18745.
- Ding, J. et al. (2023). LongNet: Scaling Transformers to 1,000,000,000 Tokens. arXiv:2307.02486.
- Yang, A. et al. (2024). Context Parallelism for Scalable Million-Token Inference. arXiv:2411.01783.
- Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
- Ding, Y. et al. (2024). LongRoPE: Extending LLM Context Window Beyond 2 Million Tokens. arXiv:2402.13753.
- Li, S. et al. (2023). Functional Interpolation for Relative Positions Improves Long Context Transformers. arXiv:2310.04418.
- Dong, Z. et al. (2024). Exploring Context Window of Large Language Models via Decomposed Positional Vectors. arXiv:2405.18009.
- Laban, P. et al. (2025). LLMs Get Lost in Multi-Turn Conversation. arXiv:2505.06120.
- Li, R. et al. (2024). Extending Context Window in Large Language Models with Segmented Base Adjustment for Rotary Position Embeddings. Applied Sciences, 14(7), 3076. DOI:10.3390/app14073076.
- Yang, A. & Reizenstein, J. (2024). Exploring Context Window of LLMs via Decomposed Positional Vectors (NeurIPS Poster). NeurIPS 2024.
Poznámky
- ↑ 1.0 1.1 1.2 Howard, James. «Context Degradation Syndrome: When Large Language Models Lose the Plot». jameshoward.us. [1]
- ↑ 2.0 2.1 2.2 2.3 Liu, Nelson F.; et al. «Lost in the Middle: How Language Models Use Long Contexts». arXiv. [2]
- ↑ Liu, Nelson F.; et al. «Lost in the Middle: How Language Models Use Long Contexts». ACL Anthology. [3]
- ↑ Greyling, Cobus. «Catastrophic Forgetting In LLMs». Medium. [4]
- ↑ «Exploring Context Window of Large Language Models via Decomposed Positional Vectors». NeurIPS Proceedings. [5]
- ↑ An, Chenxin; et al. «Why Does the Effective Context Length of LLMs Fall Short?». arXiv. [6]
- ↑ «LLMs Get Lost In Multi-Turn Conversation». arXiv. [7]
- ↑ «Introducing the next generation of Claude». Anthropic. [8]
- ↑ «Google's Gemini 1.5 Pro - Revolutionizing AI with a 1M Token Context Window». Medium. [9]
- ↑ «Long context prompting tips». Anthropic Documentation. [10]
- ↑ «What is Retrieval-Augmented Generation (RAG)?». Google Cloud. [11]