Transformerモデルとは

本を読む若い大学生

執筆者

Cole Stryker

Staff Editor, AI Models

IBM Think

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Transformerモデルとは

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)に使用される多くの拡散モデルにも採用されています。

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

The DX Leaders

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

Transformerモデルが重要な理由

Transformerモデルの主要な機能は自己注意メカニズムで、これにより、Transformerモデルはインプットの各部分間の関係(または依存関係)を検知することができます。それ以前のRNNやCNNアーキテクチャーとは異なり、Transformerアーキテクチャーでは注意層と標準フィードフォワード層のみを使用します。

自己注意、特にTransformerモデルがそれを計算するために使用しているマルチヘッド注意手法により、Transformerはそれまで最先端とされていたRNNやCNNの性能を超えています。

Transformerモデルが導入される前、NLPタスクのほとんどはニューラル・ネットワークに依存していました。RNNが連続データを処理する方法は本質的にシリアル化されており、インプット・シーケンスの要素を一度に1つずつ、特定の順序で個別に処理します。

これにより、RNNが長距離依存関係を特定する能力が妨げられ、短いテキストシーケンスのみを効果的に処理できるようになっています。
この欠陥は、長短期記憶ネットワーク)LSTM)の導入によってある程度解決されましたが、RNNの根本的な欠点として残っています。

対照的に、注意メカニズムは、シーケンス全体を同時に調べ、そのシーケンスの特定の時間ステップにいつどのように焦点を合わせるかを決定できます。

Transformerのこの特性は、長距離依存関係を理解する能力を大幅に向上させるだけでなく、並列化も可能にします。つまり、順次データを処理するのではなく、一度に多くの計算を実行できます。

並列処理に適した、Transformerモデルはトレーニングと推論の両方でGPUが提供するパワーと速度を最大限に活用できます。これにより、自己教師学習を通じて、これまでにないほど大規模なデータセットでTransformerモデルをトレーニングする機会が生まれました。

視覚データの場合、トランスフォーマーには畳み込みニューラル.・ネットワークに比べていくつかの利点もあります。CNNは本質的にローカルであり、畳み込みを使用して、入力データの小さなサブセットを1つずつ処理します。

そのため、CNNは、互いに隣接していない単語(テキスト内)やピクセル(画像内)の相関関係など、長期的な依存関係を識別するのにも苦労します。注意メカニズムには、このような制限はありません。

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

自己注意法とは

注意の数学的な概念、より具体的には自己注意を理解することは、非常に多くの分野でのTransformerモデルの成功を理解するために不可欠です。注意メカニズムは、本質的に、AIモデルが特定の瞬間にデータ・シーケンスのどの部分に「注意を払うべき」かを決定するように設計されたアルゴリズムです。

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

  • 先行する単語「「the」 」は「「judge」 」が、評価する、または意見を形成するという意味の動詞ではなく、法律を適用して最終的な判断を下す人物のように名詞として機能していることがわかります。
  • また、「「judge」 」は「「sentence」 」は、文法的な文ではなく、法的なペナルティを指していると考えられます。
  • さらに「「issued」 」という単語は、「「sentence」 」が、文法的な概念ではなく、法的概念を指していることを示唆します。
  • したがって、「「sentence」 」という単語を解釈する際、モデルは「「judge」 」および「issued. 」に最新の注意を払う必要があります。また、「「the」 」という単語にも注意を払う必要があります。他の単語は多かれ少なかれ無視することができます。

自己注意法の仕組み

