|
自己注意を用いたモデルは、前の文字の結果に依存せずに、現在の文字の結果を直接計算できます。これにより並列計算が保証され、ウィンドウ制限が排除されます。そのため、非常に長いシーケンスを処理する際に、大幅な効率向上が期待できます。 注意メカニズムを理解する(注意メカニズム)注意メカニズムは、人間の注意をシミュレートするアルゴリズムです。2つのベクトル間の相関を計算する関数として理解できます。2つのベクトル間の相関が高いほど、注意スコアが高くなります。下の図は、ベクトルIのベクトルNへの注意の計算を示しています。ベクトルIは、i番目の入力トークンを単語に埋め込むことによって得られます。ベクトルNは、n番目の入力トークンを単語に埋め込むことによって得られます。ベクトルOは、結果、つまりベクトルIのNへの注意スコアを表します。Oを処理(たとえば、多値の場合のソフトマックス処理)した後、それは入力Nに対するIの重みと考えることができます。注意計算後、ベクトルIとNのスコアが高いほど、IとNの相関が高くなります。これにより、後続の計算は注意スコアの高いベクトルのみに集中できるため、計算効率が最適化されます。 理解する自己注意Transformerフレームワーク(自己注意に基づく深層学習モデル)で使用される注意メカニズムは、自己注意(または内部注意と呼ばれることもあります)と呼ばれます。前のセクションを踏まえ、この注意メカニズムは、連続する入力コンテンツを文脈的関連性に基づいて強化することで、注意メカニズムが入力全体における他の入力トークン間の相関関係をより適切に認識できるようにし、より多くの情報を抽出するための条件を作り出します。まさにこの自己注意こそが、Transformerフレームワークを用いたGPTモデルがコンテンツ生成において非常に効果的である理由です。 下図に示すように、入力はベクトルa1~a4の集合であり、出力は自己注意計算後のベクトルb1~b4の集合です。入力ベクトルa1は、単語埋め込み後の元の入力ベクトルの集合である場合もあります。また、入力ベクトルa1は、前の隠れ層の出力である場合もあります。つまり、自己注意計算の結果は通常、他の層の入力として使用され、モデルの後続部分が入力ベクトル集合内の相関の高いベクトル関係をよりよく理解するのに役立ちます。 まず、a1に𝑊𝑞を乗じてベクトルqを生成し、a(n)に𝑊𝑘を乗じてベクトルkを生成します。次に、 ベクトルqとkのドット積を計算し、a1とa(n)の相関係数𝛼𝑛を求めます。全体の処理を下図に示します。ここで、 𝑊𝑞 と𝑊𝑘は、モデルの学習によって学習された2つの行列であり、注目点(または知識)を表す固定定数と解釈できます。 TransformerのSelf Attentionに施された最適化を詳しく見てみましょう。Self Attentionでは、Attention関数はクエリ情報とキーバリューデータセットの関連性を計算するプロセスとして抽象化されています。計算された出力は、キーバリューデータセット内の各要素ペアのクエリに対する重み値です。ここで、クエリ、キー、値、出力はすべてベクトルです。この関数はScaled Dot-Product Attentionと呼ばれます。 1. a1 にqを掛けてベクトル q1 を取得します。 2. K にそれぞれ a1、a2、a3、a4 を掛けて、k1、k2、k3、k4 を取得します。 3. q1とk(n)を点ごとに掛け合わせて𝑎1 , 𝑛を得る。 4. 𝑎 1,1 、 𝑎 1,2 、 𝑎 1,3 、 𝑎 1,4に対してソフトマックス計算を実行し、 𝑎 ′ 1,1 、 𝑎 ′ 1,2 、 𝑎 ′ 1,3 、 𝑎 ′ 1,4を取得します。ここでソフトマックスを使用するのは代替アプローチであり、 ReLU などの他の関数も使用できます。 5. 𝑊 𝑣 にそれぞれ a1、a2、a3、a4 を掛けて、v1、v2、v3、v4 を取得します。 上記のプロセスは次の図で説明できます。 上記で説明した位置エンコーディング関数は、Transformerモデルで使用されているもののみです。エンコーディング関数の選択もまた、明確な解決策のない問題です。モデル設計者は、位置に関する独自の理解に基づいて、異なる位置エンコーディング関数を設計できます。実際、いくつかの論文(https://arxiv.org/abs/2003.09229)では、モデルの学習を用いて位置エンコーディング情報を動的に生成する手法が既に用いられています。 理解するマルチヘッドアテンション異なる次元にまたがる入力ベクトルからの特徴の並列抽出を可能にするために、Self-Attention を基盤とする Transformer アーキテクチャは、マルチヘッド アテンションの概念を導入しています。たとえば、以前のトレーニングでは、モデルは品詞次元と意味次元の両方の特徴を学習し、それぞれΩ <sub>s</sub>とΩ <sub> s</sub> と表記されています。ここで、 Ω = ( <sub>i</sub> , <sub>i </sub> , <sub> i </sub> ) です。これは、それぞれが異なるアテンション次元で特徴を抽出するために使用される 2 つのヘッドで構成されていると理解できます。マルチヘッド アテンションは次の図で表され、それぞれが異なる特徴値を計算するために使用される h 個のヘッドで構成されます。最後に、Concat メソッドによって特徴がマージされ、次のレイヤーに送られてさらに処理されます。
自己注意の概念は、画期的な論文「Attention is all you need」(https://arxiv.org/abs/1706.03762)で初めて提唱され、注意メカニズムの理解における大きな飛躍的進歩となりました。自己注意は従来の注意アルゴリズムの性能限界を克服し、大規模データセットの処理効率を大幅に向上させます。その結果、大規模データセットにおけるモデルの学習効率は、投入されたハードウェアリソースに大きく依存し、その効果は割り当てられたリソースに正比例します。同時に、自己注意の並列処理特性はGPUの並列計算能力を補完し、学習効率をさらに向上させます。そのため、時間の経過とともに学習リソースへの継続的な投資が進むにつれて、自己注意メカニズムを採用した大規模言語モデルのパラメータサイズは着実に増加しています。 さらに、本論文ではTransformerに関連する自己注意メカニズムのみを紹介しており、より古典的な注意メカニズムについてはあまり触れていません。しかし、注意メカニズムの発展を理解することは、自己注意の理解を深める上で役立ちます。そのため、関心のある読者は、注意メカニズムの発展の歴史を具体的に紹介した論文「ニューラルネットワークにおける注意メカニズム:その起源と終焉」(https://arxiv.org/pdf/2204.13154)を読むことをお勧めします。 記事リンク |
大規模言語モデルの探究:自己注意の理解
関連するおすすめ記事
-
トラブルシューティングは難しいですか? xpu_timer は大規模モデルのシームレスなトレーニングを保証します!
-
米国、中国製AIカメラを「恩赦」で禁止。FDAはパンデミック中はケースバイケースで対応すると発表。
-
業界の最前線:すべてのインターネット専門家が理解すべき「データインテリジェンス」
-
デューク大学は、低品質でピクセル化された画像を高解像度の画像に瞬時に変換する AI アルゴリズムを提案しています。
-
Amazon CodeWhisperer は、新しい AI 駆動型コード修復、IaC サポート、Visual Studio との統合を提供します。
-
朝のニュース | 2023年4月25日(火)