第4部 LLMのしくみを理解する

第14章アテンション機構

Transformerの心臓部にあたるのが、アテンションという仕組みです。この章では、アテンションが「文脈を 捉える」とはどういうことかを、具体例とともに見ていきます。ここが分かると、LLMがなぜ自然な文章を 扱えるのかが、より深く理解できるようになります。

14.1文脈を捉えるとはどういうことか

同じ言葉でも、周囲の言葉によって意味は変わります。文脈を捉えるとは、各語の意味を周囲の語との関係から定めることです。

言葉の意味は、単語だけでは決まらず、周囲の言葉によって変わります。たとえば「それを取って」という文の 「それ」が何を指すかは、前の文脈を見なければ分かりません。また「はし」という言葉は、文脈によって 「橋」にも「箸」にもなります。「川にかかる はし」なら橋、「ごはんと はし」なら箸だと、私たちは周囲の 言葉から自然に判断しています。

人はこうした判断を無意識に行っていますが、これを機械で実現するには、各語の意味を、周囲の語との関係を 踏まえて定める必要があります。単語を単独で見るのではなく、「この文の中でのこの語」として捉え直す、 という作業です。この、文脈に応じて各語の意味を定め直す働きを担うのがアテンションです。

14.2どの単語に注目するかを決めるしくみ

アテンションは、ある語を理解するために、文中のどの語をどれだけ重視すればよいかを計算し、関係の深い語の情報を強く取り込みます。

アテンションを直訳すると「注目」です。その名のとおり、ある語の意味を定めるとき、文中のほかのどの語に どれだけ注目すべきかを計算します。関係の深い語には強く注目し、関係の薄い語にはあまり注目しません。 そして、注目の強さに応じて、それぞれの語の情報を取り込み、その語の表現を更新します。こうして各語は、 文脈を反映した意味を帯びるようになります。

机の上の を、 それ を取って 「それ」は「本」に強く注目する
図14-1 アテンションのイメージ。太い線ほど注目が強いことを表します。「それ」が「本」を指すと捉えられます。

深掘り:問い合わせ・鍵・値(読み飛ばし可)

アテンションの内部では、各語が三つの役割を持つと考えると、しくみが見えてきます。一つ目は「問い合わせ」で、 その語が「いま何を探しているか」を表します。二つ目は「鍵」で、各語が「自分はどんな語か」という目印を 出します。三つ目は「値」で、実際に受け渡す情報の中身です。ある語の問い合わせと、他の語の鍵とを 照らし合わせ、よく合う語ほど強く注目します。そして、注目の強さに応じて各語の値を混ぜ合わせ、その語の 新しい表現を作ります。図書館で、知りたいこと(問い合わせ)に合う見出し(鍵)の本を探し、その中身 (値)を受け取る、という流れに似ています。細かな計算は抜きにしても、この三つの役割を思い浮かべると、 アテンションが「関係の深い語から情報を集める」しくみだと納得しやすくなります。

14.3セルフアテンションの考え方

セルフアテンションは、同じ文の中の語どうしで注目し合う仕組みです。各語が文中の他の語との関係を測り、文脈を取り込みます。

Transformerで使われるのは、セルフアテンションと呼ばれるものです。「セルフ(自分自身)」という名の とおり、同じ文章の中の語どうしが互いに注目し合います。文中の一つ一つの語が、その文に含まれるほかの すべての語に対して「どれだけ関係が深いか」を測り、関係の深い語の情報を強く取り込みます。これを文中の すべての語について同時に行うことで、文章全体の文脈が各語に反映されます。

第13章で見た「すべてのトークンを一度に見渡す」という特徴は、このセルフアテンションによって実現されて います。各語が文中のどの語とも直接関係を測れるからこそ、離れた場所にある語どうしのつながりも捉えられる のです。しかも、これを文全体で一気に計算できるため、効率もよいという利点があります。

14.4アテンションがもたらした性能向上

アテンションによって、長い文章の中の関係を的確に捉え、大量の学習も効率よく行えるようになり、LLMの飛躍につながりました。

アテンションの導入は、言葉を扱うAIの性能を大きく引き上げました。離れた語どうしの関係を的確に捉えられる ようになったことで、長い文章でも意味を保ったまま処理できるようになりました。代名詞が何を指すか、 ある語がどの語を修飾するか、といった関係を、文全体を見渡して判断できるようになったのです。

さらに、すべての語の関係をまとめて計算できるため、大量の文章を効率よく学習できます。この効率のよさが、 モデルの大規模化を可能にし、現在のLLMの高い性能を支えています。ここまでで、LLMが文脈を捉えるしくみが 見えてきました。では、こうして文脈を反映した表現をもとに、LLMが最終的に何をしているのかを、次の章で 見ていきます。それが、「次の言葉を予測する」という中心的な働きです。

この章の要点

  • 文脈を捉えるとは、各語の意味を周囲の語との関係から定めることです。
  • アテンションは、ある語を理解するために、どの語をどれだけ重視するかを計算する仕組みです。
  • 内部では、各語が「問い合わせ・鍵・値」の役割を持ち、関係の深い語から情報を集めます。
  • セルフアテンションは、同じ文の中の語どうしが注目し合い、文脈を各語に取り込みます。
  • アテンションにより、長文の関係把握と効率的な学習が可能になり、LLMの飛躍を支えました。