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ę:
- Normalizuje reprezentację wejściową.
- Wykonuje projekcje zapytań, kluczy i wartości oraz stosuje uwagę przyczynową.
- Wykonuje projekcję wyniku uwagi i dodaje go do pierwotnego wejścia.
- Normalizuje zaktualizowaną reprezentację.
- 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 projekcji | Obliczenie liczby parametrów | Liczba na warstwę |
|---|---|---|
| Zapytania i wyjście uwagi | 2 × 4,096² | 33,554,432 |
| Klucze i wartości | 2 × 4,096 × (8 × 128) | 8,388,608 |
| Macierze feed-forward SwiGLU | 3 × 4,096 × 14,336 | 176,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.