人工知能におけるトランスフォーマーとは何ですか?

トランスフォーマーは、入力シーケンスを出力シーケンスに変換または変更するニューラルネットワークアーキテクチャの一種です。これは、コンテキストを学習し、シーケンス の成分間の関係を追跡することによって行われます。たとえば、次の入力シーケンスを考えてみましょう:「空の色は何色ですか?」 トランスフォーマーモデルは、「色」、「空」、「青」という単語の関連性と関係を識別する内部的な数学表現を使用します。その知識を使用して、「空は青い」という出力を生成します。 

音声認識から機械翻訳、タンパク質配列分析まで、あらゆる種類の配列変換にトランスフォーマーモデルが使用されています。

ニューラルネットワークについて読む

人工知能 (AI) について読む

トランスフォーマーはなぜ重要なのですか?

初期の深層学習モデルは、自然言語処理 (NLP) タスクに広く焦点を当て、コンピュータが人間の自然言語を理解し、応答することを目的としていました。当時のモデルは前の単語に基づいて順番に次の単語を推測しました。

理解を深めるために、スマートフォンのオートコンプリート機能を思い浮かべてください。入力する単語の組み合わせの頻度に基づいて候補が表示されます。例えば、「I am fine」と頻繁に入力する場合、「am」と入力すると「fine」が自動的に提案されます。

初期の機械学習 (ML) モデルでは、同様の技術をより広範囲に適用していました。当時のモデルは、トレーニングデータセット内のさまざまな単語ペアや単語グループ間の関係頻度をマッピングし、次の単語を推測しようとしました。しかし、初期の技術では、特定の入力長を超えるコンテキストを保持することはできませんでした。たとえば、初期の機械学習モデルは、段落の最初の文から最後の文までのコンテキストを保持できなかったため、意味のある段落を生成できませんでした。「私はイタリア出身です。趣味は乗馬です。イタリア語を話します」という出力を生成するには、イタリアとイタリア語の関係を記憶しておく必要がありますが、初期のニューラルネットワークではそれがまったくできませんでした。

トランスフォーマーモデルは、テキスト内のこのような距離の長い依存関係をモデルで処理できるようにすることで、NLP 技術を根本的に変えました。トランスフォーマーのその他の利点は次のとおりです。

大規模モデルを可能にする

トランスフォーマーは長いシーケンス全体を並列計算で処理するため、トレーニング時間と処理時間の両方が大幅に短縮されます。これにより、複雑な言語表現を学習できる GPT や BERT などの超大規模言語モデル (LLM) のトレーニングが可能になりました。彼らは人間の幅広い言語と知識を捉える何十億ものパラメータを持っており、より一般化可能な AI システムの研究を推進しています。

大規模言語モデルについて読む

GPT について読む

より迅速なカスタマイズを可能にする

トランスフォーマーモデルでは、転移学習や検索拡張生成 (RAG) などの手法を使用できます。これらの手法により、業界組織固有のアプリケーションに合わせて既存のモデルをカスタマイズできます。大規模なデータセットで事前にトレーニングしモデルを、小規模なタスク固有のデータセットでファインチューニングできます。このアプローチにより、洗練されたモデルの使用が民主化され、大規模なモデルをゼロからトレーニングする際の資源の制約の制限がなくなりました。モデルは、さまざまな使用例の複数のドメインやタスクにわたって適切に機能します。

マルチモーダル AI システムの促進

トランスフォーマーを使用すると、複雑なデータセットを組み合わせるタスクに AI を使用できます。例えば、DALL-E などのモデルは、トランスフォーマーが NLP とコンピュータビジョンの機能を組み合わせて、テキストによる説明から画像を生成できる実例です。トランスフォーマーを使用すると、さまざまな種類の情報を統合し、人間の理解と創造性をより忠実に模倣する AI アプリケーションを作成できます。

コンピュータビジョンについて読む

AI 研究と業界イノベーション

