Back to archive
#ai#llm#glossary#aigen

Causal Masking

Uczysz model dopisywać „kota” po „Ala ma”. W gotowym przykładzie słowo „kota” już istnieje. Jeśli model mógłby je podejrzeć podczas przewidywania, zadanie byłoby pozornie łatwe, ale nie przypominałoby tworzenia nowej odpowiedzi.

Causal Masking blokuje przepływ informacji z późniejszych pozycji tekstu do wcześniejszych. Token jest kawałkiem tekstu. Gdy pozycja zawierająca „ma” ma pomóc przewidzieć kolejny token, może korzystać z „Ala” i „ma”, ale przyszłe „kota” nie może wpływać na jej wynik.

To blokada dostępu, a nie tylko zmniejszenie znaczenia przyszłego fragmentu. Jego udział w mieszaniu informacji musi być zerowy. Dzięki temu podczas uczenia można przetwarzać wiele pozycji równocześnie, zachowując warunki przewidywania wyłącznie z dostępnej przeszłości.

Maska nie informuje o znaczeniu słów i nie zastępuje sygnału pozycji. Poniższa tabela i eksperyment pokazują, które połączenia pozostają dozwolone.

Mechanizm i szczegóły

Maska działa na dopuszczalność połączeń, a nie na znaczenie słów. Odrzuconej pozycji nie przyznaje się po prostu trochę mniejszej wagi: jej udział w wyniku attention ma wynosić zero. Implementacja TensorFlow pokazuje ten warunek i porównuje wyniki dla pełnej oraz skróconej sekwencji.

Które pozycje są dostępne

Dla trzech pozycji otrzymujemy:

Pozycja queryKey 1Key 2Key 3
1taknienie
2taktaknie
3taktaktak

Przy uczeniu przewidywania następnego tokena wejście [start, A, B] można zestawić z celami [A, B, C]. Druga pozycja widzi start i A, gdy ma przewidzieć B. Dostęp do bieżącej pozycji wejściowej nie ujawnia więc odpowiedzi. To ilustracja przesunięcia celów o jeden krok.

W Scaled Dot-Product Attention zakazane wyniki porównań zastępuje się matematycznie wartością minus nieskończoność przed softmax. Maskę i przesunięcie opisują Vaswani et al., §3.1 i §3.2.3.

Positional Encoding informuje o kolejności, ale samo nie blokuje dostępu. Maska paddingu rozwiązuje jeszcze inny problem: pomija sztuczne wypełnienie sekwencji, niezależnie od tego, czy leży ono w przyszłości.