注意メカニズムとは

2024年12月4日

共同執筆者

Dave Bergmann

Senior Writer, AI Models

IBM

Cole Stryker

Editorial Lead, AI Models

Gather

注意メカニズムとは

注意メカニズムは、機械学習手法であり、ディープラーニング・モデルに、入力データの最も関連性の高い部分を優先(または注意)するように指示します。注意メカニズムのイノベーションにより、ChatGPTなどの人気のアプリケーションを支える最新の大規模言語モデル(LLM)を生み出すTransformerアーキテクチャーが実現しました。

その名前が示すように、注意メカニズムは、人間(および他の動物)が、その瞬間に重要な詳細に選択的に注意を払い、それほど重要でない詳細を無視する能力にヒントを得ています。すべての情報にアクセスでき、最も関連性の高い情報のみに焦点を当てることで、意味のある詳細が失われないようにしながら、限られた記憶と時間を効率的に使用できるようになります。

数学的に言えば、注意メカニズムは、入力シーケンスの各部分の現在のタスクに対する相対的な重要性を反映する注意重みを計算します。次に、それらの注意重みを適用して、入力の各部分の影響を、それぞれの重要度に応じて増加(または減少)させます。注意モデル(注意メカニズムを採用した人工知能モデル)は、大規模なサンプル・データセットに対する教師あり学習、または自己教師あり学習を通じて、正確な注意重みを割り当てるようにトレーニングされます。

注意メカニズムは、機械翻訳に使用されていた当時の最先端であったリカレント・ニューラル・ネットワーク(RNN)モデルの欠点に対処する手法として、2014年にBahdanauによって最初に導入されました。その後の研究では、画像キャプションや視覚的な質問応答などのタスクに使用される畳み込みニューラル・ネットワーク(CNN)に注意メカニズムが統合されました。その後の研究では、画像キャプションや視覚的な質問応答などのタスクに使用される畳み込みニューラル・ネットワーク(CNN)に注意メカニズムが統合されました。

2017年に発表された画期的な論文「Attention is All You Need」では、再帰と畳み込みを完全に排除し、注意層と標準のフィードフォワード層のみを使用するTransformerモデルが紹介されました。それ以来、Transformerアーキテクチャーは、生成AIの時代を支える最先端モデルのバックボーンとなっています。

