https://arxiv.org/pdf/2307.03172
Ten paper sprawdza, czy modele językowe naprawdę dobrze korzystają z długiego kontekstu.
Czyli: mamy dużo tekstu, dokumentów albo danych wrzuconych do prompta i pytanie brzmi, czy model potrafi znaleźć ważną informację niezależnie od tego, gdzie ona leży.
Autorzy pokazują, że nie do końca tak jest.
Główna idea
Najważniejszy wniosek jest taki:
- gdy ważna informacja jest na początku, modele często radzą sobie dobrze
- gdy ważna informacja jest na końcu, też często radzą sobie dobrze
- gdy ważna informacja jest w środku długiego kontekstu, wyniki wyraźnie spadają
Stąd tytuł Lost in the Middle — modele często „gubią się” w środku kontekstu.
Jak to badali
Autorzy zrobili dwa główne testy.
1. Pytania na podstawie wielu dokumentów
Mamy pytanie i kilka dokumentów.
Tylko jeden dokument zawiera poprawną odpowiedź.
Autorzy zmieniają tylko jedno:
przesuwają dokument z odpowiedzią:
- na początek
- do środka
- na koniec
I sprawdzają, jak zmienia się skuteczność modelu.
2. Prosty test wyszukiwania klucz-wartość
Mamy listę par typu JSON: klucz → wartość.
Model dostaje klucz i ma znaleźć odpowiadającą mu wartość.
To już nie jest trudne rozumowanie, tylko bardzo prosty test:
czy model potrafi wyciągnąć właściwy element z długiego wejścia.
Jakie są wyniki
Najważniejszy wzór wygląda jak litera U:
- dobrze na początku
- słabo w środku
- lepiej na końcu
Czyli pozycja informacji w kontekście naprawdę ma znaczenie.
Co to znaczy praktycznie
To oznacza, że:
- samo danie modelowi bardzo długiego kontekstu nie wystarcza
- model z dużym context window nie musi automatycznie dobrze korzystać z całego tego okna
- dodanie większej liczby dokumentów może niewiele dawać, jeśli model nie umie skutecznie przeszukać i wykorzystać środka kontekstu
Konkretne obserwacje z paperu
W zadaniu z wieloma dokumentami autorzy pokazali, że np. GPT-3.5 potrafił działać gorzej wtedy, gdy poprawna informacja była w środku, niż wtedy, gdy w ogóle nie dostał dokumentów i odpowiadał tylko ze swojej „pamięci”.
W teście key-value część modeli radziła sobie bardzo dobrze, ale inne dalej miały problem, szczególnie gdy właściwa para była umieszczona w środku długiej listy.
Autorzy pokazali też, że w zadaniach typu retrieval zwiększanie liczby dokumentów poprawia recall, ale wyniki samego modelu przestają rosnąć dużo wcześniej.
Czyli mamy więcej danych, ale model nie potrafi ich dobrze wykorzystać.
Najprostszy wniosek
Najprościej mówiąc:
LLM nie używa długiego kontekstu tak dobrze, jak często zakładamy.
Najlepiej działa na początku i końcu wejścia.
Środek jest najsłabszym miejscem.