Transformerモデルは、連続データの処理に優れたニューラル・ネットワーク・アーキテクチャーの一種であり、大規模言語モデル(LLM)に最も顕著に関連しています。また、コンピュータービジョン、音声認識、時系列予測など、人工知能(AI)の他の分野で極めて高いパフォーマンスを達成しています。
Transformerアーキテクチャーは、Vaswaniらによる2017年の画期的な論文「Attention is All You Need」の中で初めて説明され、これは現在ではディープラーニングにおける画期的な瞬間と考えられています。
Transformerベースのモデルは、もともと機械翻訳に使用されるリカレント・ニューラル・ネットワーク(RNN)ベースのシーケンス・ツー・シーケンス・モデルの進化形として導入されましたが、それ以来、ほぼすべての機械学習(ML)分野で目覚ましい進歩を遂げています。
Transformerモデルは、その汎用性にもかかわらず、チャットボット、テキスト生成、要約、質問応答、感情分析など、自然言語処理(NLP)のユースケースのコンテキストで依然として最も一般的に議論されています。
2019年にGoogle社が導入したBERT(Bidirectional Encoder Representations from Transformers)エンコーダー/デコーダー・モデルは、Transformerの確立に極めて重要なテクノロジーで、現代のベクトル・データベースからGoogle検索まで、ほとんどの現代の単語埋め込みアプリケーションの基礎となっています。
OpenAI社のChatGPTのリリースを可能にしたGPT-3(Generative Pre-trained Transformer)モデルなどの自己回帰デコーダーのみのLLMは、生成AIの時代を切り開きました。
データシーケンスの各部分がどのように影響し、相互に関連しているかを複雑に識別できるTransformerモデルの機能も、多くのマルチモーダル用途に貢献しています。
例えば、Vision Transformer(ViT)は、画像セグメンテーション、オブジェクト検知、および関連タスクにおいて、ニューラル・ネットワークの性能を上回ることがよくあります。Transformerアーキテクチャーは、画像生成、マルチモーダル・テキスト読み上げ(TTS)、およびビジョン言語モデル(VLM)に使用される多くの拡散モデルにも採用されています。
Transformerモデルの主要な機能は自己注意メカニズムで、これにより、Transformerモデルはインプットの各部分間の関係(または依存関係)を検知することができます。それ以前のRNNやCNNアーキテクチャーとは異なり、Transformerアーキテクチャーでは注意層と標準フィードフォワード層のみを使用します。
自己注意、特にTransformerモデルがそれを計算するために使用しているマルチヘッド注意手法により、Transformerはそれまで最先端とされていたRNNやCNNの性能を超えています。
Transformerモデルが導入される前、NLPタスクのほとんどはニューラル・ネットワークに依存していました。RNNが連続データを処理する方法は本質的にシリアル化されており、インプット・シーケンスの要素を一度に1つずつ、特定の順序で個別に処理します。
これにより、RNNが長距離依存関係を特定する能力が妨げられ、短いテキストシーケンスのみを効果的に処理できるようになっています。
この欠陥は、長短期記憶ネットワーク)LSTM)の導入によってある程度解決されましたが、RNNの根本的な欠点として残っています。
対照的に、注意メカニズムは、シーケンス全体を同時に調べ、そのシーケンスの特定の時間ステップにいつどのように焦点を合わせるかを決定できます。
Transformerのこの特性は、長距離依存関係を理解する能力を大幅に向上させるだけでなく、並列化も可能にします。つまり、順次データを処理するのではなく、一度に多くの計算を実行できます。
並列処理に適した、Transformerモデルはトレーニングと推論の両方でGPUが提供するパワーと速度を最大限に活用できます。これにより、自己教師学習を通じて、これまでにないほど大規模なデータセットでTransformerモデルをトレーニングする機会が生まれました。
視覚データの場合、トランスフォーマーには畳み込みニューラル.・ネットワークに比べていくつかの利点もあります。CNNは本質的にローカルであり、畳み込みを使用して、入力データの小さなサブセットを1つずつ処理します。
そのため、CNNは、互いに隣接していない単語(テキスト内)やピクセル(画像内)の相関関係など、長期的な依存関係を識別するのにも苦労します。注意メカニズムには、このような制限はありません。
注意の数学的な概念、より具体的には自己注意を理解することは、非常に多くの分野でのTransformerモデルの成功を理解するために不可欠です。注意メカニズムは、本質的に、AIモデルが特定の瞬間にデータ・シーケンスのどの部分に「注意を払うべき」かを決定するように設計されたアルゴリズムです。
次の英語のテキストを解釈する言語モデルを考えてみましょう。
大まかに言えば、Transformerモデルの注意層は、データ・シーケンスの各部分の特定のコンテキストを4つのステップで評価および使用します。
トレーニング前は、Transformerモデルは最適なベクトル埋め込みとアライメント・スコアを生成する方法をまだ「知りません」。トレーニング中、モデルはトレーニング用データから抽出された数百万の例に対して予測を行い、損失関数によって各予測の誤差が定量化されます。
予測を行い、バックプロパゲーションと勾配降下法でモデルの重みを更新するという反復サイクルを通じて、モデルは正確な出力につながるベクトル埋め込み、アライメントスコア、アテンション重みを生成することを「学習」します。
リレーショナル・データベースなどのTransformerモデルは、データ・シーケンスの各部分に対してクエリー、キー、値のベクトルを生成します。そして、それらを使用して一連の行列乗算を通じて注意の重みを計算します。
リレーショナル・データベースは、関連データの保存と取得を簡素化するように設計されています。各データに一意の識別子(「キー」)を割り当て、各キーは対応する値に関連付けられます。『Attention is All You Need』という論文では、この概念フレームワークを、一連のテキスト内の各トークン間の関係の処理に適用しました。
LLMの場合、モデルの「データベース」は、トレーニング用データ内のテキスト・サンプルから学習したトークンの語彙です。その注意メカニズムは、この「データベース」からの情報を使用して言語の文脈を理解します。
文字(文字、数字、句読点)が人間が言語を表現するための基本単位であるのに対し、AIモデルが使用する言語の最小単位はトークンです。各トークンにはID番号が割り当てられており、このID番号(単語やトークンそのものではなく)がLLMの語彙データベースをナビゲートします。このように言語をトークン化することで、テキスト処理に必要な計算能力が大幅に削減されます。
Transformerの注意層に入力されるクエリーとキー・ベクトルを生成するには、モデルには各トークンの初期のコンテキストのないベクトル埋め込みが必要です。これらの初期トークン埋め込みは、トレーニング中に学習することも、事前にトレーニングされた単語埋め込みモデルから取得することもできます。
単語の順序と位置は、単語の意味に大きな影響を与える可能性があります。RNNのシリアル化の性質により、各トークンの位置に関する情報が本質的に保持されますが、Transformerモデルでは、注意メカニズムが考慮する位置情報を明示的に追加する必要があります。
位置エンコーディングでは、入力が注意メカニズムに入る前に、モデルは各トークンの埋め込みに相対位置から導出された値のベクトルを追加します。2つのトークンが近いほど、位置ベクトルの類似性があるとされ、位置情報を追加することでアライメント・スコアが高くなります。これにより、モデルは近くのトークンにより注意を払うように学習します。
位置情報が追加されると、更新された各トークン埋め込みを使用して3つの新しいベクトルが生成されます。これらのクエリ、キー、および値のベクトルは、元のトークン埋め込みを、最初の注意層の前にある3つの並列フィード・フォワード・ニューラル・ネットワーク層のそれぞれに渡すことによって生成されます。線形層の各並列サブセットには、膨大なテキストデータセットでの自己教師型事前トレーニングを通じて学習された、固有の重みマトリックスがあります。
Transformerの注意メカニズムの主な機能は、シーケンス内の他のすべてのトークンのキー・ベクトルで各トークンのクエリー・ベクトルのペアに正確な注意重みを割り当てることです。これを達成すると、各トークンを考えることができます各トークンには対応する注意重みのベクトルがあり、そのベクトルの各要素は他のトークンがそのトークンに影響を与える範囲を表すと考えることができます。
要するに、 のベクトル埋め込みが更新され、シーケンス内の他のトークンによって提供されるコンテキストをより適切に反映するようになりました。
トークンが互いに関連しうる多くの多面的な方法を捉えるために、Transformerモデルは複数の注意ブロックにマルチヘッド注意法を適用します。
最初のフィードフォワード層に送られる前に、それぞれの元の入力トークンの埋め込みは、均等なサイズのh個のサブセットに分割されます。埋め込みの各部分は、h個の並列Q、K、およびV重み行列の1つに入力されます。これらの重み行列はそれぞれ、クエリー・ヘッド、キー・ヘッド、または値ヘッドと呼ばれます。クエリー、キー、値のヘッドの並列トリプレットのそれぞれによって出力されたベクトルは、注意ヘッドと呼ばれる次の注意層の対応するサブセットに送られます。
各注意ブロックの最終層では、これらのh個の並列回路の出力が最終的に連結され、次のフィードフォワード層に送られます。実際には、モデルのトレーニングにより、各回路は意味の個別の側面を捉える異なる重みを学習します。
状況によっては、注意ブロックを使用してコンテキストに応じて更新された埋め込み出力を渡すと、元のシーケンスからの情報が許容できないほど失われる可能性があります。
これを解決するために、Transformerモデルでは、注意メカニズムにより提供されるコンテキスト情報と各トークンの元の意味とのバランスを取ることがよくあります。トークン埋め込みの注意が更新されたサブセットがすべて連結された後、更新されたベクトルがトークンの元の(位置エンコードされた)ベクトル埋め込みに追加されます。元のトークンの埋め込みは、その層とネットワークの前の層間の残差接続によって行われます。
結果のベクトルは別の線形フィードフォワード層に送られ、そこで一定サイズに正規化されてから次の注意ブロックに渡されます。これらを組み合わせることで、トレーニングの安定性が維持され、データがニューラル・ネットワークのより深いところに移動してもテキストの元の意味が失われないようにすることができます。
最終的に、モデルは最終的な出力を通知するのに十分なコンテキスト情報を持つようになります。出力層の性質と機能は、Transformerモデルが設計された特定のタスクによって異なります。
自己回帰LLMでは、最終層でソフトマックス関数を使用して、次の単語が語彙「データベース」内の各トークンと一致する確率を決定します。特定のサンプリング・ハイパーパラメーターに応じて、モデルはそれらの確率を使用して出力シーケンスの次のトークンを決定します。
Transformerモデルは最も一般的にNLPに関連付けられており、もともとは機械翻訳のユースケース用に開発されたものです。最も注目すべきことは、Transformerアーキテクチャーは、生成AIの出現を促進した大規模言語モデル(LLM)を生み出したことです。
OpenAI社のGPTシリーズやAnthropic社のClaudeモデルなどのクローズド・ソース・モデルから、Meta LlamaやIBM® Graniteなどのオープンソース・モデルまで、一般に最もよく知られているLLMのほとんどは、自己回帰デコーダーのみのLLMです。
自己回帰LLMはテキスト生成用に設計されており、要約や質問への回答などの隣接タスクにも自然に拡張されます。これらのモデルは自己教師学習によってトレーニングされており、テキストの最初の単語がモデルに与えられ、シーケンスの最後まで次の単語を繰り返し予測するタスクが与えられます。
自己注意メカニズムによって提供される情報により、モデルは入力シーケンスからコンテキストを抽出し、出力の一貫性と連続性を維持することができます。
BERTやその多くの派生のようなエンコーダー/デコーダー・マスク言語モデル(MLM)は、TransformerベースLLMのもう1つの主要な進化の分岐を表しています。トレーニングでは、MLMにいくつかのトークンがマスキングされた(隠された)テキストサンプルが提供され、不足している情報を補完するタスクが与えられます。
このトレーニング方法はテキスト生成にはそれほど効果的ではありませんが、翻訳、テキスト分類、埋め込み学習など、堅牢なコンテキスト情報を必要とするタスクでMLMが優れた成果を上げるのに役立ちます。
Transformerモデルは当初、自然言語のユースケース用に設計され、現在でも、自然言語のユースケース用に最も重要に関連付けられていますが、連続データを含むほぼすべての状況で使用できます。これにより、LLMをマルチモーダル・システムに向けてファイン・チューニングすることから専用の時系列予測モデルやコンピューター・ビジョン用のViTまで、他の分野でのTransformerベースのモデルの開発が進みました。
データ・モダリティーの中には、他のモダリティよりもTransformerに適した連続表現に本質的に適しているものがあります。時系列データ、音声データ、動画データは本質的に連続的ですが、画像データはそうではありません。にもかかわらず、ViTや他の注意ベースのモデルは、画像キャプション、物体検出、画像分割、視覚的質問応答など、多くのコンピューター・ビジョンタスクで優れた結果を達成しています。
従来、「連続表現」として考えられていないデータにTransformerモデルを使用するには、そのデータを連続表現として扱うための概念的な回避策が必要です。例えば、注意メカニズムを使用して視覚データを理解するために、ViTはパッチ埋め込みを使用して画像データを連続表現として解釈できるようにしています。
AI開発者向けの次世代エンタープライズ・スタジオであるIBM watsonx.aiを使用して、生成AI、基盤モデル、機械学習機能をトレーニング、検証、チューニング、導入しましょう。わずかなデータとわずかな時間でAIアプリケーションを構築できます。
業界をリードするIBMのAI専門知識とソリューション製品群を使用すれば、ビジネスにAIを活用できます。
AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。
1 Google’s BERT Rolls Out Worldwide (ibm.com外部へのリンク)「Search Engine Journal」誌、2019年12月9日