トランスフォーマーファミリー版2.0
本文の状態
日本語全文を表示中
詳細モードで約2分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Lilian Weng
著者は3年前の投稿を大幅に改訂し、近年のアーキテクチャ改善案を追加した「トランスフォーマーファミリー版2.0」を公開した。これは旧版の上位互換で約2倍の長さとなり、セクション階層を再構築して最新論文を反映している。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るSource Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
私の「The Transformer Family」に関する投稿から約3年前以来、多くの新しいTransformerアーキテクチャの改善案が提案されています。ここでは2020年の投稿を大規模にリファクタリングし、セクションの階層構造を再構築するとともに、より最新の論文を用いて多くのセクションを充実させました。Version 2.0 は旧バージョンのスーパーセットであり、長さは約2倍になっています。
記号
Symbol Meaning
d モデルサイズ / ヒdden状態次元 / 位置エンコーディングサイズ。
h マルチヘッドアテンション層におけるヘッド数。
L 入力シーケメントのセグメント長さ。
N モデル内のアテンション層の総数(MoE は考慮しない)。
X ∈ ℝ^{L × d} 各要素が次元 d の埋め込みベクトルにマッピングされた入力シーケンス。これはモデルサイズと同じです。
W^k ∈ ℝ^{d × d_k} キー重み行列。
W^q ∈ ℝ^{d × d_k} クエリ重み行列。
W^v ∈ ℝ^{d × d_v} バリュー重み行列。通常、d_k = d_v = d となります。
$\mathbf{W}^k_i, \mathbf{W}^q_i \in \mathbb{R}^{d \times d_k/h}; \mathbf{W}^v_i \in \mathbb{R}^{d \times d_v/h}$
ヘッドごとの重み行列。
$\mathbf{W}^o \in \mathbb{R}^{d_v \times d}$
出力重み行列。
$\mathbf{Q} = \mathbf{X}\mathbf{W}^q \in \mathbb{R}^{L \times d_k}$
クエリ埋め込み入力。
$\mathbf{K} = \mathbf{X}\mathbf{W}^k \in \mathbb{R}^{L \times d_k}$
キー埋め込み入力。
$\mathbf{V} = \mathbf{X}\mathbf{W}^v \in \mathbb{R}^{L \times d_v}$
バリュー埋め込み入力。
$\mathbf{q}_i, \mathbf{k}_i \in \mathbb{R}^{d_k}, \mathbf{v}_i \in \mathbb{R}^{d_v}$
クエリ、キー、バリュー行列(それぞれ$\mathbf{Q}$、$\mathbf{K}$、$\mathbf{V}$)内の行ベクトル。
$S_i$
第$i$番目のクエリ$\mathbf{q}_i$が注目すべきキーの位置の集合。
$\mathbf{A} \in \mathbb{R}^{L \times L}$
長さ$L$の入力系列とそれ自身との間の自己アテンション行列。$\mathbf{A} = \text{softmax}(\mathbf{Q}\mathbf{K}^\top / \sqrt{d_k})$。
$a_{ij} \in \mathbf{A}$
クエリ$\mathbf{q}_i$とキー$\mathbf{k}_j$間のスカラーアテンションスコア。
$\mathbf{P} \in \mathbb{R}^{L \times d}$
位置エンコーディング行列であり、$i$番目の行 $\mathbf{p}_i$ は入力 $\mathbf{x}_i$ のための位置エンコーディングです。
Transformer Basics
Transformer(他の改良版と区別するためにここでは「バニラ Transformer」と呼ぶことにします;Vaswani, et al., 2017)モデルは、多くのNMT モデルで一般的に使用されているエンコーダ・デコーダアーキテクチャを持っています。後に簡略化された Transformer は、エンコーダのみを用いた BERT やデコーダのみを用いた GPT などの言語モデルタスクにおいて優れた性能を発揮することが示されました。
原文を表示
Many new Transformer architecture improvements have been proposed since my last post on “The Transformer Family” about three years ago. Here I did a big refactoring and enrichment of that 2020 post — restructure the hierarchy of sections and improve many sections with more recent papers. Version 2.0 is a superset of the old version, about twice the length.
Notations
| Symbol | Meaning |
|---|---|
| $d$ | The model size / hidden state dimension / positional encoding size. |
| $h$ | The number of heads in multi-head attention layer. |
| $L$ | The segment length of input sequence. |
| $N$ | The total number of attention layers in the model; not considering MoE. |
| $\mathbf{X} \in \mathbb{R}^{L \times d}$ | The input sequence where each element has been mapped into an embedding vector of shape $d$, same as the model size. |
| $\mathbf{W}^k \in \mathbb{R}^{d \times d_k}$ | The key weight matrix. |
| $\mathbf{W}^q \in \mathbb{R}^{d \times d_k}$ | The query weight matrix. |
| $\mathbf{W}^v \in \mathbb{R}^{d \times d_v}$ | The value weight matrix. Often we have $d_k = d_v = d$. |
| $\mathbf{W}^k_i, \mathbf{W}^q_i \in \mathbb{R}^{d \times d_k/h}; \mathbf{W}^v_i \in \mathbb{R}^{d \times d_v/h}$ | The weight matrices per head. |
| $\mathbf{W}^o \in \mathbb{R}^{d_v \times d}$ | The output weight matrix. |
| $\mathbf{Q} = \mathbf{X}\mathbf{W}^q \in \mathbb{R}^{L \times d_k}$ | The query embedding inputs. |
| $\mathbf{K} = \mathbf{X}\mathbf{W}^k \in \mathbb{R}^{L \times d_k}$ | The key embedding inputs. |
| $\mathbf{V} = \mathbf{X}\mathbf{W}^v \in \mathbb{R}^{L \times d_v}$ | The value embedding inputs. |
| $\mathbf{q}_i, \mathbf{k}_i \in \mathbb{R}^{d_k}, \mathbf{v}_i \in \mathbb{R}^{d_v}$ | Row vectors in query, key, value matrices, $\mathbf{Q}$, $\mathbf{K}$ and $\mathbf{V}$. |
| $S_i$ | A collection of key positions for the $i$-th query $\mathbf{q}_i$ to attend to. |
| $\mathbf{A} \in \mathbb{R}^{L \times L}$ | The self-attention matrix between a input sequence of lenght $L$ and itself. $\mathbf{A} = \text{softmax}(\mathbf{Q}\mathbf{K}^\top / \sqrt{d_k})$. |
| $a_{ij} \in \mathbf{A}$ | The scalar attention score between query $\mathbf{q}_i$ and key $\mathbf{k}_j$. |
| $\mathbf{P} \in \mathbb{R}^{L \times d}$ | position encoding matrix, where the $i$-th row $\mathbf{p}_i$ is the positional encoding for input $\mathbf{x}_i$. |
Transformer Basics
The Transformer (which will be referred to as “vanilla Transformer” to distinguish it from other enhanced versions; Vaswani, et al., 2017) model has an encoder-decoder architecture, as commonly used in many NMT models. Later simplified Transformer was shown to achieve great performance in language modeling tasks, like in encoder-only BERT or decoder-only GPT.
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み