注意メカニズムは主に、自然言語処理(NLP)タスク(要約、質問応答、テキスト生成感情分析などに使用されるLLMに関連付けられていますが、注意ベースのモデルは他の分野でも広く使用されています。画像生成に使用される主要な拡散モデルには、多くの場合、注意メカニズムが組み込まれています。コンピューター・ビジョンの分野では、Vision Transformer(ViT)が、物体検出1画像セグメンテーション2、視覚的な質問応答3などのタスクで優れた結果を達成しています。

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

注意メカニズムが重要な理由

Transformerモデルとそれを動かす注意メカニズムは、ディープラーニングのほぼすべてのサブドメインで最先端の結果を達成しています。注意メカニズムの性質上、畳み込みニューラル・ネットワーク(CNN)で使用される畳み込みメカニズムや、再帰型ニューラル・ネットワーク(RNN)で使用される再帰型ループに比べて、大きなメリットがあります。

  • 時間の経過に伴う柔軟性:RNNが連続データを処理する方法は本質的にシリアル化されており、シーケンス内の各タイムステップを特定の順序で個別に処理することを意味します。これにより、RNNが、間に多くのステップがある相関関係(データサイエンスの用語では依存関係)を識別することが難しくなります。対照的に、注意メカニズムは、シーケンス全体を同時に調べ、特定のステップに焦点を合わせる順序を決定できます。

  • 空間に対する柔軟性:CNNは本質的にローカルであり、畳み込みを使用して、入力データの小さなサブセットを1つずつ処理します。これにより、CNNでは、互いに隣接していない単語(テキスト内)やピクセル(画像内)間の相関関係など、離れた依存関係を識別することが困難になります。注意メカニズムにはこの制限がなく、まったく異なる方法でデータを処理し続けます。

  • 並列化:注意メカニズムの性質上、多くの計算ステップがシリアル化されるのではなく、一度に実行されます。これにより、GPUが提供するパワーとスピードを活用した高度な並列コンピューティングが可能になります。

ディープラーニングにおける注意メカニズムがどのように機能するのか、そしてなぜそれが生成AIの革命を引き起こすのに役立つのかを理解するには、まず、機械翻訳に使用されるRNNベースのSeq2Seqモデルを改善するための注意が最初に導入された理由を理解することが役立ちます。
 

注意メカニズムがない場合のSeq2Seq

RNNは、連続したデータを処理できる「メモリー」に相当する機能を備えた再帰ループを備えたニューラル・ネットワークです。RNNは、順序付けられたシーケンスの入力ベクトルを受け取り、タイム・ステップで処理します。各タイム・ステップの後、結果として得られるネットワーク状態(隠し状態と呼ばれます)が、次の入力ベクトルとともにループに戻されます。

RNNは、トレーニング中にすぐに勾配の消失または爆発に悩まされます。これにより、RNNが処理できる入力文の長さが大幅に制限されるため、多くのNLPタスクでは実用的ではありませんでした。4これらの制限は、ゲーティング・メカニズムを追加して「長期」メモリーを保持する長短期記憶ネットワーク(LSTM)と呼ばれる改良されたRNNアーキテクチャーによっていくらか緩和されました。

注意メカニズムが導入される前は、Seq2Seqモデルが機械翻訳の最先端モデルでした。Seq2Seqは、エンコーダー/デコーダー・アーキテクチャーで2つのLSTMを使用します。

  • 最初のLSTMであるエンコーダーは、ソース文をステップごとに処理し、最終タイムステップの隠れ状態を出力します。この出力であるコンテキスト・ベクトルは、文全体を1つのベクトル埋め込みとしてエンコードします。Seq2Seqがさまざまな単語数の文を柔軟に処理できるようにするために、コンテキスト・ベクトルは常に同じ長さです。
  • 2番目のLSTMであるデコーダーは、エンコーダーによって出力されたベクトル埋め込みを初期入力として受け取り、単語ごとに2番目の言語にデコードします。

入力シーケンスを固定数の次元でエンコードすると、Seq2Seqはさまざまな長さのシーケンスを処理できるようになりますが、重要な欠陥も生じます。

  • これは、長くて複雑なシーケンスを、より短くて単純な文と同じレベルの詳細で表します。これにより、長いシーケンスでは情報のボトルネックが発生し、短いシーケンスではリソースが無駄になります。
  • このベクトルは、エンコーダー・ネットワークの最終的な隠し状態のみを表します。理論上は、後続の各隠し状態には、前の隠し状態によって提供された情報が含まれる必要があり、その隠し状態には、前のタイム・ステップからの情報が含まれており、これが最初のステップに戻ります。実際には、コンテキスト・ベクトルは必然的に、初期のタイム・ステップからの情報を「忘れ」、長いシーケンスでのモデルのパフォーマンスを妨げます。

注意メカニズムにより機能が向上するSeq2Seq

Bahdanauは、2014年の論文「Neural Machine Translation by Jointly Learning to Align and Translate」で、エンコーダーとデコーダー間の通信を改善し、情報のボトルネックを取り除くための注意メカニズムを提案しました。

エンコーダーの最終的な隠し状態(コンテキスト・ベクトル)のみをデコーダーに渡すのではなく、このモデルでは、エンコーダーのすべて隠し状態をデコーダーに渡しました。注意メカニズム自体は、デコーダーによって実行される各翻訳ステップでどの隠し状態(つまり、元の文のどの単語)が最も関連しているかを判断するために使用されました。

「これにより、モデルはソース文全体を固定長のベクトルにエンコードする必要がなくなり、次のターゲット語の生成に関連する情報のみにモデルが集中できるようになります」と論文は説明しています。「これは、ニューラル機械翻訳システムが長い文で良い結果を出す能力に大きなプラスの影響を与えます」。5

その後のNLP研究は、主にパフォーマンスの向上と、再帰モデルにおける注目メカニズムの使用例の拡大に重点が置かれました。2017年に注目のみで動作するTransformerモデルが発明されたことで、RNNはNLPにとってほとんど時代遅れとなりました。

AI Academy

AIの専門家になる

ビジネスの成長を促進するAIへの投資を優先できるように知識を習得します。今すぐ無料のAI Academyを試して、貴社のAIの未来をリードしましょう。

注意メカニズムの仕組み

注意メカニズムの主な目的は、入力シーケンスのさまざまな部分の相対的な重要性を決定し、モデルが重要な部分に注意を払い、重要でない部分を無視するように影響を与えることです。

注意メカニズムにはさまざまなバリエーションとカテゴリがあり、それぞれ異なるユースケースと優先順位に適していますが、すべての注意メカニズムには3つのコア・プロセスがあります。

  1. 未加工データのシーケンスを「読み取り」、それをベクトル埋め込みに変換するプロセス。シーケンスの各要素は独自の特徴量ベクトルで表されます。

  2. 各ベクトル間の類似性、相関性、その他の依存関係(またはその欠如)を正確に判断するプロセス。これらは、ベクトルがどの程度揃っているか(または揃っていないか)を反映するアライメント・スコア(または注意スコア)として定量化されます。次に、アライメント・スコアを使用して、ソフトマックス関数を使用して注意重みを計算します。ソフトマックス関数は、すべての値を0~1の範囲に正規化し、合計が1になるようにします。例えば、要素に「0」の注意重みを割り当てると、その要素は無視されます。注意重みが「1」の場合、他のすべての要素の注意重みは「0」になるため(すべての重みの合計は「1」になる必要があるため)、その要素は100%の注意を受ける必要があります。本質的に、ソフトマックス関数の出力は確率分布です。

  3. これらの注意重みを使用して、特定の入力要素がモデルの予測に与える影響を強調または軽視するプロセス。言い換えると、注意重みを使用してモデルが情報に焦点を合わせたり無視したりする手法です。

クエリー、キー、値

影響力のある論文「Attention is All You Need」では、リレーショナル・データベースの用語であるクエリーキーを使用して、その注意メカニズムを明確に説明しました。リレーショナル・データベースは、関連データの保存と取得を簡素化するように設計されています。各データに一意の識別子(「キー」)を割り当て、各キーは対応するに関連付けられます。NLPでは、モデルの「データベース」は、トレーニング用データセットから学習したトークンの語彙です。

論文「Attention is All You Need」の大きな影響により、以前の注意メカニズムも、遡及的にこれらの用語で説明されるようになりました。一般的に言えば、この注意の概念は、シーケンス内の各トークンの3種類のベクトル表現間の相互作用を伴います。

  • クエリー・ベクトルは、特定のトークンが求めている情報を表します。
  • キー・ベクトルは、各トークンに含まれる情報を表します。クエリーとキーのアライメントは、注意重みを計算するために使用されます。
  • (または値ベクトル)は、キー・ベクトルからの注意重み付け情報を適用します。クエリーと強くアライメントされたキーからの貢献には、より大きな重み付けが行われます。クエリーに関連しないキーからの貢献には、ゼロに近い重み付けが行われます。

具体的な注意メカニズムのバリエーションは、主に、ベクトルがどのようにエンコードされるか、どのようにアライメントスコアが計算されるか、モデルに関連情報を提供するために注意の重みが適用されるかによって区別される。

注意加算法

Badhanauの注意メカニズムは、機械翻訳専用に設計されました。双方向RNNを使用して各入力トークンをエンコードし、入力シーケンスを順方向と逆方向の両方で処理して、結果を連結します。このアプローチは、例えば、元の言語と翻訳された言語で名詞と形容詞の順序付け規則が異なる場合に特に便利です。

ここで、翻訳された文の各タイムステップにおけるデコーダーの隠れ状態はクエリー・ベクトルに、ソース文の各ステップにおけるエンコーダーの隠れ状態は、キー・ベクトルに、それぞれ相当します。

次に、アライメント・スコアは、モデルの残りの部分と共同でトレーニングされる単純なフィードフォワード・ニューラル・ネットワークである注意層によって決定されます。この注意層は、学習可能なモデル重みの最大3つのサブセットで構成されます。つまり、隠しデコーダー状態のクエリー重み(「Wq」)、隠しエンコーダー状態のキー重み(「Wk」)、および最終出力をスケーリングする値重み(“wv”)です。これらの重みはモデルの「知識」です。トレーニング中にこれらの重みの特定の値を調整して損失関数を最小限に抑えることで、モデルは正確な翻訳を行うことを学習します。

各ステップで、注意加算法は次のように機能します。

  • クエリー・ベクトル(Wqを乗算)は、キー・ベクトル(Wkを乗算)に加算されます。これらに関連性がある場合、加算すると大きな値になります。これらが互いに無関係である場合、加算すると小さな値または負の値になります。
  • 結果の数値は、TanH活性化関数に入力され、すべての入力が「-1」から「1」の間の数値にマッピングされます。
  • * TanH関数の出力に値の重みwvが掛けられますこれにより、クエリー・ベクトルとそのキー・ベクトル間のアライメント・スコアが生成されます。
  • 次に、アライメント・スコアがソフトマックス関数に入力され、そのキー・ベクトルの注意重みが生成されます。
     

デコーダーが翻訳文を生成するために使用するコンテキスト・ベクトルは、すべてのキー・ベクトルの注目度加重合計として計算されます。注意加算法のメリットの1つは、クエリー・ベクトルとキー・ベクトルが同じ長さである必要がないことです。

ドット積注意法

2015年、Luongは、機械翻訳用のBadhanauの注意メカニズムを簡素化および強化するためのいくつかの新しい手法を導入しました。おそらく、手法の最も注目すべき貢献は、加算ではなく乗算を使用する新しいアライメント・スコア関数でした。また、TanH関数を避け、ドット積を使用して隠れ状態ベクトル間の類似性を計算しました。そのため、これはしばしばドット積注意法または注意乗算法と呼ばれます。

ドット積を使用してクエリー・ベクトルを比較する背後にある直感は、数学的かつ実用的です。

  • * Q とKベクトルが揃っている場合、つまりクエリーとキーの意味が似ている場合、これらを乗算すると大きな値が生成されます。ソフトマックスの後、この大きな値により、そのキーの注意重みが大きくなります。これらが適切に揃っていない場合、ドット積は小さいか負になり、後続のソフトマックス関数により注意重みが小さくなります。
  • 実際には、ニューラル・ネットワークでは、行列乗算を使用して少ない手順で実装できるため、乗算法は加算法よりもはるかに高速で計算効率が高くなります。6

ドット積注意法を使用することによる1つの結果として、ドット積の計算では、両方のベクトルの次元数が次の次元と同じであることが必要になります: dK .

注意加算法はコンテキスト・ベクトルをキー・ベクトルの加重合計として計算しますが、ドット積注意法はコンテキスト・ベクトルをキー・ベクトルの加重平均として計算します。

拡張ドット積注意法

「Attention is All You Need」の著者は、ドット積注意法は注意加算法よりも高速で計算効率が高いものの、長いベクトルの場合は注意加算法が従来のドット積注意法よりも優れていると指摘しています。

彼らは、 dKが非常に大きい場合、結果として得られるドット積も非常に大きくなると理論づけました。ソフトマックス関数がそれらの非常に大きな値をすべて0~1の間に収まるように圧縮すると、バックプロパゲーションによって、最適化が困難な極めて小さな勾配が生成されます。実験により、ソフトマックス正規化の前に、長さdkの2つのベクトルのドット積を dK1dKスケーリングすると、勾配が大きくなり、トレーニングがスムーズになることがわかりました。

Transformerモデルで使用されるスケールされたドット積注意関数は、次のように記述されます: ATTenTIon(Q,K,V)=SoFTmaX(QKTdK)V .

 

自己注意法

最も初期のタイプの注意メカニズムはすべて、現在では相互注意として分類されるものを実行していました。相互注意では、クエリーとキーは異なるデータ・ソースから取得されます。例えば、機械翻訳タスクでは、キーは1つの言語のテキスト・コーパスから取得され、クエリーは別の言語から取得されます。音声認識タスクでは、クエリーはオーディオ・データであり、キーはそのオーディオを書き起こすテキスト・データです。

自己注意法では、クエリー、キー、値はすべて同じソースから取得されます。BahdanauとLuongの注意メカニズムはどちらも機械翻訳用に明示的に設計されていましたが、Chengは、機械の読み取り全般を改善する方法として、自己注意法(彼らはこれを「内部注意」と呼んでいました)を提案しました。2016年の論文で概説されている彼らの注意メカニズムは、入力要素が全体的なシーケンスにどのように貢献するかではなく、異なる入力トークンが互いにどのように関係するかを調査しました。

英語のテキストを解釈する言語モデルを考えてみましょう
「on Friday, the judge issued a sentence.」

  • *「the」 という単語が先行していることで、「judge」 が、評価する、または意見を形成するという意味の動詞ではなく、法律を適用して最終的な判断を下す人物のように名詞として機能していることがわかります。
  • また、「judge」 という単語が先行していることで、「sentence」 は文法的な「文」ではなく、おそらく判決を指していると考えられます。
  • さらに、「issued」 という単語は、その文が文法的な概念ではなく法的概念を指していることを示唆しています。
  • したがって、「sentence」 という単語を解釈する際、モデルは「judge」 および「issued」 に細心の注意を払う必要があります。また、「the」 という単語にも注意を払う必要があります。他の単語は多かれ少なかれ無視することができます。よく訓練された自己注意メカニズムは、それに応じて注意の重みを計算します。

Chengの論文は、テキストを読み取って理解する能力のみに焦点を当てていましたが、すぐに、シーケンス内の関係のモデリングもテキストを書くための強力なツールになる可能性があることに気づきました。自己注意のさらなる開発とそれが可能にしたTransformerモデルは、オリジナル・テキストを生成できる最新の生成AIと自己回帰LLMの開発に直接つながりました。

自己注意と機械翻訳

自己回帰型LLMでは、自己注意を利用して機械翻訳を実行することもできますが、タスクへのアプローチは異なります。相互注意は元の原文と翻訳された文を2つの異なるシーケンスとして扱いますが、自己注意は元のテキストと翻訳されたテキストを1つのシーケンスとして扱います。

自己回帰型の自己注意法ベースのLLMがテキストを翻訳できるようにするには、モデルがトレーニング中に遭遇するすべての単語(すべての言語)を、1つの大きな多言語トークン語彙の一部として学習する必要があります。モデルは、シーケンスに「[言語1の単語]を言語2に翻訳する」などの指示が含まれている場合、シーケンスの次の単語は言語2のトークンである必要があることを単純に認識します。

本質的に、自己回帰LLMは、それ自体では必ずしも異なる言語が存在することを理解しているわけではありません。代わりに、特定のトークンのグループ(この場合は、同じ言語の単語に対応するトークン)が互いにどのように関連しているかを理解しているだけです。このコンテキストの理解は、命令チューニングなどの手法によってさらに強化されます。

 

Transformerモデルにおける注意

Viswaniが執筆した「Attention is All You Need」という論文では、自己注意からヒントを得て、新しいニューラル・ネットワーク・アーキテクチャーであるTransformerを導入しました。彼らのTransformerモデルは、畳み込みと再帰を完全に排除し、代わりに注意層と標準的な線形フィードフォワード層のみを使用しました。

著者らのモデルは、RNNベースの先行モデルと同様のエンコーダー/デコーダー構造を採用していました。その後のTransformerベースのモデルは、このエンコーダー/デコーダー・フレームワークから逸脱しました。Transformerの論文を受けてリリースされた最初の画期的なモデルの1つであるBERT(Transformerからの双方向エンコーダー表現の略)は、エンコーダーのみのモデルです。GPT(Generative Pretrained Transformer)モデルなど、テキスト生成に革命をもたらした自己回帰LLMは、デコーダーのみのモデルです。

「Attention is All You Need」では、イノベーションを提案し、性能を向上させ、まったく新しいモデル構造に注意を適応させるために、注意メカニズムに対するいくつかのことを提案しました。その1つが、拡張ドット積注意法でした。

位置情報のエンコーディング

単語の相対的な順序と位置は、その意味に重要な影響を与える可能性があります。RNNは、隠れた状態を1単語ずつ計算することで本質的に各トークンの位置に関する情報を保持しますが、Transformerモデルは位置情報を明示的にエンコードする必要があります。

位置エンコーディングでは、入力が注意メカニズムに入る前に、モデルは各トークンの埋め込みに相対位置から導出された値のベクトルを追加します。この位置ベクトルは通常、トークン埋め込み自体よりもはるかに少ない次元数であるため、トークン埋め込みの小さなサブセットのみが位置情報を受け取ります。数学はやや複雑ですが、ロジックは単純です。

  • 2つのトークンが近いほど、それらの位置ベクトルは類似します。
  • それぞれの位置ベクトルが類似するほど、それらの位置ベクトルを追加した後、それぞれのトークン埋め込み間の類似性が高まります。
  • 位置的に更新された埋め込みが類似するほど、アライメント・スコアが高くなり、2つのトークン間の注意の重みが大きくなります。したがって、モデルは近くのトークンにより多くの自己注意を払うことを学習します。

Viswaniは、均一な位置にあるトークンには正弦関数を使用し、特異な位置にあるトークンにはコサイン関数を使用する単純なアルゴリズムを設計しました。回転位置エンコーディング(RoPE)などのその後のアルゴリズムにより、非常に長いシーケンスの位置情報を効果的にエンコードできるようになり、より大きなコンテキスト・ウィンドウを備えたLLMが可能になりました。

Transformerモデルの自己注意メカニズム

各トークン埋め込みが位置情報で更新されると、最初の注意層の前にある3つの並列線形(フィードフォワード)ニューラル・ネットワーク層のそれぞれに元のトークン埋め込みを渡すことで、3つの新しいベクトルが生成されます。各並列層には固有の重みマトリックスがあり、その特定の値は大量のテキスト・データセットでの自己教師あり事前トレーニングを通じて学習されます。

  • 埋め込みに重み行列 WQを掛けて、クエリー・ベクトルQ)を生成します。このときの次元: dK
  • 埋め込みに重み行列 WKを掛けて、キー・ベクトル(K)を生成します。このときの次元: dK 
  • 埋め込みに重み行列 WVを掛けて、値ベクトル(V)を生成します。このときの次元:dv

