Attention to mechanizm, dzięki któremu w zdaniu „zamek był zardzewiały” model wie, że nie chodzi o budowlę. Każdy token patrzy na pozostałe i waży, które z nich są dla niego istotne.
Czym jest attention
Attention to warstwa, w której reprezentacja każdego tokenu jest aktualizowana na podstawie pozostałych tokenów w sekwencji. Dla każdej pary pozycji wyliczana jest waga mówiąca, jak silnie jedna powinna wpływać na drugą. Token nie ma więc znaczenia stałego — jego wektor zmienia się w zależności od sąsiedztwa, przechodząc przez kolejne warstwy modelu.
Wiele głów naraz
W praktyce mechanizm działa równolegle w kilkunastu lub kilkudziesięciu niezależnych kopiach, nazywanych głowami. Każda uczy się zwracać uwagę na inny rodzaj zależności — jedne na relacje składniowe, inne na odległe powiązania w tekście. Wyniki wszystkich głów są łączone i przekazywane dalej.
Dlaczego to kosztuje
Skoro każda pozycja jest porównywana z każdą, liczba porównań rośnie z kwadratem długości sekwencji. Podwojenie kontekstu oznacza czterokrotnie więcej pracy w warstwie uwagi. To jest źródło kosztu długich promptów i powód, dla którego istnieją techniki takie jak KV cache czy warianty uwagi o obniżonej złożoności.
Uwaga na metaforę
Słowo „uwaga” jest wygodnym skrótem, ale nie opisuje niczego świadomego. Waga uwagi to wynik mnożenia macierzy, nie decyzja. Model nie wybiera, na co patrzeć — wybiera to rozkład wyliczony z wyuczonych wag.