Jak właściwie działa self attention i dlaczego zmieniło wszystko?

Jeden trik pozwala modelowi połączyć dwa słowa z przeciwnych końców akapitu, jakby stały tuż obok siebie.

Oto pojedynczy pomysł, na którym opiera się właściwie cała współczesna AI, a większość ludzi korzystających z tych narzędzi na co dzień nawet nie wie, że istnieje.

W 2017 roku ukazała się praca z chyba najbardziej zuchwałym tytułem w historii informatyki: "Attention Is All You Need", czyli mniej więcej "uwaga to wszystko, czego potrzebujesz". Niezbyt skromne stwierdzenie. Okazało się prawdziwe.

Pomysł, zwany self attention, działa tak. Zamiast czytać zdanie słowo po słowie po kolei, model patrzy na każde słowo w zestawieniu z każdym innym naraz. Dla każdego słowa zadaje właściwie pytanie: spośród wszystkiego innego w tym zdaniu, ile uwagi powinienem ci teraz poświęcić?

Zaraz, skąd stos liczb ma wiedzieć, że "to" w zdaniu oznacza "zwierzę", a nie "ulicę"?

Każde słowo zamienia się w trzy małe listy liczb, zwane query, key i value. Wyobraź sobie bibliotekę. Query to to, czego słowo szuka. Key to to, co słowo o sobie ogłasza. Value to to, co faktycznie przekazuje, gdy dojdzie do dopasowania. Żeby sprawdzić, ile uwagi "to" powinno poświęcić słowu "zwierzę", model porównuje query słowa "to" z key słowa "zwierzę". Robi to porównanie z dosłownie każdym słowem w zdaniu, zamienia wyniki na procenty sumujące się do stu, i nagle "to" staje się mieszanką wszystkich pozostałych słów, ważoną według istotności. Głównie zwierzę. Prawie nic z "the" czy "ponieważ".

I tu jest ta część, przez którą to było aż tak wielkie, poza samą sprytnością pomysłu. Porównywanie każdego słowa z każdym innym nie jest łańcuchem kroków, które muszą zajść po kolei. To jeden wielki blok mnożenia macierzy, wykonywany naraz. A to oznaczało, że coś, czego ludzie chcieli od lat, nagle stało się możliwe: rzucenie ogromnej mocy obliczeniowej na język i sprawienie, że ta dodatkowa moc faktycznie pomaga.

Model w końcu mógł pamiętać drugie słowo, dochodząc do pięćdziesiątego. Nie w przybliżeniu. Bezpośrednio.