FocusLM
Wszystkie artykuły

Więcej kontekstu nie zawsze znaczy lepiej: co dzieje się powyżej 64k tokenów

22 lipca 20267 min czytania

Intuicja jest kusząca: skoro trochę pobranego kontekstu pomaga, to więcej musi pomóc bardziej. Pobierz pięćdziesiąt dokumentów zamiast pięciu. Obszerne badanie porównawcze wykazało, że ta intuicja się załamuje.

TL;DR

  • Dodawanie kolejnego pobranego kontekstu pomaga — do pewnego momentu, potem osiąga plateau.
  • W wielu modelach dokładność wręcz spada, gdy kontekst staje się bardzo długi.
  • Tylko najsilniejsze modele wytrzymują przy bardzo długim kontekście; większość pogarsza się wcześniej.

Pokusa „po prostu pobierz więcej”

W systemie wyszukiwania sam wybierasz, ile treści pobrać. Skoro długie okna łatwo zapełnić, dlaczego by nie pobierać hojnie i nie pozwolić modelowi przesiać materiał? Nadzieja jest taka, że więcej pobranych fragmentów oznacza większą szansę, że odpowiedź jest gdzieś w prompcie.

Co pokazują badania

W pracy Long Context RAG Performance of LLMs badacze z Databricks przeprowadzili eksperymenty z wyszukiwaniem na 20 modelach otwartoźródłowych i komercyjnych — obejmujących główne rodziny — na trzech dziedzinowych zbiorach danych. W każdym z nich utrzymywali stały mechanizm wyszukiwania i stopniowo zwiększali ilość pobranego kontekstu podawanego modelowi, od 2000 do 128 000 tokenów (a tam, gdzie model na to pozwalał, do dwóch milionów), mierząc poprawność odpowiedzi na każdym kroku.

Wzorzec był spójny: dokładność początkowo poprawia się w miarę dodawania kontekstu, potem nasyca się, a w wielu modelach spada, gdy kontekst wciąż rośnie. Co istotne, tylko garstka najnowszych, najlepszych modeli utrzymała stałą dokładność powyżej mniej więcej 64 000 tokenów; większość osiągała szczyt wcześniej i traciła na jakości. Więcej tokenów w oknie nie przekładało się na więcej poprawnych odpowiedzi.

„wystarczający” kontekstmałodużodokładność →
Powracający kształt: dokładność rośnie wraz z pobranym kontekstem, osiąga plateau, gdy jest go „wystarczająco”, a następnie może opaść, gdy prompt staje się bardzo długi. Ilustracja opisywanego trendu.
Równie wymowne były sposoby, w jakie modele zawodziły przy długim kontekście. Badanie skatalogowało odrębne tryby awarii różniące się w zależności od rodziny modeli — po prostu błędne odpowiedzi, odmowę odpowiedzi (czasem ze względów bezpieczeństwa lub praw autorskich), ignorowanie instrukcji oraz popadanie w powtarzalne lub odbiegające od tematu wypowiedzi. Długi kontekst nie zawodzi na jeden czysty sposób; zawodzi na kilka.
Zapełnienie okna jest łatwe. Skłonienie modelu, by wykorzystał wszystko, co się w nim znajduje, to trudna część — a po przekroczeniu pewnego progu dodawanie kolejnych treści działa na Twoją niekorzyść.

To zgadza się z dwiema rzeczami, które już widzieliśmy: modele niedoczytują środek długiego kontekstu, a długi kontekst wymienia koszt na jakość. Nawarstwianie pobranego tekstu spycha coraz więcej istotnego sygnału do tego niedoczytywanego środka i każe płacić za każdy dodatkowy token.

Co to oznacza dla Ciebie

Praktyczna zasada to precyzja ponad objętość. Kilka wysoce istotnych, dobrze umiejscowionych fragmentów bije gigantyczny zrzut luźno powiązanego tekstu — i kosztuje mniej. Jeśli jakość odpowiedzi Twojego systemu osiąga plateau, rozwiązaniem jest zwykle lepszy dobór, a nie więcej pobranego kontekstu.

Gdzie w to wpisuje się FocusLM

FocusLM jest zbudowany wokół precyzji. Ponieważ Twój materiał jest odłożony jako pamięć strukturalną, a nie płaski stos, system potrafi wydobyć te nieliczne fragmenty, które faktycznie odnoszą się do Twojego pytania — wraz z cytatami — zamiast zalewać model wszystkim i liczyć na szczęście. To ta sama lekcja, której uczy benchmark, wbudowana w produkt: właściwy kontekst, a nie największy kontekst.

Powiązane artykuły