以前、「文章を扱うAI=RNN」と参考書で読んだんですが、それは古い話でしょうか?
鋭い質問ね。
つむぎさんの読んだ本が古いわけじゃなくて、2017年以降に劇的に状況が変わったの。
Transformerというアーキテクチャが登場してからよ。
「変換する人」って名前のAI?
なんかすごそう!
ふふ、名前は「変換器」って意味で、翻訳(変換)のために生まれた経緯もあるのよ。
Google Brainチームが発表した論文『Attention Is All You Need』が原点ね。
タイトルは「注意機構だけで十分」という意味で、それまでのRNNやLSTMを一切使わない斬新な提案だった。
RNNって、前に出てきた「順番に読むAI」のことぉ?
そのままじゃダメだったのぉ?
そう。
RNNは単語を1個ずつ順に処理するから、長文で遅いし、遠い単語同士の関係が薄れがち——長期依存の問題があったの。
それに GPU の並列計算が活かせないのも致命的だったわ。
ちょっと待って、並列計算できないと何が困るの?
Transformerなら並列でいけるってこと?
GPUは並列計算が得意なのに、RNN は1単語ずつ順番待ちだから高速化しにくいの。
Transformer は全単語を同時に Self-Attention で処理するから、並列計算をフル活用できて、学習が爆速になったのよ。
つまり「ハードウェアの進化と相性の良い構造」ですね。
これがスケーリング可能性を一変させた、と。
では、全体の形はどうなっているんですか?
大まかに言うとエンコーダとデコーダの2つのブロックからなるわ。
それぞれの中身は、Self-Attention層 → Feed-Forward層 →(残差接続+LayerNorm)が積み重なった単純構造を何層も重ねる形よ。
積み木みたいに重ねるだけなの?
なんか地味だね。
そう。
しかも積み木の数やパラメータ数を増やすと、性能が予測的に伸びる——これが後のスケーリング則の話につながるの。
補足ですが、GPTはデコーダだけ、BERTはエンコーダだけ、翻訳用 T5 などは両方、と用途で使い分けます。
あと位置情報はどうしているんですか?
よく気づいたわね。
位置エンコーディングという仕組みで単語の順番を教えるの——これは次の記事で詳しくね。
構造は地味だけど、並列計算できるからこそ今のデカい AI が出来たんだ。
地味すご〜い。
画像のViTとか、色んな分野に使われてるもんね。
その通り。
汎用性と並列性が Transformer の2大魅力。
試験では「Self-Attention」「並列計算」「エンコーダ/デコーダ」「2017年 Attention Is All You Need」を軸に覚えればOKよ。
確認クイズ
Transformer が従来のRNNに対して持つ最大の利点はどれか。
- メモリ使用量が少ない
- ルールベースで動作する
- 並列計算が可能で高速
- 学習データが不要
こたえを見る
正解: 3. 並列計算が可能で高速
Transformer はセルフアテンションにより全単語を同時処理できるため、GPU の並列計算を活用して高速に学習できます。メモリはむしろO(n²)で増えがち、ルールベースではなく学習型、学習データは大量に必要です。