トランスフォーマーを使用したテキストの生成

ここまで、Transformers アーキテクチャ内のいくつかの主要コンポーネントの概要を説明しました。しかし、全体的な予測プロセスが最初から最後までどのように機能するのかをまだ見ていません。簡単な例で理解しましょう。この例では、変換タスクまたはシーケンスからシーケンスへのタスクを検討します。これは、トランスフォーマー アーキテクチャ設計者の当初の目標でした。
ここに画像の説明を挿入

トランスフォーマー モデルを使用して、フランス語のフレーズ [J'aime l'apprentissage automatique] を英語に翻訳します。

まず、ネットワークをトレーニングしたのと同じトークナイザーを使用して入力単語をトークン化します。
ここに画像の説明を挿入

これらのトークンはネットワーク エンコーダ側の入力に追加されます。
ここに画像の説明を挿入

埋め込み層を通過し、マルチヘッド アテンション層に入力されます。
ここに画像の説明を挿入

マルチヘッド アテンション レイヤーの出力は、フィードフォワード ネットワークを通じてエンコーダーの出力に渡されます。
ここに画像の説明を挿入

この時点で、エンコーダから出力されるデータは、入力シーケンスの構造と意味を深く表現したものになります。この表現は、デコーダのセルフアテンション メカニズムに影響を与えるために、デコーダの中央に挿入されます。
ここに画像の説明を挿入

次に、シーケンス開始トークンがデコーダーの入力に追加されます。
ここに画像の説明を挿入

これにより、デコーダは次のトークンを予測するようになります。これは、エンコーダから提供されるコンテキストの理解に基づいて行われます。
ここに画像の説明を挿入

デコーダのセルフアテンション層の出力は、デコーダのフィードフォワード ネットワークと最終のソフトマックス出力層を通過します。
ここに画像の説明を挿入

この時点で、最初のトークンが完成しました。
ここに画像の説明を挿入

このループを継続し、出力トークンを入力に戻して次のトークンの生成をトリガーします。
ここに画像の説明を挿入

モデルがシーケンス終了トークンを予測するまで。
ここに画像の説明を挿入

この時点で、トークンの最終シーケンスを単語にバックトークン化することができ、出力が得られます。この場合、私は機械学習が大好きです。機械学習が大好きです。
ここに画像の説明を挿入

ソフトマックス層の出力を使用して次のトークンを予測するには、さまざまな方法があります。これらは、生成するテキストの創造性に影響を与える可能性があります。これらについては、今週後半に詳しく説明します。

これまで見てきたことをまとめてみましょう。完全な Transformers アーキテクチャは、エンコーダ コンポーネントとデコーダ コンポーネントで構成されます。エンコーダーは、入力シーケンスをエンコードして、入力の構造と意味を深く表現します。デコーダは入力トークン トリガーから動作し、エンコーダのコンテキスト理解を使用して新しいトークンを生成します。特定の停止条件に達するまでこれを続けます。
ここに画像の説明を挿入

ここで説明する変換例では Transformers のエンコーダ部分とデコーダ部分を使用していますが、アーキテクチャのバリエーションに合わせてこれらのコンポーネントを分離することもできます。

エンコーダのみのモデルはシーケンス間モデルとしても機能しますが、さらに変更を加えなければ、入力シーケンスと出力シーケンスは同じ長さになります。最近ではその使用はあまり一般的ではありませんが、アーキテクチャに追加のレイヤーを追加することで、感情分析などの分類タスクを実行するエンコーダー専用モデルをトレーニングできます。BERT はエンコーダー専用モデルの一例です。
ここに画像の説明を挿入

ご覧のとおり、エンコーダー/デコーダー モデルは、入力シーケンスと出力シーケンスの長さが異なる可能性がある、変換などのシーケンス間のタスクで良好にパフォーマンスを発揮します。このタイプのモデルを拡張およびトレーニングして、一般的なテキスト生成タスクを実行することもできます。エンコーダ/デコーダ モデルの例には、BART (BERT ではなく) や T5 などがあります。T5 は、このコースのラボで使用するモデルです。
ここに画像の説明を挿入

最後に、デコーダのみのモデルが現在最も一般的に使用されています。繰り返しますが、拡張するにつれて、その能力も向上します。これらのモデルは、ほとんどのタスクに一般化できるようになりました。人気のあるデコーダ専用モデルには、GPT モデル ファミリ、BLOOM、Jurassic、LLaMA などが含まれます。さまざまな種類のトランスフォーマーとそのトレーニング方法については、今週後半でさらに詳しく学びます。それはかなり多いです。
ここに画像の説明を挿入

Transformers モデルのこの概要の主な目的は、世界で使用されているさまざまなモデル間の違いを理解し、モデルのドキュメントを読めるようになるための十分な背景を提供することです。

この説明には何度でも戻ってくることができるので、ここに表示されているすべての詳細を覚えておくことを心配する必要はないことを強調したいと思います。

自然言語を通じてトランスフォーマー モデルと対話し、コードではなく書き言葉を使用してプロンプトを作成することになることに注意してください。

これを行うために、基礎となるアーキテクチャの詳細をすべて知っている必要はありません。これはヒント エンジニアリングとして知られており、このコースの次の部分で説明します。次のビデオに進んでさらに詳しく見てみましょう。

参考

https://www.coursera.org/learn/generative-ai-with-llms/lecture/R0xbD/generated-text-with-transformers

おすすめ

転載: blog.csdn.net/zgpeace/article/details/132391997