大まかに言えば、Transformerモデルの注意層は、データ・シーケンスの各部分の特定のコンテキストを4つのステップで評価および使用します。

  1. モデルは、未加工データのシーケンスを「読み取り」、それらをベクトル埋め込みに変換します。ここでは、シーケンス内の各要素は、セマンティックな意味などの品質を数値的に反映する独自の特徴ベクトルで表されます。

  2. このモデルは、各ベクトルと他の各ベクトルの間の類似性、相関性、その他の依存性(またはその欠如)を決定します。ほとんどのTransformerモデルでは、あるベクトルと別のベクトルの相対的な重要度は、各ベクトル間のドット積を計算することによって決定されます。ベクトルが適切にアライメントされていれば、掛け合わせることで大きな値が得られます。アライメントされていなければ、そのドット積は小さくなるか負の値になります。

  3. これらの「アライメント・スコア」は、注意重みに変換されます。これは、アライメント・スコアを入力として使用することで実現され、すべての値が0から1の範囲に正規化され、すべてのスコアを合計すると「1」になるようにします。したがって、例えば、「ベクトルA」と「ベクトルB」の間に注意重みを「0」に割り当てると、ベクトルAに関する予測を行う際にベクトルBは無視されることになります。ベクトルBに注意重みを「1」に割り当てると、ベクトルAに関する決定を行う際に、ベクトルBはモデルの100%の注意を受けます。

  4. これらの注意重みは、特定の時間に特定の入力要素の影響を強調したり、強調しないようにするために使用されます。t言い換えれば、注意重みは、Transformerモデルが特定の瞬間に特定の情報に焦点を合わせたり無視したりするのに役立ちます。

トレーニング前は、Transformerモデルは最適なベクトル埋め込みとアライメント・スコアを生成する方法をまだ「知りません」。トレーニング中、モデルはトレーニング用データから抽出された数百万の例に対して予測を行い、損失関数によって各予測の誤差が定量化されます。

予測を行い、バックプロパゲーション勾配降下法でモデルの重みを更新するという反復サイクルを通じて、モデルは正確な出力につながるベクトル埋め込み、アライメントスコア、アテンション重みを生成することを「学習」します。

Transformerモデルの仕組み

リレーショナル・データベースなどのTransformerモデルは、データ・シーケンスの各部分に対してクエリー、キー、値のベクトルを生成します。そして、それらを使用して一連の行列乗算を通じて注意の重みを計算します。

リレーショナル・データベースは、関連データの保存と取得を簡素化するように設計されています。各データに一意の識別子(「キー」)を割り当て、各キーは対応するに関連付けられます。『Attention is All You Need』という論文では、この概念フレームワークを、一連のテキスト内の各トークン間の関係の処理に適用しました。

  • クエリー・ベクトルは、特定のトークンが「求めている」情報を表します。言い換えれば、トークンのクエリー・ベクトルは、他のトークンがコンテキスト内でその意味、活用、またはニュアンスにどのような影響を与えるかを計算するために使用されます。
  • キー・ベクトルは、各トークンに含まれる情報を表します。クエリとキーの間のアライメントは、そのテキスト・シーケンスのコンテキスト内での関連性を反映する注意の重みを計算するために使用されます。
  • (または値ベクトル)は、各キー・ベクトルからの情報を、それぞれの注意重みによりスケーリングされて「返します」。クエリーと強くアライメントされたキーからの貢献には、より大きな重み付けが行われます。クエリーに関連しないキーからの貢献には、ゼロに近い重み付けが行われます。

LLMの場合、モデルの「データベース」は、トレーニング用データ内のテキスト・サンプルから学習したトークンの語彙です。その注意メカニズムは、この「データベース」からの情報を使用して言語の文脈を理解します。

トークン化と入力埋め込み

文字(文字、数字、句読点)が人間が言語を表現するための基本単位であるのに対し、AIモデルが使用する言語の最小単位はトークンです。各トークンにはID番号が割り当てられており、このID番号(単語やトークンそのものではなく)がLLMの語彙データベースをナビゲートします。このように言語をトークン化することで、テキスト処理に必要な計算能力が大幅に削減されます。

Transformerの注意層に入力されるクエリーとキー・ベクトルを生成するには、モデルには各トークンの初期のコンテキストのないベクトル埋め込みが必要です。これらの初期トークン埋め込みは、トレーニング中に学習することも、事前にトレーニングされた単語埋め込みモデルから取得することもできます。

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