注意メカニズムの主な機能は、各トークン間のクエリー・キー・ペアの重要度に重み付けすることです。入力シーケンス内の各トークンxに対して、Transformerモデルは次のように注意重みを計算して適用します。

  1. トークンxのクエリー・ベクトルQXは、それぞれのトークンの鍵ベクトルKを乗算するものです。結果として得られるドット積は、関連性の高いトークンにとっては大きくなります。無関係なトークンのドット積は小さいか、負の値となります。
  2. 各ドット積は、1dKでスケール、つまり乗算されます。結果は、トークンxと他の各トークン間のアライメント・スコアです。
  3. これらのアライメント・スコアはソフトマックス関数に入力され、各スコアを0から1の間の値に正規化して、すべてのスコアを合計すると「1」になるようにします。これらは、トークンxと他の各トークン間の注意重みです。各トークンには対応する注意重みのベクトルがあり、そのベクトルの各要素は他のトークンがそのトークンに影響を与える範囲を表すと考えることができます。
  4. これで、互いのトークンの値ベクトルに、それぞれの注意重みが乗算されます。
  5. これらの注目重みを掛けた値ベクトルはすべて平均化される。結果として得られるベクトルは、各キーベクトルからのすべての注目重みの平均を表します。
  6. 最後に、各トークンの変更の結果のベクトルがトークンxの元のベクトル埋め込みに追加されます。本質的には、トークンxのベクトル埋め込みは、シーケンス内の他のトークンによって提供されるコンテキストをより適切に反映するように更新されています。

