変圧器モデルの概要: 変圧器モデルの概要とその仕組み
公開: 2024-08-07トランスフォーマーは、AI、特に自然言語処理 (NLP) における画期的な進歩です。パフォーマンスとスケーラビリティで知られており、言語翻訳や会話型 AI などのアプリケーションに不可欠です。この記事では、その構造、他のニューラル ネットワークとの比較、および長所と短所について説明します。
目次
- トランスモデルとは何ですか?
- トランスフォーマーと CNN および RNN の比較
- 変圧器モデルの仕組み
- 変圧器型式例
- 利点
- 短所
トランスモデルとは何ですか?
トランスフォーマーは、NLP で広く使用されている深層学習モデルの一種です。そのタスクパフォーマンスとスケーラビリティにより、GPT シリーズ (OpenAI 製)、Claude (Anthropic 製)、Gemini (Google 製) などのモデルの中核となり、業界全体で広く使用されています。
深層学習モデルは、モデル アーキテクチャ、トレーニング データ、トレーニング方法という 3 つの主要なコンポーネントで構成されます。このフレームワーク内では、トランスフォーマーは 1 種類のモデル アーキテクチャを表します。これは、ニューラル ネットワークの構造とその相互作用を定義します。トランスフォーマーを他の機械学習 (ML) モデルと区別する重要な革新は、「注意」の使用です。
アテンションは、入力を効率的に処理し、長いシーケンス (エッセイ全体など) にわたって情報を維持できるようにするトランスフォーマーのメカニズムです。
以下に例を示します。 「猫は川のほとりに座っていました。その後、近くの木の枝に移動しました。」ここでいう「銀行」とは、お金を預ける銀行ではないことがお分かりいただけると思います。それを理解するには、おそらく「川」という文脈の手がかりを使用するでしょう。注意も同様に機能します。他の単語を使用して、それぞれの単語の意味を定義します。この例の「それ」は何を指していますか?モデルは、答えが「猫」であることを理解するための手がかりとして「移動」と「木」という単語を調べます。
重要な未解決の質問は、モデルがどの単語を調べるべきかをどのように判断するかということです。それについてはもう少し後で説明します。しかし、トランス モデルを定義したので、なぜそれが頻繁に使用されるのかをさらに説明しましょう。
トランスフォーマーと CNN および RNN の比較
リカレント ニューラル ネットワーク (RNN) と畳み込みニューラル ネットワーク (CNN) は、他の 2 つの一般的な深層学習モデルです。 RNN と CNN には利点がありますが、トランスフォーマーは長い入力をより適切に処理できるため、より広く使用されています。
トランスフォーマーと RNN の比較
リカレント ニューラル ネットワークは逐次モデルです。適切な例えは、人間が本を読んでいることです。一字一句読んでいくうちに、その本の記憶と理解が深まっていきます。賢明な読者であれば、これまでに起こったことに基づいて次に何が起こるかを予測することさえできるかもしれません。 RNN も同様に機能します。単語ごとに読み取り、記憶を更新し (隠れ状態と呼ばれます)、予測を行うことができます (たとえば、文内の次の単語やテキストの感情など)。欠点は、非表示状態にはあまり多くの情報を保持できないことです。本全体を RNN に入力した場合、非表示状態には非常に多くのスペースしかないため、RNN はイントロの章に関する詳細をあまり覚えていません。より最近になって非表示状態に追加されたため、後の章が優先されます。
トランスフォーマーは同じメモリの問題に悩まされません。 (注意メカニズムの一部として) 入力内のすべての単語を他のすべての単語と比較するため、非表示状態を使用したり、前に起こったことを「記憶」したりする必要がありません。同じ本にたとえると、トランスフォーマーは人間が本の中の次の単語を読んでから、新しい単語を正しく理解するために本の中の前の単語をすべて確認するようなものです。本の最初の文に「彼はフランスで生まれた」というフレーズが含まれ、本の最後の文に「彼の母国語」というフレーズが含まれている場合、変換器は彼の母国語がフランス語であると推測できます。非表示状態ではその情報が保持されることが保証されていないため、RNN ではそれができない場合があります。さらに、RNN は各単語を一度に 1 つずつ読み取り、その隠れ状態を更新する必要があります。トランスフォーマーはその注意を並行して適用できます。
トランスフォーマー vs. CNN
畳み込みニューラル ネットワークは、シーケンス内の各アイテムの周囲のコンテキストを使用して意味を割り当てます。ページ上の単語について、CNN はその単語のすぐ周囲にある単語を調べて、単語の意味を理解します。本の最後のページと最初のページを接続することはできません。 CNN は主に画像で使用されます。これは、ピクセルが単語よりも近隣のピクセルと関連していることが多いためです。つまり、CNN は NLP にも使用できます。
トランスフォーマーは、アイテムのすぐ隣のものだけを調べるだけではないという点で CNN とは異なります。アテンション メカニズムを使用して入力内の各単語を他のすべての単語と比較し、コンテキストをより広範かつ包括的に理解できるようにします。
変圧器モデルはどのように機能しますか?
トランスフォーマーには、アテンション ブロック、フィードフォワード ニューラル ネットワーク、および埋め込みのレイヤーがあります。モデルはテキストベースの入力を受け取り、出力テキストを返します。これを行うには、次の手順に従います。
- トークン化:テキストをトークンに変換します (文を個々の単語に分解するのと似ています)。
- 埋め込み:トークンをベクトルに変換し、位置埋め込みを組み込むことで、モデルが入力内のトークンの位置を理解できるようにします。
- アテンション メカニズム:セルフ アテンション (入力トークンの場合) またはクロス アテンション (入力トークンと生成されたトークンの間) を使用してトークンを処理します。このメカニズムにより、モデルは出力を生成するときにさまざまなトークンの重要性を比較検討できます。
- フィードフォワード ニューラル ネットワーク:結果をフィードフォワード ニューラル ネットワークに渡します。これにより、非線形性を導入することでモデルが複雑なパターンをキャプチャできるようになります。
- 繰り返し:ステップ 3 ~ 4 を複数のレイヤーで複数回繰り返して、出力を調整します。
- 出力分布:考えられるすべてのトークンにわたる確率分布を生成します。
- トークンの選択:最も高い確率でトークンを選択します。
このプロセスは、変圧器モデルを通過する 1 つの順方向パスを構成します。モデルは、出力テキストが完了するまで、これを繰り返し実行します。各パス内では、アテンション メカニズムやフィードフォワード ステージと同様に、埋め込みプロセスを並行して実行できます。基本的に、トランスフォーマーは各トークンを一度に 1 つずつ実行する必要はありません。すべてのトークンに同時に注意を向けることができます。
ここで、先ほどの質問に戻りましょう: モデルはどのトークンに注意すべきかをどのようにして知るのでしょうか?答えは単純に、大量のトレーニング データを調べることによって得られます。最初は、モデルは間違ったトークンを処理するため、間違った出力が生成されます。トレーニング データに付属する正しい出力を使用して、次回正しい答えを出力するようにアテンション メカニズムを変更できます。数十億 (さらには数兆) を超えるサンプルから、アテンション メカニズムはほぼ常に適切なトークンを選択できます。
変圧器型式例
トランスフォーマーはどこにでもあります。トランスフォーマーは最初は翻訳用に設計されましたが、ほぼすべての言語、視覚、さらにはオーディオのタスクにもうまく対応できるようになりました。
大規模な言語モデル
トランスフォーマー アーキテクチャは、GPT、Claude、Gemini、Llama、および多くの小規模なオープンソース モデルなど、ほぼすべての大規模言語モデル (LLM) を強化します。 LLM は、質問応答、分類、自由形式の生成など、さまざまなテキスト (さらには画像や音声も) タスクを処理できます。
これは、数十億のテキスト例 (通常はインターネットから収集したもの) に基づいてトランスフォーマー モデルをトレーニングすることによって実現されます。次に、企業は分類例に基づいてモデルを微調整し、分類を正しく実行する方法をモデルに教えます。つまり、モデルは幅広い知識ベースを学習し、微調整を通じてスキルを「教えられ」ます。
ビジョントランスフォーマー
ビジョン トランスフォーマーは、画像で動作するように適合された標準的なトランスフォーマーです。主な違いは、トークン化プロセスがテキストではなく画像を使用する必要があることです。入力がトークンに変換されると、通常の変換計算が行われ、最後に出力トークンを使用して画像 (猫の画像など) が分類されます。多くの場合、ビジョン トランスフォーマーはテキスト LLM とマージされて、マルチモーダル LLM を形成します。これらのマルチモーダル モデルは、ユーザー インターフェイスのスケッチを受け入れ、その作成に必要なコードを取得するなど、画像を取り込んでそれを推論できます。
CNN は画像タスクでもよく使用されますが、トランスフォーマーを使用すると、モデルは近くのピクセルだけでなく画像内のすべてのピクセルを使用できます。たとえば、画像の左端に一時停止標識があり、右端に車が含まれている場合、モデルは車を停止する必要があると判断できます。画像内でこれら 2 つのデータ ポイントが互いに遠く離れているため、CNN はこれら 2 つのデータ ポイントを接続できない場合があります。
オーディオトランス
オーディオ トランスフォーマーは、ビジョン トランスフォーマーと同様、オーディオ データに合わせた独自のトークン化スキームを備えた標準トランスフォーマーです。これらのモデルは、テキストと生の音声の両方を入力として処理し、テキストまたは音声のいずれかを出力できます。この例としては、生の音声をトランスクリプトに変換する音声テキスト変換モデルである Whisper があります。これは、オーディオをチャンクにセグメント化し、これらのチャンクをスペクトログラムに変換し、スペクトログラムをエンベディングにエンコードすることによって実現されます。これらの埋め込みはトランスフォーマーによって処理され、最終的な転写トークンが生成されます。
音声変換アプリケーション以外にも、オーディオ トランスフォーマーには、音楽生成、自動キャプション、音声変換など、さまざまな使用例があります。さらに、企業は音声トランスフォーマーを LLM と統合して音声ベースの対話を可能にし、ユーザーが音声コマンドを通じて質問し、応答を受け取ることができるようにしています。
トランスモデルのメリット
トランスフォーマーは、そのスケーラビリティと幅広いタスクにわたる優れたパフォーマンスにより、機械学習の分野で広く普及しています。彼らの成功は、いくつかの重要な要因によるものです。
長い文脈
アテンション メカニズムは、入力シーケンス内のすべてのトークンを相互に比較できます。したがって、入力全体にわたる情報が記憶され、出力の生成に使用されます。対照的に、RNN は古い情報を忘れ、CNN は各トークンに近い情報しか使用できません。これが、LLM チャットボットに何百ものページをアップロードし、任意のページについて質問し、正確な応答を得ることができる理由です。 RNN と CNN には長いコンテキストが存在しないことが、タスクにおいてトランスフォーマーが RNN と CNN に勝る最大の理由です。
並列化可能性
トランスフォーマーのアテンション メカニズムは、入力シーケンス内のすべてのトークンにわたって並行して実行できます。これは、トークンを順番に処理する RNN とは対照的です。その結果、トランスフォーマーのトレーニングとデプロイをより迅速に行うことができ、ユーザーへの応答が迅速になります。この並列処理機能により、RNN と比較してトランスフォーマーの効率が大幅に向上します。
スケーラビリティ
研究者は、トランスフォーマーのサイズと、トランスフォーマーのトレーニングに使用されるデータ量を継続的に増やしてきました。彼らは、変圧器が学習できる量の限界をまだ見ていません。トランスフォーマー モデルが大きくなるほど、理解して生成できるテキストはより複雑で微妙なニュアンスになります (GPT-3 には 1,750 億のパラメーターがあるのに対し、GPT-4 には 1 兆を超えるパラメーターがあります)。驚くべきことに、10 億パラメータのモデルと比較して 100 億パラメータのモデルを作成するなど、変圧器モデルをスケールアップする場合には、大幅に多くの時間を必要とするわけではありません。この拡張性により、トランスはさまざまな高度なアプリケーションのための強力なツールになります。
トランスモデルのデメリット
変圧器モデルの欠点は、大量の計算リソースを必要とすることです。アテンションのメカニズムは二次的です。入力内のすべてのトークンが他のすべてのトークンと比較されます。 2 つのトークンでは 4 回の比較が行われ、3 つのトークンでは 9 回の比較が行われ、4 つのトークンでは 16 回の比較が行われ、以下同様になります。基本的に、計算コストはトークン数の 2 乗になります。この二次コストにはいくつかの意味があります。
特殊なハードウェア
LLM は、平均的なコンピュータでは簡単に実行できません。サイズが大きいため、多くの場合、モデル パラメーターをロードするために数十ギガバイトの RAM が必要になります。また、従来の CPU は並列計算用に最適化されていません。代わりに GPU が必要です。 CPU 上で実行される LLM は、単一のトークンを生成するのに数分かかる場合があります。残念ながら、GPU は必ずしも最も安価な、または最もアクセスしやすいハードウェアというわけではありません。
入力長が制限されている
トランスフォーマーが処理できるテキストの量には制限があります (コンテキスト長と呼ばれます)。 GPT-3 は当初、2,048 トークンしか処理できませんでした。アテンション実装の進歩により、最大 100 万トークンのコンテキスト長を持つモデルが生み出されました。それでも、コンテキスト長の追加トークンをそれぞれ見つけるには、かなりの調査が必要です。対照的に、RNN には最大コンテキスト長がありません。入力が増加するにつれて精度は大幅に低下しますが、現時点では 200 万トークン長の入力を 1 つにフィードすることができます。
エネルギーコスト
変圧器の計算に電力を供給するデータセンターには、動作させるためのエネルギーと、冷却するための水が必要です。ある推定によると、GPT-3 のトレーニングには 1,300 メガワット時の電力が必要で、これは米国の 130 世帯に 1 年間電力を供給するのに相当します。モデルが大きくなるにつれて、必要なエネルギー量も増加します。 2027 年までに、AI 産業はオランダと同じくらいの電力を毎年必要とする可能性があります。エネルギー変圧器の必要性を減らすために多大な努力が払われていますが、この問題はまだ解決されていません。