単語の順序と位置は、単語の意味に大きな影響を与える可能性があります。RNNのシリアル化の性質により、各トークンの位置に関する情報が本質的に保持されますが、Transformerモデルでは、注意メカニズムが考慮する位置情報を明示的に追加する必要があります。

位置エンコーディングでは、入力が注意メカニズムに入る前に、モデルは各トークンの埋め込みに相対位置から導出された値のベクトルを追加します。2つのトークンが近いほど、位置ベクトルの類似性があるとされ、位置情報を追加することでアライメント・スコアが高くなります。これにより、モデルは近くのトークンにより注意を払うように学習します。

クエリー、キー、値のベクトルの生成

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

  • 埋め込みに重み行列WQを掛けて、dk次元を持つクエリー・ベクトル(Q)を生成します。
  • 埋め込みに重み行列WKを掛けてキー・ベクトル(K)を生成します。このキー・ベクトルの次元もdkです。
  • 埋め込みに重み行列WVを掛けて、次元が  dvである値ベクトル( V )を生成します

自己注意の計算

Transformerの注意メカニズムの主な機能は、シーケンス内の他のすべてのトークンのキー・ベクトルで各トークンのクエリー・ベクトルのペアに正確な注意重みを割り当てることです。これを達成すると、各トークンを考えることができますx各トークンには対応する注意重みのベクトルがあり、そのベクトルの各要素は他のトークンがそのトークンに影響を与える範囲を表すと考えることができます。

  • これで、互いのトークンの値ベクトルに、それぞれの注意重みが乗算されます。
  • これらの注意重み付けされた値ベクトルはすべて合計されます。結果のベクトルは、シーケンス内の他のすべてのトークンによってトークンに提供される x集約されたコンテキスト情報を表します。
  • 最後に、各トークンからの注意重み付け変更の結果のベクトルは、トークン xの元のポスト・ポジショナル・エンコーディング・ベクトル埋め込みに追加されます。

要するに、 xのベクトル埋め込みが更新され、シーケンス内の他のトークンによって提供されるコンテキストをより適切に反映するようになりました。

マルチヘッド注意法

トークンが互いに関連しうる多くの多面的な方法を捉えるために、Transformerモデルは複数の注意ブロックにマルチヘッド注意法を適用します

最初のフィードフォワード層に送られる前に、それぞれの元の入力トークンの埋め込みは、均等なサイズのh個のサブセットに分割されます。埋め込みの各部分は、h個の並列Q、K、およびV重み行列の1つに入力されます。これらの重み行列はそれぞれ、クエリー・ヘッド、キー・ヘッド、または値ヘッドと呼ばれます。クエリー、キー、値のヘッドの並列トリプレットのそれぞれによって出力されたベクトルは、注意ヘッドと呼ばれる次の注意層の対応するサブセットに送られます。

各注意ブロックの最終層では、これらのh個の並列回路の出力が最終的に連結され、次のフィードフォワード層に送られます。実際には、モデルのトレーニングにより、各回路は意味の個別の側面を捉える異なる重みを学習します。

残存接続と層の正規化

状況によっては、注意ブロックを使用してコンテキストに応じて更新された埋め込み出力を渡すと、元のシーケンスからの情報が許容できないほど失われる可能性があります。

これを解決するために、Transformerモデルでは、注意メカニズムにより提供されるコンテキスト情報と各トークンの元の意味とのバランスを取ることがよくあります。トークン埋め込みの注意が更新されたサブセットがすべて連結された後、更新されたベクトルがトークンの元の(位置エンコードされた)ベクトル埋め込みに追加されます。元のトークンの埋め込みは、その層とネットワークの前の層間の残差接続によって行われます。

結果のベクトルは別の線形フィードフォワード層に送られ、そこで一定サイズに正規化されてから次の注意ブロックに渡されます。これらを組み合わせることで、トレーニングの安定性が維持され、データがニューラル・ネットワークのより深いところに移動してもテキストの元の意味が失われないようにすることができます。

出力の生成

最終的に、モデルは最終的な出力を通知するのに十分なコンテキスト情報を持つようになります。出力層の性質と機能は、Transformerモデルが設計された特定のタスクによって異なります。