マルチヘッド注意法

各注意重みを個別に考慮するのではなく、他のトークンからの注意重みを平均化することは数学的には効率的ですが、詳細が失われます。Transformerアーキテクチャーは、マルチヘッド注意法によりこの問題に対処します。

平均化の効率を享受しながらもトークン間の多面的な関係を考慮するために、Transformerモデルはネットワーク内の各注意層で自己注意操作を複数回並列に計算します。元の入力トークンの埋め込みはそれぞれ、h個の均等サイズのサブセットに分割されます。埋め込みの各部分は、h個の並列Q、K、およびV重み行列の1つに入力されます。これらの重み行列はそれぞれ、クエリー・ヘッド、キー・ヘッド、または値ヘッドと呼ばれます。クエリー、キー、値ヘッドのこれらの並列トリプレットのそれぞれによって出力されるベクトルは、対応する注意ヘッドに入力されます。

注意ブロックの最終層では、これらのh個の並列回路の出力が最終的に連結されて元に戻ります。実際には、モデルのトレーニングにより、各回路は意味の個別の側面を捉える異なる重みを学習します。これにより、モデルは他の単語のコンテキストが単語の意味に及ぼすさまざまな影響を処理できるようになります。例えば、1つの注意ヘッドは時制の変化に特化し、もう1つは近くの単語がトーンに与える影響に特化します。