トランスフォーマーは新世代の AI 技術と AI 研究を生み出し、機械学習の可能性を広げています。その成功により、イノベーションを伴う問題を解決する新しいアーキテクチャとアプリケーションが生まれました。これにより、機械が人間の言語を理解して生成できるようになり、その結果、顧客体験を向上させ、新しいビジネスチャンスを創出するアプリケーションが生まれました。

トランスフォーマーの使用例はどのようなものですか?

人間の言語、楽曲、プログラミング言語など、あらゆるシーケンシャルデータで大規模なトランスフォーマーモデルをトレーニングできます。いくつかのユースケースの例を次に示します。

自然言語処理

トランスフォーマーにより、機械が人間の言語をかつてないほど正確に理解、解釈、生成できるようになります。大規模な文書を要約し、あらゆる種類のユースケースに対応する、一貫性のあるコンテキスト関連性の高いテキストを生成できます。Alexa のようなバーチャルアシスタントは、トランスフォーマーの技術を使って音声コマンドを理解し、それに応答します。

機械翻訳

翻訳アプリケーションは、トランスフォーマーを使用してリアルタイムかつ正確に言語を翻訳します。トランスフォーマーにより、以前の技術と比較して、翻訳の流暢さと正確さが大幅に向上しました。

機械翻訳について読む

DNA 配列分析

DNA の断片を言語と同様の配列として扱うことで、トランスフォーマーは遺伝子変異の影響を予測し、遺伝的パターンを理解し、特定の疾患の原因となる DNA の領域を特定するのに役立ちます。この能力は、個人の遺伝子構成を理解することでより効果的な治療につながる個別化医療にとって非常に重要です。

タンパク質構造解析

トランスフォーマーモデルは逐次データを処理できるため、複雑なタンパク質構造に折りたたまれたアミノ酸の長鎖をモデル化するのに適しています。タンパク質の構造を理解することは、創薬と生物学的プロセスの理解に不可欠です。また、トランスフォーマーは、アミノ酸配列に基づいてタンパク質の 3D 構造を予測するアプリケーションでも使用できます。

トランスフォーマーはどのように機能しますか?

ニューラルネットワークは、2000 年代初頭以来、画像認識や NLP などのさまざまな AI タスクにおける主要な方法でした。それらは相互接続されたコンピューティングノード、つまりニューロンの層で構成されており、人間の脳を模倣して連携して複雑な問題を解決します。

データシーケンスを扱う従来のニューラルネットワークは、エンコーダー/デコーダーのアーキテクチャパターンを使用することがよくあります。エンコーダは、英語の文などの入力データシーケンス全体を読み取って処理し、それをコンパクトな数学表現に変換します。この表現は、入力の本質を捉えた要約です。次に、デコーダーはこの要約を取得し、出力シーケンスを段階的に生成します。出力シーケンスは、同じ文のフランス語訳になる場合もあります。

このプロセスは順番に行われ、つまり、各単語またはデータの一部を次々に処理する必要があります。この処理には時間がかかり、長いシーケンスでは詳細が失われる可能性があります。

自己注意機構

トランスフォーマーモデルは、自己注意機構と呼ばれる仕組みを組み込むことでこのプロセスを変えました。データを順番に処理する代わりに、このメカニズムにより、モデルはシーケンスのさまざまな部分を一度に見て、どの部分が最も重要かを判断できます。 

あなたが忙しい部屋にいて、誰かの話を聞こうとしているところを想像してみてください。脳は自動的に相手の声に集中し、重要度の低いノイズを除外します。自己注意機構により、関連する情報にもっと注意を払い、それらを組み合わせてより良い出力を予測できます。この機構により、トランスフォーマーの効率が向上し、より大きなデータセットでトレーニングできるようになります。また、特に長いテキストを扱う場合、はるか前のコンテキストが次に来る内容の意味に影響を与える可能性があるので、より効果的です。

トランスフォーマーアーキテクチャは何で構成されていますか?

トランスフォーマーニューラルネットワークアーキテクチャには、連携して最終出力を生成する複数のソフトウェアレイヤーがあります。以下の画像は、このセクションでこの後説明する、トランスフォーマーアーキテクチャの構成要素を示しています。


入力埋め込み

