本文へスキップ

レッスン 1/6 · 6分 · +100 XP

AIのTransformer(トランスフォーマー)とは何ですか?

Transformer(トランスフォーマー)は、いまの言語モデルを支えるニューラルネットワークの設計です。トークンをそれぞれ数字のリストに変え、同じ形の層を積み重ねた塔に通していきます。どの層でも、アテンションがトークンどうしに情報を伝え合わせ、フィードフォワードの部分が1つずつを磨きます。いちばん上で、次に来るトークンの候補すべてに点数をつけます。

▶ やってみよう

なぜ大切なのか

いまの言語モデルのほとんどはTransformerです。言葉どうしで分け合う動きと、言葉を1つずつ考える動き。この2つを知ると、モデルが層ごとに意味を組み立てていくしくみがわかります。

6分後にできるようになること

  • 文章はトークンになり、塔に入る前に、トークンはそれぞれ数字のリストになります。
  • どの層にも2つの部品があります。言葉が情報を分け合うアテンションと、1語ずつ磨くフィードフォワードです。
  • 何十もの層を重ねることで、あらい予想がはっきりした予測に変わります。

練習する内容

  1. 文を塔に送りこもう

    「今日の空は」がただの文章からVireoの予想になるまでの旅を、順番に並べましょう。

    1. 文章がトークンに切り分けられる
    2. トークンがそれぞれ数字のリスト(埋め込み)になる
    3. アテンション:各トークンが前のトークンから手がかりを集める
    4. フィードフォワード:各トークンの数字が1つずつ磨かれる
    5. この2つが、すべての層で何十回もくり返される
    6. いちばん上で、最後のトークンの数字が次のトークン候補すべての点数になる
  2. 塔の中をのぞいてみよう

    エンジニアは、塔の途中でVireoの予想を読み取れます。どのラウンドも同じ文で、高さだけがちがいます。パーセントは説明のための例です。

    1. 48層中の2層目:
      社長は、会議室でその資料を
      ___

      • 読む: 34% (いちばん確率が高い)
      • ご覧になる: 20%
      • コピー: 10%
      • 見た: 8%
      • その他の言葉: 28%
      塔の下のほうでは、予想はすぐ前の言葉「資料を」にたよっています。動詞を、ずっと前の「社長」とまだ結びつけていません。
    2. 48層中の24層目:
      社長は、会議室でその資料を
      ___

      • ご覧になる: 45% (いちばん確率が高い)
      • 読む: 24%
      • お読みになる: 10%
      • 見た: 5%
      • その他の言葉: 16%
      真ん中あたりで、アテンションが動詞と「社長」を結びつけたので、敬語が「読む」を追いこします。
    3. 48層中の48層目:
      社長は、会議室でその資料を
      ___

      • ご覧になる: 78% (いちばん確率が高い)
      • お読みになる: 10%
      • 読む: 3%
      • 見た: 1%
      • その他の言葉: 8%
      いちばん上では、予想がはっきりします。層ごとに少しずつ理解が足されるので、Transformerはこんなにたくさんの層を重ねるのです。
  3. これはどっちの仕事?

    どの層にも2つの部品があります。仕事を仕分けましょう。

    • 「疲れて」が、3語前の「ネコ」から情報を集める → アテンション:言葉どうしで分け合う
    • ほかを見ずに、1トークンずつ処理する → フィードフォワード:1語ずつ
    • 「ご覧になる」を、何語も前の「社長」と結びつける → アテンション:言葉どうしで分け合う
    • 取りこんだ事実など、モデルがたくわえたことの多くを持っている → フィードフォワード:1語ずつ
    • 前の言葉がいまそれぞれどれくらい大事かを決める → アテンション:言葉どうしで分け合う
  4. なぜTransformerが勝ったの?

    1. 昔の言語モデルは、文章を1語ずつ順番に読んでいました。Transformerは何を変えた?

      • 文章のトークンを全部並べて同時に処理し、チップを効率よく使えるようにした (答え)
      • 1文字ずつ、もっとゆっくりていねいに読むようにした
    2. Vireoには48の層があります。層どうしは何がちがう?

      • 設計は同じで、層ごとに学習した重みがちがう (答え)
      • 層ごとにまったくちがう種類の機械

覚えておこう

Transformerは、1つの層の設計をたくさん積み重ねたものです。アテンションで言葉が分け合い、フィードフォワードで1語ずつ磨き、いちばん上で次のトークンに点数をつけます。

トークンは、同じ形の何十もの層をのぼっていきます。各層で言葉どうしが情報を分け合い、それから1語ずつ磨かれます。

押さえておきたい事実

  • Transformerは2017年に、最初は翻訳のために発表されました。 · 出典: Vaswani et al., Attention Is All You Need, Google, 2017
  • 最初のTransformerは、入力を読む側と出力を書く側に、それぞれ6層を重ねていました。 · 出典: Vaswani et al., 2017
  • いちばん大きなGPT-3は、Transformerの層を96層重ねています。 · 出典: Brown et al., Language Models are Few-Shot Learners, OpenAI, 2020
  • 研究者は、Transformerの層のフィードフォワードの部分が、学習した文章のパターンをたくわえる「キーと値の記憶」のように働くことを見つけました。 · 出典: Geva et al., Transformer Feed-Forward Layers Are Key-Value Memories, 2021

更新日:

よくある質問

GPTの「T」は何の略ですか?

Transformerです。GPTはGenerative Pre-trained Transformerの略で、文章を生成し、まず大量の文章で事前学習され、Transformerの設計を使うモデルという意味です。

ニューラルネットワークの「層」とは何ですか?

処理の1段階です。Transformerでは、各層が全トークンの数字を受け取り、アテンションで情報を分け合わせ、フィードフォワードで磨いて、次の層へ渡します。

なぜTransformerは昔のモデルよりすぐれているのですか?

学習中に文章のトークンをすべて同時に処理でき、遠くはなれた言葉どうしも結びつけられるからです。おかげで、ずっと大きなモデルをずっと多くの文章で学習させられるようになりました。

大規模言語モデルはすべてTransformerですか?

いま人気のもののほとんどは、Transformerかそれに近い形です。研究者はほかの設計も試し続けていますが、2018年ごろからTransformerが標準になっています。

関連用語