ここでは、標準Transformerの注意ブロックにおける行列乗算の回路全体を示します。マルチクエリー注意やグループ化されたクエリー注意など、Transformerの注意メカニズムのその後の進化により、プロセスのいくつかの要素が簡素化または結合され、計算要件が軽減されていることは注目に値します。

出力の生成

Transformerモデルの最後の数層では、多くの場合、注意ヘッドが特定の予測を行うようにトレーニングされます。例えば、LLMの最終層にある1つの注意ヘッドは名前付きエンティティーの認識に特化し、別の注意ヘッドは感情分析に特化する、などです。

自己回帰LLMでは、最後から2番目の層は線形層で、完全に変換されたベクトルを受け取り、モデルが語彙内の各トークンに対して学習したベクトル埋め込みのサイズに一致するように投影します。これにより、結果のベクトルがその語彙内の各トークンにどれだけ近いかを表すスコアを計算できます。最終層はソフトマックス層で、これらのスコアを確率(1から)に変換し、これらの確率を使用して、その前の単語に基づいて、最も可能性の高い次の単語であると判断されたものを出力します。

脚注

1. 「Leaderboard: Object Detection on COCO test-dev」、 Papers With Code社、アクセス日:2024年11月18日
2. 「Leaderboards: Image Segmentation」、Papers With Code社、アクセス日:2024年11月18日
3. 「Leaderboard: Visual Question Answering (VQA) on VQA v2 test-dev」、 Papers With Code社、アクセス日:2024年11月18日
4. 「Learning long-term dependencies with gradient descent is difficult」、 IEE Transactions on Neural Networks 5(2): 157-66、1994年2月
5. 「Neural Machine Translation by Jointly Learning to Align and Translate」、 arXiv社、2014年9月1日
6. 「Multiplicative Attention」、Papers With Code社

関連ソリューション
IBM watsonx.ai

AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。

watsonx.aiをご覧ください。
人工知能ソリューション

業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。

AIソリューションはこちら
AIサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

AI開発ライフサイクル全体にわたる機能にワンストップでアクセスできます。使いやすいインターフェース、ワークフロー、業界標準のAPIやSDKを利用して、強力なAIソリューションを構築できます。

watsonx.aiの詳細はこちら デモを予約