人工知能におけるトランスフォーマーとは何ですか?
人工知能におけるトランスフォーマーとは何ですか?
トランスフォーマーは、入力シーケンスを出力シーケンスに変換または変更するニューラルネットワークアーキテクチャの一種です。これは、コンテキストを学習し、シーケンス の成分間の関係を追跡することによって行われます。たとえば、次の入力シーケンスを考えてみましょう:「空の色は何色ですか?」 トランスフォーマーモデルは、「色」、「空」、「青」という単語の関連性と関係を識別する内部的な数学表現を使用します。その知識を使用して、「空は青い」という出力を生成します。
音声認識から機械翻訳、タンパク質配列分析まで、あらゆる種類の配列変換にトランスフォーマーモデルが使用されています。
トランスフォーマーはなぜ重要なのですか?
コンピュータに人間の自然言語を理解して応答させることを目的とした、自然言語処理 (NLP) タスクに重点を置いた初期のディープラーニングモデル。当時のモデルは前の単語に基づいて順番に次の単語を推測しました。
理解を深めるために、スマートフォンのオートコンプリート機能を思い浮かべてください。入力する単語の組み合わせの頻度に基づいて候補が表示されます。例えば、「I am fine」と頻繁に入力する場合、「am」と入力すると、「fine」が自動的に提案されます。
初期の機械学習 (ML) モデルは、同様のテクノロジーをより広範囲に適用していました。当時のモデルは、トレーニングデータセット内のさまざまな単語ペアや単語グループ間の関係頻度をマッピングし、次の単語を推測しようとしました。しかし、初期の技術では、特定の入力長を超えるコンテキストを保持することはできませんでした。初期の機械学習モデルは、段落の最初の文から最後の文までのコンテキストを保持できなかったため、意味のある段落を生成できませんでした。「私はイタリア出身です。趣味は乗馬です。イタリア語を話します」という出力を生成するには、イタリアとイタリア語の関係を記憶しておく必要がありますが、初期のニューラルネットワークではそれがまったくできませんでした。
トランスフォーマーモデルは、テキスト内のこのような距離の長い依存関係をモデルで処理できるようにすることで、NLP 技術を根本的に変えました。トランスフォーマーのその他の利点は次のとおりです。
大規模モデルを可能にする
トランスフォーマーは長いシーケンス全体を並列計算で処理するため、トレーニング時間と処理時間の両方が大幅に短縮されます。これにより、複雑な言語表現を学習できる GPT や BERT などの超大規模言語モデル (LLM) のトレーニングが可能になりました。彼らは人間の幅広い言語と知識を捉える何十億ものパラメータを持っており、より一般化可能な AI システムの研究を推進しています。
より迅速なカスタマイズを可能にする
トランスフォーマーモデルでは、転移学習や検索拡張生成 (RAG) などの手法を使用できます。これらの手法により、業界組織固有のアプリケーションに合わせて既存のモデルをカスタマイズできます。モデルは大規模なデータセットで事前にトレーニングしてから、小さなタスク固有のデータセットで微調整できます。このアプローチにより、洗練されたモデルの使用が民主化され、大規模なモデルをゼロからトレーニングする際の資源の制約の制限がなくなりました。モデルは、さまざまな使用例の複数のドメインやタスクにわたって適切に機能します。
マルチモーダル AI システムの促進
トランスフォーマーを使用すると、複雑なデータセットを組み合わせるタスクに AI を使用できます。たとえば、DALL-E のようなモデルは、トランスフォーマーが NLP とコンピュータービジョンの機能を組み合わせて、テキストによる説明から画像を生成できることを示しています。トランスフォーマーを使用すると、さまざまな情報タイプを統合し、人間の理解と創造性をより忠実に模倣する AI アプリケーションを作成できます。
AI 研究と業界イノベーション
トランスフォーマーは新世代の AI 技術と AI 研究を生み出し、ML で可能なことの限界を広げています。彼らの成功は、革新的な問題を解決する新しいアーキテクチャとアプリケーションを生み出しました。これにより、機械が人間の言語を理解して生成できるようになり、その結果、顧客体験を向上させ、新しいビジネスチャンスを創出するアプリケーションが生まれました。
トランスフォーマーの使用例はどのようなものですか?
人間の言語、楽曲、プログラミング言語など、あらゆるシーケンシャルデータで大規模なトランスフォーマーモデルをトレーニングできます。いくつかのユースケースの例を次に示します。
自然言語処理
トランスフォーマーは、機械が人間の言語をかつてないほど正確に理解、解釈、生成できるようにします。大規模な文書を要約し、あらゆる種類のユースケースに対応する、一貫性のあるコンテキスト関連性の高いテキストを生成できます。Alexa のようなバーチャルアシスタントは、トランスフォーマーの技術を使って音声コマンドを理解し、それに応答します。
機械翻訳
翻訳アプリケーションでは、トランスフォーマーを使用して言語間のリアルタイムかつ正確な翻訳を行います。トランスフォーマーは、以前の技術と比較して、翻訳の流暢さと正確さを大幅に向上させました。
DNA 配列分析
DNA の断片を言語と同様の配列として扱うことで、トランスフォーマーは遺伝子変異の影響を予測し、遺伝的パターンを理解し、特定の疾患の原因となる DNA の領域を特定するのに役立ちます。この能力は、個人の遺伝子構成を理解することでより効果的な治療につながる個別化医療にとって非常に重要です。
タンパク質構造解析
トランスフォーマーモデルは逐次データを処理できるため、複雑なタンパク質構造に折りたたまれるアミノ酸の長鎖をモデル化するのに適しています。タンパク質の構造を理解することは、創薬と生物学的プロセスの理解に不可欠です。また、トランスフォーマーは、アミノ酸配列に基づいてタンパク質の 3D 構造を予測するアプリケーションでも使用できます。
トランスフォーマーはどのように機能しますか?
ニューラルネットワークは、2000 年代初頭以来、画像認識や NLP などのさまざまな AI タスクにおける主要な方法でした。それらは相互接続されたコンピューティングノード、つまりニューロンの層で構成されており、人間の脳を模倣して連携して複雑な問題を解決します。
データシーケンスを扱う従来のニューラルネットワークは、エンコーダー/デコーダーのアーキテクチャパターンを使用することがよくあります。エンコーダは、英語の文などの入力データシーケンス全体を読み取って処理し、それをコンパクトな数学表現に変換します。この表現は、入力の本質を捉えた要約です。次に、デコーダーはこの要約を取得し、出力シーケンスを段階的に生成します。出力シーケンスは、同じ文をフランス語に翻訳したものでもかまいません。
このプロセスは順番に行われ、つまり、各単語またはデータの一部を次々に処理する必要があります。この処理には時間がかかり、長距離では細部が失われる可能性があります。
セルフアテンションメカニズム
トランスフォーマーモデルは、セルフアテンションメカニズムと呼ばれるものを組み込むことでこのプロセスを変更します。データを順番に処理する代わりに、このメカニズムにより、モデルはシーケンスのさまざまな部分を一度に見て、どの部分が最も重要かを判断できます。
あなたが忙しい部屋にいて、誰かの話を聞こうとしているところを想像してみてください。脳は自動的に相手の声に集中し、重要度の低いノイズを除外します。セルフアテンションにより、モデルは同様のことを行えるようになります。つまり、関連する情報にもっと注意を払い、それらを組み合わせてより良い出力予測を行うことができるのです。このメカニズムにより、トランスフォーマーの効率が向上し、より大きなデータセットでトレーニングできるようになります。また、特に長いテキストを扱う場合、はるか昔からの文脈が次に来る内容の意味に影響を与える可能性があるので、より効果的です。
トランスフォーマーアーキテクチャのコンポーネントは何ですか?
トランスフォーマーニューラルネットワークアーキテクチャには、連携して最終出力を生成する複数のソフトウェアレイヤーがあります。以下の画像は、このセクションの残りの部分で説明されているように、変換アーキテクチャの成分を示しています。
入力埋め込み
この段階では、入力シーケンスをソフトウェアアルゴリズムが理解できる数学ドメインに変換します。最初に、入力シーケンスは一連のトークンまたは個々のシーケンス成分に分割されます。たとえば、入力が文の場合、トークンは単語です。次に埋め込むと、トークンシーケンスが数学的なベクトルシーケンスに変換されます。ベクトルには数値で表されるセマンティック情報と構文情報が含まれ、その属性はトレーニングプロセス中に学習されます。
ベクトルは、 n 次元スペースの一連の座標として視覚化できます。簡単な例として、 x は単語の最初の文字の英数字値を表し、 y はそのカテゴリを表す 2 次元のグラフを考えてみてください。単語 banana は、文字 b で始まり、カテゴリ Fruit に属しているため、値 (2,2) を持ちます。単語 mango は、文字 m で始まり、fruit のカテゴリにも含まれているため、値は (13,2) です。このように、ベクトル (x, y) は、banana と mango という単語が同じカテゴリに属することをニューラルネットワークに伝えます。
ここで、一連の数字にマッピングされた文中の単語の文法、意味、用途に関する何千もの属性を持つ n 次元のスペースを想像してみてください。ソフトウェアは数値を使って単語間の関係を数学的に計算し、人間の言語モデルを理解することができます。埋め込みは、離散トークンをモデルが処理して学習できる連続ベクトルとして表現する方法を提供します。
位置エンコーディング
モデル自体は本質的にシーケンシャルデータを順番に処理しないため、位置エンコーディングはトランスフォーマーのアーキテクチャの重要な成分です。トランスフォーマーには、入力シーケンスのトークンの順序を考慮する方法が必要です。位置エンコーディングは、各トークンの埋め込みに情報を追加して、シーケンス内の位置を示します。これは多くの場合、各トークンの埋め込みに追加される固有の位置信号を生成する一連の関数を使用して行われます。位置エンコーディングを使用すると、モデルはトークンの順序を維持し、シーケンスのコンテキストを理解できます。
トランスフォーマーブロック
一般的なトランスフォーマーモデルには、複数のトランスフォーマーブロックが積み重ねられています。各トランスフォーマーブロックには、マルチヘッドセルフアテンションメカニズムと位置ワイズフィードフォワードニューラルネットワークの2つの主要コンポーネントがあります。自己注意メカニズムにより、モデルはシーケンス内のさまざまなトークンの重要性を比較検討できます。予測を行う際には、入力の関連部分に焦点を当てます。
たとえば、「嘘を言うな」と「彼は横になる」という文を考えてみましょう。どちらの文でも、嘘という言葉の意味は、隣の言葉を見ないとわかりません。正しい意味を理解するには、話す言葉と下げる言葉が不可欠です。セルフアテンションにより、関連するトークンをコンテキストに合わせてグループ化できます。
フィードフォワード層には、トランスフォーマーモデルの学習と機能をより効率的に行うのに役立つ追加成分があります。たとえば、各トランスフォーマーブロックには次のものが含まれます:
- ショートカットのように機能する 2 つの主要成分の周りの接続。ネットワークのある部分から別の部分への情報の流れを可能にし、その間の特定の操作をスキップします。
- 数値 (特にネットワーク内のさまざまな層の出力) を一定の範囲内に保ち、モデルがスムーズに学習できるようにする層の正規化。
- 線形変換は、モデルが値を調整して、トレーニング対象のタスク (翻訳ではなく文書の要約など) をより適切に実行できるようにします。
リニアとソフトマックスのブロック
最終的に、モデルはシーケンス内の次の単語を選択するなど、具体的な予測を行う必要があります。これがリニアブロックの出番です。これは、最終ステージの前に、もう1つ完全に接続されたレイヤーで、高密度レイヤーとも呼ばれます。学習した線形マッピングをベクトルスペースから元の入力ドメインに実行します。この重要なレイヤーは、モデルの意思決定部分が、複雑な内部表現を取り出して、解釈して使用できる特定の予測に戻す場所です。このレイヤーの出力は、可能な各トークンのスコア (ロジットと呼ばれることが多い) のセットです。
softmax 関数は、ロジットスコアを取得して確率分布に正規化する最終段階です。softmax 出力の各要素は、特定のクラスまたはトークンに対するモデルの信頼を表します。
トランスフォーマーは他のニューラルネットワークアーキテクチャとどう違うのですか?
リカレントニューラルネットワーク (RNN) と畳み込みニューラルネットワーク (CNN) は、機械学習や深層学習のタスクで頻繁に使用される他のニューラルネットワークです。以下では、トランスフォーマーとの関係を検討します。
トランスフォーマーとRNN
トランスフォーマーモデルと RNN はどちらもシーケンシャルデータの処理に使用されるアーキテクチャです。
RNN は、データシーケンスを周期的な反復処理で一度に1 要素ずつ処理します。この処理は、入力層がシーケンスの最初の要素を受け取ることから始まります。その後、情報は隠れ層に渡され、そこで入力が処理され、出力が次のタイム段階に渡されます。この出力は、シーケンスの次の要素と組み合わされて、隠れ層にフィードバックされます。このサイクルはシーケンスの各要素で繰り返され、RNN はタイムステップごとに更新される隠れた状態ベクトルを維持します。このプロセスにより、RNN は過去の入力からの情報を効果的に記憶できます。
対照的に、トランスフォーマーはシーケンス全体を同時に処理します。この並列化により、RNN よりもトレーニング時間が大幅に短縮され、はるかに長いシーケンスを処理できるようになります。トランスフォーマーの自己注意メカニズムにより、モデルはデータシーケンス全体を同時に考慮することもできます。これにより、繰り返しや隠れたベクトルが不要になります。代わりに、位置エンコーディングはシーケンス内の各要素の位置に関する情報を保持します。
トランスフォーマーは、長距離の依存関係をより効果的に処理できるため、多くのアプリケーション、特に NLP タスクで RNN に大きく取って代わりました。また、RNN よりもスケーラビリティと効率性に優れています。RNN は、特に長距離の相互作用をキャプチャするよりもモデルサイズと計算効率が重要な場合など、特定の状況では依然として有用です。
トランスフォーマーとCNN
CNN は、空間階層と局所性が鍵となる画像などのグリッドのようなデータ用に設計されています。畳み込み層を使用して入力全体にフィルターを適用し、これらのフィルター処理されたビューを通してローカルパターンをキャプチャします。たとえば、画像処理では、最初のレイヤーがエッジやテクスチャを検出し、深いレイヤーがシェイプやオブジェクトなどのより複雑な構造を認識する場合があります。
トランスフォーマーは、主にシーケンシャルデータを処理するように設計されており、画像を処理できませんでした。ビジョントランスフォーマーのモデルは現在、画像をシーケンシャル形式に変換して処理しています。しかし、CNN は、多くの実用的なコンピュータービジョンアプリケーションにとって、依然として非常に効果的かつ効率的な選択肢となっています。
トランスフォーマーモデルにはどのような種類がありますか?
トランスフォーマーは多様なアーキテクチャファミリーに進化しました。トランスフォーマーモデルの種類は次のとおりです。
双方向トランスフォーマー
トランスフォーマー (BERT) モデルによる双方向エンコーダー表現は、基本アーキテクチャを変更して、単語を単独ではなく、文中の他のすべての単語との関係で処理するようにします。技術的には、双方向マスク言語モデル (MLM) と呼ばれるメカニズムを採用しています。事前トレーニング中、BERT は入力トークンの一部をランダムにマスクし、これらのマスクされたトークンをコンテキストに基づいて予測します。双方向の性質は、BERT が両層の左から右と右から左の両方のトークンシーケンスを考慮して理解を深めていることに由来します。
生成済みの事前トレーニング済みトランスフォーマー
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、StabilityAI、Amazonなどの大手AI企業が提供する高性能トランスフォーマーモデルを、1つのAPIで選択できるようにしています。Amazon Bedrock は、ジェネレーティブ AI アプリケーションの構築に必要な幅広い機能を備えているため、プライバシーとセキュリティを維持しながら開発を簡素化します。例えば、次のことができます。
- さまざまなトップファンデーションモデルを簡単に試して、データを使って個人的にカスタマイズできます
- コードを一切書かずに、複雑なビジネス タスクを実行するマネージド エージェントを作成する
- インフラストラクチャを管理することなく、生成系 AI 機能をアプリケーションに安全に統合して展開できます
また、AWS が 1,000 億以上のパラメータモデルのディープラーニングトレーニング専用に構築した第 2 世代の ML アクセラレータである AWS Trainium を使用すると、トランスフォーマーモデルのトレーニング時間を短縮できます。各 Amazon Elastic Compute Cloud (Amazon EC2) Trn1 インスタンスは、最大 16 個の Trainium アクセラレーターを展開し、クラウドでの深層学習トレーニングのための高性能かつ低コストの解決を提供します。
今すぐアカウントを作成して、AWS のトランスフォーマーモデルを使い始めましょう。