Rozpakowywanie błędu pozycji w dużych modelach językowych: Dlaczego sztuczna inteligencja często nie trafia w środek
Ostatnie przełomy w sztucznej inteligencji, z modelami takimi jak GPT-4, Claude i LLaMA, całkowicie zmieniły sposób, w jaki używamy tych narzędzi - od przeszukiwania drobnego druku dokumentów prawnych po pomoc programistom w pisaniu lepszego kodu. Te duże modele językowe są wszędzie w środowiskach o wysokiej stawce. Wiążą się one jednak z subtelnym ograniczeniem, które łatwo przeoczyć: tendencyjnością pozycji.
Tendencyjność pozycji działa bardzo podobnie do tego, jak brzmi. Modele językowe mają tendencję do zwracania szczególnej uwagi na informacje na samym początku i końcu sekwencji, czasami pomijając to, co znajduje się w środku. Wyobraźmy sobie prawnika szukającego kluczowej klauzuli w długiej umowie. Jeśli klauzula ta znajduje się gdzieś pośrodku, istnieje większe ryzyko, że sztuczna inteligencja całkowicie ją przeoczy. Ludzie nazywają to problemem “zagubienia w środku” i nie jest to tylko drobne dziwactwo - może mieć realne konsekwencje, gdy liczy się dokładność.
Naukowcy z MIT postanowili zagłębić się w tę tendencyjność i dowiedzieć się dokładnie, co się dzieje. Badając wewnętrzne działanie transformatorów - silników napędzających większość nowoczesnych modeli językowych - odkryli coś intrygującego. Sposób, w jaki modele te rozkładają swoją uwagę, nie jest neutralny; kształtuje to, na czym się skupiają i dlaczego. W niektórych przypadkach konstrukcja modeli sprawia, że są one bardziej skłonne do chwytania szczegółów na początku lub na końcu dokumentu, pozostawiając środek słabo obsłużony. Jak ujął to Xinyi Wu, jeden z autorów badania, zrozumienie tych ’czarnych skrzynek“ jest trudne, ale niezbędne, jeśli chcemy inteligentniejszej i bardziej niezawodnej sztucznej inteligencji.
Co takiego jest w mechanizmie uwagi, że to powoduje? Transformatory pozwalają każdemu segmentowi (lub “tokenowi”) w tekście zwracać uwagę na inne tokeny, pomagając modelowi zrozumieć kontekst i znaczenie. Jednak w przypadku długich dokumentów istnieje praktyczne ograniczenie - modele nie są w stanie przetworzyć każdej relacji. Deweloperzy używają technik takich jak maskowanie i kodowanie pozycyjne, aby zarządzać tą złożonością. Popularna metoda, maskowanie przyczynowe, ogranicza uwagę tak, że każdy token patrzy tylko na to, co było wcześniej. Jest to świetne rozwiązanie do generowania tekstu podobnego do ludzkiego, ale wiąże się z pewnym kosztem: może zmusić model do zbytniego ważenia wcześniejszych słów, nawet jeśli nie są one tak istotne.
Efekt ten staje się bardziej wyraźny, gdy dodajemy więcej warstw uwagi, aby uczynić te modele inteligentniejszymi i bardziej złożonymi. Kodowanie pozycyjne może pomóc - buduje połączenia między słowami i ich pobliskim kontekstem, ułatwiając modelowi utrzymanie znaczenia w całej sekwencji. Jednak w miarę pogłębiania modeli, skuteczność tych kodowań może zanikać. W tej sieci uwagi naukowcy odkryli, że wykorzystanie wykresów do wizualizacji połączeń pomaga śledzić, jak zależność zmienia się w modelu. To skomplikowana praca, ale to właśnie te ukryte relacje kształtują wyniki.
Zespół MIT nie polegał tylko na teorii. Ich eksperymenty wykazały coś uderzającego: podczas wyszukiwania informacji modele działają najlepiej, jeśli kluczowa treść znajduje się na początku lub na końcu, a najgorzej, jeśli znajduje się pośrodku - klasyczna krzywa wydajności w kształcie litery U. Oznacza to, że istotne informacje znajdujące się w połowie dokumentu mogą zostać zignorowane.
Istnieją jednak rozwiązania. Dostosowując sposób, w jaki modele maskują informacje, dostosowując liczbę warstw uwagi lub dostrajając sposób kodowania pozycji, programiści mogą zmniejszyć tę stronniczość. Kolejnym ważnym krokiem jest upewnienie się, że dane wykorzystywane do trenowania tych modeli nie są z natury stronnicze w kierunku umieszczania treści. Jak ujął to Wu, dopracowanie i staranne dostosowanie modelu jest niezbędne, zwłaszcza jeśli istnieje ryzyko, że dane ze świata rzeczywistego mogą wzmocnić te uprzedzenia.
Dlaczego to wszystko ma znaczenie? We wrażliwych sytuacjach - takich jak chatbot, który musi zapamiętać długą rozmowę, model medyczny przeszukujący lata dokumentacji pacjentów lub asystent kodowania zagłębiający się w tysiące wierszy starszego kodu - przeoczenie informacji na podstawie tego, gdzie się pojawiają, jest nie tylko niewygodne, ale może być niebezpieczne. Jak zauważa Ali Jadbabaie, inny autor badania, zrozumienie ograniczeń modelu i wiedza o tym, kiedy może on zawieść, ma kluczowe znaczenie, jeśli mamy zaufać tym narzędziom przy podejmowaniu ważnych decyzji.
To, co wyróżnia tę pracę, to nie tylko pragmatyczne porady dla programistów, ale także sposób, w jaki odsuwa zasłonę na zachowanie tych modeli. W miarę jak sztuczna inteligencja staje się coraz bardziej związana z naszym codziennym życiem, te spostrzeżenia pomogą budować systemy, które są nie tylko potężniejsze, ale także bardziej sprawiedliwe i dokładne - tak godne zaufania, jak inteligentne.