この段階では、入力シーケンスをソフトウェアアルゴリズムが理解できる数学ドメインに変換します。最初に、入力シーケンスは一連のトークンまたは個々のシーケンス成分に分割されます。たとえば、入力が文の場合、トークンは単語です。次に埋め込みによって、トークンのシーケンスが数学的なベクトルシーケンスに変換されます。ベクトルには数値で表されるセマンティック情報と構文情報が含まれ、その属性はトレーニングプロセス中に学習されます。

ベクトルは、 n 次元空間の座標として視覚化できます。簡単な例として、 x が単語の 1 文字目の英数字の値を表し、 y がそのカテゴリを表す 2 次元のグラフを考えます。単語 banana は、文字 b で始まり、fruit カテゴリに属しているため、値 (2,2) を持ちます。単語 mango は、文字 m で始まり、これも fruit カテゴリに含まれているため、値は (13,2) です。このようにして、ベクトル (x, y) は、banana と mango という単語が同じカテゴリに属することをニューラルネットワークに伝えます。 

ここで、文中の任意の単語の文法、意味、用途に関する何千もの属性が一連の数字にマッピングされた n 次元空間を想像してみてください。その数値はソフトウェアが単語間の関係を数学的に計算し、人間の言語モデルを理解するために使用できます。埋め込みは、離散トークンをモデルによる処理や学習に使える連続ベクトルとして表現する方法を提供します。

位置エンコーディング

モデル自体は本質的にシーケンシャルデータを順番どおり処理しないため、位置エンコーディングはトランスフォーマーアーキテクチャの重要な構成要素となります。トランスフォーマーには、入力シーケンスのトークンの順序を考慮する方法が必要です。位置エンコーディングは、各トークンの埋め込みにシーケンス内の位置を示す情報を追加します。そのために主に使用するのが、各トークンの埋め込みに追加する一意の位置信号を生成する一連の関数です。位置エンコーディングを使用すると、モデルはトークンの順序を保持し、シーケンスのコンテキストを理解できます。

トランスフォーマーブロック

一般的なトランスフォーマーモデルは、複数のトランスフォーマーブロックが積み重ねられています。各トランスフォーマーブロックには、マルチヘッド自己注意機構と位置単位順伝播ニューラルネットワークの 2 つの主要な構成要素があります。自己注意機構により、モデルはシーケンス内のさまざまなトークンの重要性を比較検討できます。予測を行う際には、入力の中の関連し合う部分に焦点を当てます。

例えば、「Speak no lies (嘘を言うな)」と「He lies down (彼は横になる)」という文を考えてみましょう。どちらの文でも、lies という単語の意味は、前後の単語を見ないとわかりません。speak と down という単語が正しい意味を理解するためには不可欠です。自己注意機構により、関連するトークンをコンテキストに合わせてグループ化できます。

順伝播層には、トランスフォーマーモデルの学習と機能をより効率的に行うのに役立つ追加成分があります。例えば、各トランスフォーマーブロックには次のものが含まれます:

  • 2 つの主要な構成要素の周辺でショートカットのように機能する結合。ネットワークのある部分から別の部分への情報の流れを可能にし、その間の特定の演算をスキップします。
  • 数値 (特にネットワーク内のさまざまな層の出力) を一定の範囲内に保ち、モデルの学習を円滑にする層の正規化。
  • モデルが、トレーニング対象のタスク (翻訳に対して文書の要約など) をより適切に実行するために値を調整する線形変換関数。

リニアブロックとソフトマックスブロック

最終的に、モデルはシーケンス内の次の単語を選択するなど、具体的な予測を行う必要があります。これがリニアブロックの出番です。最終段階にあるこのもう 1 つの全結合層は密層とも呼ばれます。学習済みの線形写像をベクトル空間から元の入力ドメインに実行します。この重要な層では、モデルの意思決定を担う箇所が、複雑な内部表現を取得して、解釈や使用に用いる特定の予測に戻されます。この層の出力は、使われうる各トークンのスコア (ロジットと呼ばれることが多い) のセットです。

