ざっくり言うと
Transformer(トランスフォーマー)とは、2017年の論文「Attention Is All You Need」で提案された、深層学習モデルの設計図です。文章のように順番のあるデータを、注意機構という仕組みを中心にして扱います。
注意機構は、どの言葉にどれだけ重きを置いて読むかを計算するしくみです。この設計図は、その後の多くの言語モデルへ大きな影響を与えました。
生成AIを知るうえで、外せない基礎用語です。とはいえ、AIの性能がTransformerだけで決まるわけではありません。
出来ばえを左右する要素は、ほかにもあります。
- 学習に使ったデータ
- 学習の方法
- モデルの規模
- 答えを出すときの処理
イメージ
Transformerが出てくる前は、RNNというやり方が代表的でした。順番のあるデータを扱うモデルで、前の計算結果を次へ渡しながら、順番に処理していました。
Transformerは、注意機構によって入力中の離れた位置どうしの関係を計算します。前の結果を待たずに済むので、学習のときは位置ごとの処理を並列化しやすくなりました。原論文の機械翻訳実験でも、そこが従来方式との違いとして示されています。
ただし、文章を生成するモデルは、推論時には通常、次のトークン(文章を細かく区切った単位)を一つずつ生成します。Transformerなら入力から出力まで一度に全部できあがる、という意味ではありません。
正確には
Transformerは、2017年6月にarXivで発表された論文「Attention Is All You Need」で提案されました。書いたのは、Googleの研究者Ashish Vaswani氏らです。深層学習のモデル構造(アーキテクチャ)にあたり、当初は機械翻訳のタスク向けに設計されました。
Google Researchの公式ブログでも、Transformerは「言語理解のための新しいニューラルネットワーク構造」として紹介されています。それ以前に主流だったRNN(再帰型ニューラルネットワーク)やCNN(畳み込みニューラルネットワーク)とは、異なるアプローチをとる点が特徴とされています。
原論文のTransformerは、Self-Attentionだけでできているわけではありません。次のような部品を組み合わせた、エンコーダー・デコーダー構造です。
- 注意機構を複数並べて使うMulti-Head Attention
- 位置ごとのFeed-Forward Network
- 残差接続
- Layer Normalization
- 語順を伝えるPositional Encoding
Transformerが大きな変化だった理由
IBMの解説によれば、Transformerの最大の革新は、Self-Attention(自己注意機構)という仕組みを中心に据えたことです。
| 観点 | 代表的なRNN/LSTM | 原論文のTransformer |
|---|---|---|
| 系列の処理 | 前の状態に依存して順番に進む | 入力の各位置を並列に計算しやすい |
| 離れた位置の関係 | 多数の逐次ステップを通る | 注意機構で直接参照できる |
| 生成時 | 方式による | 自己回帰型は通常トークンごとに生成 |
学習時に系列処理を並列化しやすいことが、Transformerのポイントの一つです。原論文でも、RNNや畳み込みを使わず注意機構を中心に構成し、機械翻訳で高い品質と学習時間の短縮を報告しています。
ただし、モデルの大規模化をTransformerだけの効果として説明することはできません。
Self-Attentionは何をしている?
Transformerの中心にある仕組みです。ごく大まかに言うと、あるトークンを処理するとき、参照できるほかのトークンへどれだけ重みを置くかを計算します。
この処理によって、各位置を周囲の文脈に応じた表現へ変換できます。とはいえ、この計算だけで出力の正しさが保証されるわけではありません。
さきほどの付箋と糸でいえば、どこへどれだけ太い糸を張るかを文脈に合わせて計算しているのが、Self-Attentionです。前のほうに書いた条件を後の処理でも参照できるのは、この仕組みのおかげです。
扱える長さにはモデルごとの上限があり、範囲内でも重要な条件を常に正しく使えるとは限りません。だから指示は整理して書くのが、実務上のコツです。
細かい数式まで追う必要はありません。Self-Attentionは、参照できるトークン間の関係に重みを付け、文脈に応じた表現を作る仕組みです。そこだけ押さえておきましょう。
ニュースや製品説明でTransformerという言葉が出てきたら、AIの中身そのものではなく、多くのモデルが採用している基本設計だと読み替えてください。細部を忘れても、この読み替えだけ残っていれば大丈夫です。
今のAIとTransformerのつながり
原論文は翻訳向けのエンコーダー・デコーダー構成でした。その後は、さまざまな派生が研究されています。入力の表現を作る側を中心に使う構成、次のトークンを生成する側を中心に使う構成、画像や音声を扱う応用などです。
| 構成の例 | 主な役割 | 注意点 |
|---|---|---|
| エンコーダー・デコーダー | 入力系列を別の系列へ変換 | 原論文の機械翻訳が代表例 |
| エンコーダー中心 | 入力全体の表現を作る | 分類などに使われる |
| デコーダー中心 | 直前までのトークンから次を生成 | 自己回帰型LLMで使われる構成 |
GPTという呼び名は、Generative Pre-trained Transformerの頭文字をつなげたものです。一方で、Transformerという語は、特定企業のチャットサービス全体を指す言葉ではありません。
関連用語
- LLM(大規模言語モデル) — 大量の文章から言葉のつながりを学んだAIです。多くの言語モデルで、Transformerが土台に使われています。
- GPT — 名前にTransformerが入っている、代表的なモデルの系列です。
- トークン — 文章を細かく区切った、AIが扱う単位です。
- コンテキストウィンドウ — 一度に扱える長さの上限を指す言葉です。
- 学習(トレーニング) — データを読ませて覚えさせる工程のことです。
やってみよう