自己回帰LLMでは、最終層でソフトマックス関数を使用して、次の単語が語彙「データベース」内の各トークンと一致する確率を決定します。特定のサンプリング・ハイパーパラメーターに応じて、モデルはそれらの確率を使用して出力シーケンスの次のトークンを決定します。

自然言語処理(NLP)におけるTransformerモデル

Transformerモデルは最も一般的にNLPに関連付けられており、もともとは機械翻訳のユースケース用に開発されたものです。最も注目すべきことは、Transformerアーキテクチャーは、生成AIの出現を促進した大規模言語モデル(LLM)を生み出したことです。

OpenAI社のGPTシリーズやAnthropic社のClaudeモデルなどのクローズド・ソース・モデルから、Meta LlamaやIBM® Graniteなどのオープンソース・モデルまで、一般に最もよく知られているLLMのほとんどは、自己回帰デコーダーのみのLLMです。

自己回帰LLMはテキスト生成用に設計されており、要約や質問への回答などの隣接タスクにも自然に拡張されます。これらのモデルは自己教師学習によってトレーニングされており、テキストの最初の単語がモデルに与えられ、シーケンスの最後まで次の単語を繰り返し予測するタスクが与えられます。

自己注意メカニズムによって提供される情報により、モデルは入力シーケンスからコンテキストを抽出し、出力の一貫性と連続性を維持することができます。

BERTやその多くの派生のようなエンコーダー/デコーダー・マスク言語モデル(MLM)は、TransformerベースLLMのもう1つの主要な進化の分岐を表しています。トレーニングでは、MLMにいくつかのトークンがマスキングされた(隠された)テキストサンプルが提供され、不足している情報を補完するタスクが与えられます。

このトレーニング方法はテキスト生成にはそれほど効果的ではありませんが、翻訳、テキスト分類、埋め込み学習など、堅牢なコンテキスト情報を必要とするタスクでMLMが優れた成果を上げるのに役立ちます。

他の分野のTransformerモデル

Transformerモデルは当初、自然言語のユースケース用に設計され、現在でも、自然言語のユースケース用に最も重要に関連付けられていますが、連続データを含むほぼすべての状況で使用できます。これにより、LLMをマルチモーダル・システムに向けてファイン・チューニングすることから専用の時系列予測モデルやコンピューター・ビジョン用のViTまで、他の分野でのTransformerベースのモデルの開発が進みました。

データ・モダリティーの中には、他のモダリティよりもTransformerに適した連続表現に本質的に適しているものがあります。時系列データ、音声データ、動画データは本質的に連続的ですが、画像データはそうではありません。にもかかわらず、ViTや他の注意ベースのモデルは、画像キャプション、物体検出画像分割、視覚的質問応答など、多くのコンピューター・ビジョンタスクで優れた結果を達成しています。

従来、「連続表現」として考えられていないデータにTransformerモデルを使用するには、そのデータを連続表現として扱うための概念的な回避策が必要です。例えば、注意メカニズムを使用して視覚データを理解するために、ViTはパッチ埋め込みを使用して画像データを連続表現として解釈できるようにしています

  • まず、画像がパッチの配列に分割されます。例えば、224 x 224ピクセルの画像を256個の14 x 14ピクセルのパッチに分割すると、画像の処理に必要な計算ステップ数が大幅に削減されます。
  • 次に、線形投影層が各パッチをベクトル埋め込みにマッピングします。
  • この記事の前半で説明した位置エンコーディングと同様に、これらのパッチ埋め込みのそれぞれに位置情報が追加されます。
  • これらのパッチ埋め込みは、本質的にトークン埋め込みのシーケンスとして機能するようになり、画像を注意メカニズムで解釈できるようになりました。
関連ソリューション
IBM watsonx.ai

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

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

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

AIソリューションはこちら
AIコンサルティングとサービス

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

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

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

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

1 Google’s BERT Rolls Out Worldwide (ibm.com外部へのリンク)「Search Engine Journal」誌、2019年12月9日