ソフトマックス関数は、ロジットスコアを取得して確率分布に正規化する最終段階です。ソフトマックス出力の各要素は、特定の分類またはトークンに対するモデルの信頼度を表します。

トランスフォーマーは他のニューラルネットワークアーキテクチャとどう違うのですか?

リカレントニューラルネットワーク (RNN) と畳み込みニューラルネットワーク (CNN) も、機械学習や深層学習のタスクで頻繁に使用されるニューラルネットワークです。以下では、トランスフォーマーとの関係を説明します。

トランスフォーマーと RNN

トランスフォーマーモデルと RNN はどちらもシーケンシャルデータの処理に使用されるアーキテクチャです。

RNN は、データシーケンスを周期的な反復処理で一度に 1 要素ずつ処理します。この処理は、入力層がシーケンスの最初の要素を受け取ることから始まります。その後、情報は隠れ層に渡され、そこで入力が処理され、出力が次のタイムステップに渡されます。この出力は、シーケンスの次の要素と組み合わされて、隠れ層にフィードバックされます。このサイクルはシーケンスの各要素で繰り返され、RNN はタイムステップごとに更新される隠れた状態ベクトルを維持します。このプロセスにより、RNN は過去の入力からの情報を効果的に記憶できます。

対照的に、トランスフォーマーはシーケンス全体を同時に処理します。この並列化により、RNN よりもトレーニング時間が大幅に短縮され、はるかに長いシーケンスを処理できるようになります。トランスフォーマーの自己注意機構は、モデルがデータシーケンス全体を同時に考察することも可能にします。これにより、再帰や隠れベクトルが不要になります。代わりに、位置エンコーディングを使用してシーケンス内の各要素の位置に関する情報を保持します。

トランスフォーマーは、離れた依存関係をより効果的に処理できるため、多くのアプリケーション、特に NLP タスクで RNN に大きく取って代わりました。また、RNN よりもスケーラビリティと効率性に優れています。RNN が依然としてとりわけ有用な状況として、離れた相互作用をキャプチャするよりもモデルサイズと計算効率が重要な場合があります。

トランスフォーマーと CNN

CNN は、空間階層と局所性が鍵となる画像などのグリッド式のデータ用に設計されています。畳み込み層を使用して入力全体にフィルターを適用し、これらのフィルター処理されたビューを通して局所的なパターンをキャプチャします。例えば、画像処理では、最初の層がエッジやテクスチャを検出し、深い層がシェイプやオブジェクトなどのより複雑な構造を認識する場合があります。

かつてトランスフォーマーは、主にシーケンシャルデータを処理するように設計されており、画像を処理できませんでした。現在、ビジョントランスフォーマーのモデルは画像をシーケンシャル形式に変換して処理しています。しかし、CNN は、多くの実用的なコンピュータビジョンアプリケーションにとって、依然として非常に効果的かつ効率的な選択肢となっています。

トランスフォーマーモデルにはどのような種類がありますか?

トランスフォーマーは多様なアーキテクチャファミリーに進化しました。トランスフォーマーモデルの種類は次のとおりです。

双方向トランスフォーマー

トランスフォーマーによる双方向エンコーダー表現 (BERT) モデルは、単語を単独ではなく、文中の他のすべての単語との関係で処理するべく基本アーキテクチャを変更しました。技術的には、双方向マスク言語モデル (MLM) と呼ばれる機構を採用しています。事前トレーニング中、BERT は入力トークンの一部をランダムにマスクし、これらのマスクされたトークンをコンテキストに基づいて予測します。双方向の性質は、BERT が 2 つの層の「左から右」と「右から左」の両方のトークンシーケンスを考慮して理解を深めていることに由来します。

生成的事前トレーニング済みトランスフォーマー (GPT)

GPT モデルでは、言語モデリング目標を使用して大量のテキストコーパスで事前にトレーニングした、積み重ねたトランスフォーマーデコーダーを使用します。これらは自己回帰型であり、つまり、先行するすべての値に基づいてシーケンス内の次の値を回帰または予測します。GPT モデルでは、1,750 億を超えるパラメータを使用することで、スタイルとトーンを調整したテキストシーケンスを生成できます。GPT モデルは、汎用人工知能の実現に向けた AI の研究に火をつけました。つまり、アプリケーションとカスタマーエクスペリエンスを再発明しながら、組織の生産性を新たなレベルに引き上げることができるということです。

