Ukryjmy pojedynczy fakt w potężnym bloku tekstu i poprośmy model o jego odnalezienie. Już przy 50 000 tokenach Gemini zaczyna pudłować. W specyfikacji technicznej wciąż jednak dumnie widnieje okrągły milion.
Takie próby przeprowadza Michaił Burcew, badacz sztucznej inteligencji, twórca projektu DeepPavlov na MIPT, zajmujący się architekturą transformerów i mechanizmami pamięci w modelach językowych. Ponieważ stokenizowane słowo to w przybliżeniu jeden token, milion tokenów odpowiada pokaźnemu stosowi książek. Z ustaleń jego zespołu wynika jedno: model bez trudu mieści w pamięci całą tę stertę, lecz w rzeczywistości nie potrafi jej rzetelnie przeczytać.
To zjawisko doskonale zna każdy, kto spędził choć jedno popołudnie na przeciągającej się dyskusji z botem. W pewnej chwili odpowiedzi stają się mętne, a asystent zaczyna zaprzeczać samemu sobie. Praktyczna rada Burcewa jest bezlitośnie prosta: od czasu do czasu warto wyczyścić kontekst i otworzyć nowy czat. W przeciwnym razie algorytm „zaczyna plątać się we własnych myślach” i przestaje odróżniać szczegóły istotne od drugorzędnych.
Skąd bierze się ta słabość? Pamięć transformera można podzielić na dwa rodzaje. Pierwsza to pamięć długotrwała: cała wiedza przyswojona na etapie treningu, od literatury pięknej po fora internetowe. Jej przywoływanie nie wymaga angażowania bieżącej uwagi. Druga to pamięć krótkotrwała, epizodyczna – zasób wiadomości o bieżącym zadaniu i toczącej się właśnie rozmowie. Odpowiada za nią mechanizm uwagi, pierwotnie zaprojektowany z myślą o bardzo zwięzłych formach. Gdy wymyślano go na potrzeby tłumaczenia maszynowego, typowe zdanie liczyło piętnaście słów, a trzydzieści uchodziło już za wyzwanie.
Z czasem objętość danych wejściowych gwałtownie wzrosła: najpierw do trzystu słów, potem do 3000, wreszcie do 30 000. Dzisiejsze sieci neuronowe dysponują wieloma „głowicami” uwagi w każdej z około setki warstw, a każda głowica analizuje własny wycinek tekstu. Ostateczna faza ważenia musi jednak rozdzielić stałą pulę uwagi pomiędzy wszystkie elementy zapisu. W miarę wydłużania strony każdemu jej fragmentowi przypada coraz cieńszy ułamek całości.
Burcew porównuje to do ograniczeń ludzkiej percepcji. Znalezienie konkretnego wyrazu w krótkim akapicie nie sprawia nam kłopotu. Jeśli jednak to samo słowo ukryjemy w grubej powieści, nikt nie zdoła utrzymać w pamięci całej treści naraz – czytając kolejne rozdziały, zwyczajnie zapominamy wcześniejsze detale. Maszyna traci koncentrację w identyczny sposób.
Badacze postanowili sprawdzić to doświadczalnie. Umieszczali kluczowe informacje w tekstach o różnej długości, po czym pytali o nie model. Powyżej 100 000, a niekiedy nawet już przy 50 000 tokenów, skuteczność Gemini drastycznie spadała. Z reklamowanego miliona tokenów model w tego typu próbach potrafił sensownie spożytkować zaledwie od 5 do 10%.
Jeszcze gorzej wypadł wariant wymagający wyciągania wniosków. Gdy model musi połączyć ze sobą dwa fakty, by udzielić odpowiedzi niedostępnej na podstawie żadnego z nich z osobna, użyteczna długość tekstu kurczy się jeszcze bardziej. Przy konieczności powiązania trzech rozproszonych informacji algorytm gubi się już po niespełna dwóch tysiącach słów. Milion widnieje na pudełku, lecz w zadaniach wymagających logicznego myślenia zostaje z tego zaledwie parę tysięcy słów.
Grupa Burcewa opublikowała wyniki tych dociekań w czerwcu 2024 roku. W artykule wykazano, że wiodące modele językowe efektywnie operują na zaledwie 10–20% deklarowanego kontekstu, a ich sprawność gwałtownie załamuje się wraz ze wzrostem złożoności rozumowania. Niezależne badanie zespołu pod kierunkiem Cheng-Pinga Hsieha z kwietnia 2024 roku przyniosło podobne wnioski: spośród modeli reklamujących okno rzędu co najmniej 32 000 tokenów zaledwie połowa radziła sobie poprawnie przy tej granicznej wartości.
Czy rozwiązaniem jest dalsze powiększanie okna? Burcew podąża w przeciwnym kierunku. Opracowany przez jego zespół rekurencyjny transformer pamięciowy celowo utrzymuje niewielkie okno – około tysiąca tokenów – i dzieli obszerny dokument na tysiąc takich segmentów. Po przeanalizowaniu każdego fragmentu sieć zapisuje zwięzłą notatkę w specjalnych tokenach pamięci, przekazywanych do kolejnego etapu. Dzięki temu uwaga nigdy się nie rozprasza, nie traci ostrości, a zapotrzebowanie na moc obliczeniową przestaje rosnąć z kwadratem długości tekstu.
Wykorzystując tę metodę, badacze zdołali poprawnie przetworzyć treść liczącą 50 milionów tokenów. To odpowiednik pięciokrotności całej Encyklopedii Britannica – zauważa Burcew – i pięćdziesiąt razy więcej niż oficjalny zasięg Gemini. Ceną za takie podejście jest pewna utrata uniwersalności, ponieważ w syntetycznych notatkach nie sposób upchnąć każdego detalu. Od dwóch lat nikt jednak, jak twierdzi Burcew, nie przepuścił przez sieć neuronową dłuższego ciągu danych.
Trudno winić inżynierów projektujących milionowe okna kontekstowe. Winna jest sama mechanika transformerów: podzespół stworzony do jednoczesnego ważenia wszystkich elementów, zasypany nadmiarem danych, przestaje rzetelnie ważyć cokolwiek.
Jeśli ciąg jest bardzo długi, cała uwaga się rozmywa i traci się ostrość widzenia. Model traci skupienie dokładnie tak samo jak człowiek.
Если у вас очень длинная последовательность, то всё ваше внимание расплывается, вы теряете фокус внимания. Модель точно так же теряет фокус внимания, как и человек.
— Michaił Burcew, Think Like a Scientist, 74:53

Nikt dotąd nie podjął nawet próby zbudowania okna znacząco przekraczającego milion tokenów – po prostu w codziennej praktyce mało które zadanie faktycznie tego wymaga.