Jakie operacje wykonuje warstwa dekodera transformera?

Tłumaczenie automatyczne

Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Warstwa dekodera transformera aktualizuje reprezentacje tokenów za pomocą mechanizmu uwagi i sieci feed-forward. Mechanizm uwagi łączy informacje z widocznych tokenów. Sieć feed-forward przekształca reprezentację każdego tokena osobno. Normalizacja i dodawanie rezydualne wspierają powtarzanie obliczeń w wielu warstwach.

Prześledź jedną warstwę typu Llama

Typowy dekoder z normalizacją wstępną wykonuje następującą sekwencję:

  1. Normalizuje reprezentację wejściową.
  2. Wykonuje projekcje zapytań, kluczy i wartości oraz stosuje uwagę przyczynową.
  3. Wykonuje projekcję wyniku uwagi i dodaje go do pierwotnego wejścia.
  4. Normalizuje zaktualizowaną reprezentację.
  5. Uruchamia sieć feed-forward i dodaje jej wynik.

Dodawanie rezydualne zachowuje ścieżkę wejścia przez każdy podblok. RMSNorm zmienia skalę reprezentacji bez odejmowania średniej, które wykonuje LayerNorm. Modele różnią się położeniem normalizacji, typem uwagi, funkcją aktywacji i wyrazami wolnymi; ta sekwencja opisuje blok typu Llama, a nie każdy transformer.

Artykuł o Transformerze definiuje uwagę jako kombinację wartości ważoną funkcją softmax. Maskowanie przyczynowe pozwala pozycji uwzględniać samą siebie i wcześniejsze pozycje. Projekcje wielogłowicowe pozwalają różnym wyuczonym podprzestrzeniom wpływać na wynik, bez przypisywania każdej głowicy stałej roli językowej.

Policz rzeczywiste projekcje

Konfiguracja Llama 3 8B firmy Meta ma wymiar ukryty 4,096, wymiar sieci feed-forward 14,336, 32 głowice zapytań, osiem głowic KV i wymiar głowicy 128.

Grupa projekcjiObliczenie liczby parametrówLiczba na warstwę
Zapytania i wyjście uwagi2 × 4,096²33,554,432
Klucze i wartości2 × 4,096 × (8 × 128)8,388,608
Macierze feed-forward SwiGLU3 × 4,096 × 14,336176,160,768

SwiGLU wykorzystuje dwie projekcje wejściowe, łączy wynik jednej z nich po aktywacji z drugim wynikiem element po elemencie i stosuje projekcję wyjściową. GLU Variants Improve Transformer definiuje tę postać obliczeń.

Macierze feed-forward odpowiadają za około 81% tych wag projekcji. Nie oznacza to 81% całkowitego czasu wykonania ani całego modelu: znaczenie mają też embeddings, głowica wyjściowa słownika, normalizacja, obliczenia uwagi i transfery pamięci.

Przy szacowaniu liczby parametrów używaj dokładnej szerokości FFN i liczby głowic KV. Ogólne przybliżenie 12 × layers × hidden_dimension² zakłada inny konwencjonalny blok i pomija istotne szczegóły GQA/SwiGLU.

Przewodnik inżynierski: architektura transformera zawiera schemat warstwy i szacowanie liczby parametrów.