双方向トランスフォーマーと自己回帰トランスフォーマー

双方向自己回帰トランスフォーマー (BART) は、双方向特性と自己回帰特性を組み合わせたトランスフォーマーモデルの一種です。BERT の双方向エンコーダーと GPT の自己回帰デコーダーをブレンドしたようなものです。入力シーケンス全体を一度に読み取り、BERT と同様に双方向に処理します。ただし、既に生成済みのトークンとエンコーダーから提供された入力を条件として、一度に 1 トークンずつ出力シーケンスを生成します。

マルチモーダルタスク用トランスフォーマー

ViLBERT や VisualBERT などのマルチモーダルトランスフォーマーモデルは、複数のタイプの入力データ (通常はテキストと画像) を処理するように設計されています。トランスフォーマーのアーキテクチャを拡張し、デュアルストリームネットワークを使用することで画像入力とテキスト入力を別々に処理した後、情報を融合します。この設計により、モデルはクロスモーダル表現を学習できます。例えば、ViLBERT は共同注意トランスフォーマー層を使用して、個別のストリームが相互作用できるようになっています。画像に関する質問応答タスクなど、テキストと画像の関係を理解することが重要な状況では非常に重要です。

ビジョントランスフォーマー

ビジョントランスフォーマー (ViT) は、トランスフォーマーのアーキテクチャを画像分類タスクの用途に使用するものです。画像をピクセルのグリッドとして処理するのではなく、文中での単語の扱いと同様に、画像データを固定サイズのパッチのシーケンスとみなします。各パッチは平坦化され、線形に埋め込みが行われてから、標準のトランスエンコーダーによって順次処理されます。空間情報を維持するために、位置埋め込みが追加されています。このようにグローバルな自己注意機構を利用することで、モデルは位置に関係なく、任意のパッチペア間の関係を捉えることができます。

AWS はトランスフォーマーモデルの要件をどのようにサポートできますか?

Amazon Web Services (AWS) では、トランスフォーマーモデルの要件に使用できる次の AI/ML サービスを提供します。

Amazon SageMaker JumpStart は、事前トレーニングされたトランスフォーマー モデルにアクセスして、記事の要約や画像生成などのタスクを実行できる ML ハブです。事前トレーニング済みのモデルは、データを使用してユースケースに合わせて完全にカスタマイズでき、ユーザーインターフェイスまたは SDK を使用して本番環境に簡単にデプロイできます。

Amazon Bedrock は、AI21 Labs、Anthropic、Cohere、Meta、Stability AI、および Amazon などの大手 AI 企業が提供する高性能な基盤モデル (FM) から選択して、単一の API を通じて利用できるようにする完全マネージド型サービスです。Amazon Bedrock は、生成 AI アプリケーションの構築に必要な幅広い機能を備えていて、プライバシーとセキュリティを維持しながら簡単に開発ができます。例えば、次のことができます。

  • さまざまな代表的な基盤モデルを簡単に試し、自社のデータを使って非公開にカスタマイズする
  • コードを一切書かずに、複雑なビジネス タスクを実行するマネージドエージェントを作成する
  • インフラストラクチャを管理することなく、生成 AI 機能をアプリケーションに安全に統合してデプロイする

また、 AWS Trainium を使用すると、トランスフォーマーモデルをより速くトレーニングできます。これは、AWS が 1,000 億パラメータを超えるモデルの深層学習トレーニング専用に構築した第 2 世代機械学習アクセラレーターです。各 Amazon Elastic Compute Cloud (Amazon EC2) Trn1 インスタンスは、最大 16 個の Trainium アクセラレーターを展開し、クラウドでの深層学習トレーニングのための高性能かつ低コストの解決を提供します。 

今すぐアカウントを作成して、AWS でトランスフォーマーモデルを使い始めましょう。

AWS での次のステップ

無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで構築を始めましょう。

サインイン