定義
文の中にあるすべての単語が互いを一度に見渡し、誰が誰と深く関係しているかを割り出すAI(人工知能)の基本設計です。単語を先頭から順に読まなくてもよいため計算を効率よく分担でき、遠く離れた単語同士も直通ルートで結ばれるため、従来の方式のように文頭の内容が途中でぼやけてしまうことが大幅に減りました。
「伝言ゲーム」から「全員で顔を見合わせる」へ
教室で行う「伝言ゲーム」を思い浮かべてみてください。先頭の人が聞いた言葉を隣へ、さらにその隣へと小声で耳打ちして回していきます。後ろに進むほど最初の言葉はあやふやになり、最後の人に伝わるまでに時間もかかりますよね。
昔のAIが文を処理する方法は、まさにこの伝言ゲームと同じでした。単語を前から順番に1つずつ読み進めていたのです。そのため、文が長くなると最初の方の内容が次第に薄れ、忘れ去られてしまうという弱点がありました。
トランスフォーマーモデルは、この座席配置を根底から変えてしまいました。一列に並んで耳打ちする代わりに、すべての単語が同時に互いを見つめ合えるようにしたのです。
これなら、文の最後にある単語からでも、先頭の単語をまっすぐ見つめられます。距離が離れていても情報がぼやけにくく、たくさんの計算を同時に分担して進められます。ただし、文章が極端に長くなると一部の情報をうまく生かせないこともあります。また、対話型AIのように文章を順に書き足していくモデルでは、未来の言葉を見ないよう、後ろの単語を隠して処理を進める仕組みも使われます。
誰をどれだけ注目するか点数をつける
ただ見つめ合っているだけでは不十分です。「猫が魚をくわえて逃げた。それはとても素早かった」という文を考えてみましょう。ここで「それ」とは何を指しているでしょうか?
トランスフォーマーの中では、それぞれの単語が他の単語をどれくらい注目すべきか点数をつけています。「それ」は「猫」に高い点数をつけ、「魚」には低い点数をつけます。このように点数をつけて注目する先を決める仕組みを「アテンション(Attention:注目)」と呼びます。
この点数の計算は、文全体で一斉に行われます。前の単語の処理を待つ必要がないため、GPU(画像処理装置)のように大量の並列計算が得意なハードウェアをフル活用できます。天文学的な量のテキストを一気に学習できるようになった秘密は、ここにあります。
今や翻訳ツールや対話型AI、さらには画像を生成するAIまで、すべてがこの新しい座席配置の上に成り立っています。
もう少し詳しく見てみると
もう一度、教室のたとえに戻ってみましょう。生徒同士が見つめ合って会話するには、共通の言葉が必要です。しかし、コンピューターは文字をそのまま理解できず、数字しか扱えません。
そこでまず、単語を長い数字のリストへと変換します。この数字のリストを「埋め込み(エンベディング)」と呼びます。意味が近い単語同士は、数字の並びも近くなるように作られています。
ただ、全員が同時に丸くなって見つめ合うと、誰が前にいて誰が後ろにいたのかという「語順」がわからなくなってしまいます。そこで、単語ごとに座席番号(位置情報)をセットで添えて、並び順を把握できるようにしています。「学校の前の店」と「店の前の学校」のように、同じ単語でも順序が入れ替わると意味が変わる文を区別するために、この番号が欠かせません。
もっとも、この仕組みが行っているのは言葉の意味を心で感じる作業ではなく、単語同士の関係性を数字で計算しているにすぎません。そのため、人間のように文を真に「理解」しているわけではなく、一度に見渡せる文の長さにも物理的な限界があります。
よくある誤解
トランスフォーマーモデルは、特定の企業が開発したチャットボットの名前である。
完成したサービス名ではなく、さまざまなAIが共通して採用している「設計図(アーキテクチャ)」です。翻訳AIや対話型AIなど用途が違っても、同じ基本構造が使われています。
トランスフォーマーは、文章を先頭から1単語ずつ順番に読み込んでいる。
入力された文章は、すべての単語を一度に並べて同時に注目度を計算します。ただし、対話型AIのように文章を生成するモデルでは、各単語が自分より前にある単語だけに注目するよう未来の単語を隠す仕組みをとっています。答えを1文字ずつ出力していくステップとは別の話です。
日常で出会う場面
翻訳AIが長い文章の中で、「それ」が前のどの言葉を指しているのかを的確に判断して訳出すること。
対話型AIが、会話のずっと前に出てきた名前を忘れずに拾い上げて自然に返答を続けること。
つまり ひとことで
文の中の単語同士が同時に互いを見渡し、誰にどれだけ注目すべきか点数をつけて処理する、現代AIの基本となる設計構造です。