Back to archive
#ai#llm#glossary#aigen

Transformer

Chcesz przetłumaczyć zdanie „Pociąg przyjedzie jutro”. Tłumaczenie każdego słowa osobno nie wystarczy: poprawna forma zależy od innych słów i ich kolejności. Model potrzebuje sposobu łączenia informacji z tekstu, również gdy ważne fragmenty są od siebie daleko.

Transformer to sposób budowy sieci neuronowej, czyli programu uczącego się obliczeń na przykładach. Dostaje tekst wcześniej podzielony na tokeny — kawałki tekstu — i tworzy ich opisy jako listy liczb. Podział wykonuje osobny program zwany tokenizerem. W kolejnych blokach miesza informacje z dostępnych pozycji oraz przekształca opis każdej pozycji. Mechanizm łączenia kontekstu nazywa się Self-attention.

W naszym zdaniu opis „przyjedzie” może uwzględniać „pociąg” i „jutro”. Nie jest to ręczna reguła rozumienia gramatyki: sposób mieszania wynika z uczenia. Informację o kolejności dostarcza osobny mechanizm, np. Positional Encoding.

Takie obliczenia można w dużej części wykonywać równolegle podczas treningu. Nie oznacza to, że nowa odpowiedź powstaje cała naraz: wiele modeli nadal dopisuje ją kawałek po kawałku. Transformer opisuje konstrukcję modelu, a nie gwarancję prawdziwości lub zrozumienia tekstu.

Mechanizm i szczegóły

Na wejściu identyfikatory tokenów są zamieniane na wektory. Informację o ich kolejności dostarcza Positional Encoding. Wewnątrz bloku Multi-Head Attention łączy informacje z dostępnych pozycji, a sieć feed-forward przekształca wynik osobno dla każdej pozycji. Połączenia residual i normalizacja pomagają przekazywać sygnał przez kolejne bloki. Takie elementy można zobaczyć w implementacji TensorFlow.

Encoder i decoder

Oryginalny model z pracy Vaswani et al., Attention Is All You Need, §3 miał encoder i decoder. Encoder tworzył reprezentację zdania wejściowego, a decoder korzystał z niej podczas generowania tłumaczenia.

Na przykład przy tłumaczeniu „Pociąg przyjedzie jutro” decoder wyznacza rozkład prawdopodobieństwa następnego tokena na podstawie wejścia i już dostępnej części odpowiedzi. Obliczenia wielu pozycji podczas treningu można wykonywać równolegle; generowanie nowej odpowiedzi nadal może przebiegać token po tokenie.

Nazwa Transformer nie określa jednego rozmiaru modelu ani jednego celu uczenia. Istnieją warianty encoder-only i decoder-only, więc szczegółów oryginalnego układu nie należy przypisywać każdemu LLM. TensorFlow omawia te warianty na końcu przewodnika.