Obsah

Kontextové okno u LLM

Kontextové okno je rozsah vstupu, se kterým model pracuje při generování odpovědi. V praxi určuje, kolik instrukcí, historie chatu, dokumentů nebo dat je model schopný vzít v úvahu najednou. Samotná velikost kontextového okna ale nezaručuje, že model využije všechny části dlouhého vstupu stejně dobře.

Co je kontextové okno

Kontextové okno je aktuální pracovní prostor modelu. Patří do něj například:

Když se do kontextového okna něco nevejde, model s tím při generování odpovědi už nepracuje. Ani u textu, který se do okna vejde, ale není jisté, že všechny části dostanou stejnou váhu.

Proto je důležité řešit dvě věci:

U-křivka pozornosti a ''lost in the middle''

U delších vstupů se u LLM často popisuje jev označovaný jako lost in the middle. Model má tendenci věnovat více pozornosti začátku a konci dlouhého textu než jeho středu. Tento vzorec se často popisuje jako U-křivka pozornosti.

Praktický dopad je jednoduchý:

To je důvod, proč model někdy správně respektuje úvodní instrukce a závěrečné shrnutí, ale hůř využije důležitý odstavec schovaný uprostřed dlouhého dokumentu.

Co z toho plyne v praxi

Velké kontextové okno je užitečné, protože umožňuje přiložit víc dat najednou. Samo o sobě ale neřeší problém s tím, že model nemusí všechno v dlouhém vstupu využít rovnoměrně.

Pokud je důležitá informace schovaná uprostřed dlouhého textu, může mít menší šanci, že se promítne do výsledku. Proto dává smysl pracovat nejen s délkou vstupu, ale i s jeho kompozicí.

Prompty

U delších promptů je vhodné dát klíčové zadání hned na začátek. Pokud je prompt složitější, pomáhá důležité podmínky na konci stručně zopakovat.

Osvědčuje se hlavně:

Příklad jednoduché struktury promptu:

Cíl: Vysvětli téma pro začátečníka.
Důležité podmínky: stručně, bez marketingu, s praktickými příklady.

Doplňující kontext:
...

Shrnutí zadání:
- vysvětlit princip
- uvést praktické dopady
- nepřidávat neověřené informace

Dokumenty a články

U delších dokumentů nestačí mít správné informace jen někde v textu. Důležité definice, závěry a hlavní sdělení je vhodné dát na začátek a na konec.

Dobře funguje:

Pokud je text příliš dlouhý, bývá lepší ho rozdělit na více samostatných článků nebo sekcí, které dávají smysl i samy o sobě.

Webový obsah

Stejný princip platí i pro webové stránky. Pokud má stránka vysvětlit produkt, službu nebo konkrétní téma, hlavní informace by měly být viditelné hned na začátku stránky, ne až po delším úvodu.

Prakticky to znamená:

Tento princip pomáhá nejen modelům, ale často i lidem, kteří obsah skenují podobným způsobem.

RAG

U RAG nestačí řešit jen kvalitu retrievalu. Důležité je také to, jak vypadají jednotlivé chunky a co se stane po jejich složení do výsledného kontextu.

Praktické dopady pro RAG:

Jinými slovy: větší kontextové okno samo o sobě problém neřeší. Pomáhá pojmout více dat, ale neodstraňuje nerovnoměrnou pozornost v rámci dlouhého vstupu.

Doporučené techniky

Pro práci s kontextovým oknem se osvědčují hlavně tyto postupy:

Nejde o to informace bezmyšlenkovitě opakovat, ale umístit je tak, aby byly pro model snadno dostupné ve chvíli, kdy je potřebuje použít.

Rychlý checklist

Když připravuji delší vstup pro LLM, vyplatí se zkontrolovat:

Shrnutí

Kontextové okno určuje, s jak velkým vstupem model pracuje, ale samo o sobě nezaručuje rovnoměrné zpracování celého textu. U dlouhých vstupů mají LLM obvykle větší citlivost na začátek a konec než na střed.

Z praktického hlediska proto dává smysl psát prompty, články, webový obsah i RAG chunky tak, aby klíčové informace byly viditelné hned na začátku a znovu potvrzené na konci. Pokud je důležitý bod schovaný uprostřed dlouhého obsahu, model ho může využít hůř, i když se do kontextového okna formálně vejde.

Zdroje