T5(Text-to-Text Transfer Transformer)は、Google AIによって開発され、2019年に発表された一連の大規模言語モデルである。これらのモデルはTransformer (architecture)アーキテクチャ、具体的にはエンコーダが入力テキストを処理し、デコーダが出力テキストを生成するエンコーダ・デコーダ設計に基づいている。T5の主要な革新は、その統一的テキスト間フレームワークであり、翻訳から要約、質問応答に至るまで、あらゆる自然言語処理タスクをテキスト間問題として扱い、入力と出力が常にテキスト文字列であることを特徴とする。
元のT5論文「Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer」は、単一のモデルアーキテクチャが、大規模コーパスでの事前学習と特定タスクへの微調整を通じて、複数のNLPベンチマークで最先端の結果を達成できることを実証した。このアプローチは、その後のLarge language model研究の発展に影響を与え、Generative AIのより広い分野に貢献した。
トレーニング
元のT5モデルは、インターネットから収集されたテキストとコードを含むデータセットであるColossal Clean Crawled Corpus(C4)で事前学習された。この事前学習プロセスにより、モデルは一般的な言語理解と生成能力を学習できた。事前学習後、T5モデルは特定の下流タスクに微調整され、様々なアプリケーションで良好に機能するように知識を適応させることができた。
事前学習では、モデルが破損したテキストを再構築することを学習するノイズ除去目的を使用した。例えば、入力「Thank you <X> me to your party <Y> week」が与えられた場合、モデルは「<X> for inviting <Y> last <Z>」を出力するように訓練された。ここで、<X>と<Y>は埋めるべき空白(元の報告では「センチネル」と呼ばれる)を示し、<Z>は出力の終わりを示す。モデルはまた、翻訳(例:「translate English to German: That is good.」→「Das ist gut.」)や文法的受容性判断(例:「The course is jumping well.」→「not acceptable」)などのタスクでも事前学習された。
アーキテクチャ
T5シリーズは、様々なサイズの複数のモデルを含み、すべてエンコーダ・デコーダTransformerアーキテクチャを使用している。元の論文では、パラメータ数によって区別される5つのモデルバリアントが報告された:T5-small、T5-base、T5-large、T5-3B、T5-11B。エンコーダとデコーダは常に同じ層数を持ち、例えばT5-smallはエンコーダとデコーダの両方に6層を持つ。
主要なアーキテクチャパラメータには、層数(n_layer)、アテンションヘッド数(n_head)、埋め込みベクトルの次元(d_model)、フィードフォワードネットワークの次元(d_ff)、キー/バリューベクトルの次元(d_kv)が含まれる。典型的なTransformerとは異なり、3Bおよび11Bモデルはd_model = d_kv × n_headという関係を満たさない。
元のTransformerと比較して、T5はいくつかの軽微な変更を導入した:加算バイアスなしの層正規化、残差パス外への層正規化の配置、および相対位置埋め込みの使用。すべての実験では、語彙サイズ32,000のWordPieceトークナイザを使用し、入力と出力で共有され、C4からの英語、ドイツ語、フランス語、ルーマニア語の混合データ(比率10:1:1:1)で訓練された。
バリアント
その後、T5アーキテクチャを使用したいくつかのモデルが登場し、命名規則は標準化されていない。注目すべきバリアントには以下が含まれる:
- T5 1.1(small、base、large、XL、XXL):ほぼ同等のパラメータを持つ改良版で、ReLUの代わりにGEGLU活性化を使用し、3B/11BをXL/XXLに改名し、形状を変更した。
- LM-adapted T5(2021年):T5チェックポイントから開始し、C4からの追加100Bトークンでさらに訓練した。
- Switch Transformer(2021年):フィードフォワード層を混合専門家層に置き換えた混合専門家バリアント。
- T0(2021年):LM-adapted T5チェックポイントから開始し、ゼロショットタスク指示追従のために訓練した。
- ByT5(2021年):トークナイザなしでUTF-8バイトで動作するバイトレベル版で、多言語C4で訓練した。
- Flan-T5-XL(2022年):T5 XLから開始し、FLANデータセットで指示調整した。
- T5X(2022年):元のTensorFlowコードベースのJAXベースの再実装。
- UL2 20B(2022年):20Bパラメータにスケールし、「混合デノイザ」目的を使用し、C4で訓練した。
- Flan-UL2 20B(2022年):UL2 20BをFLANで指示微調整した。
- Pile-T5(2024年):同じアーキテクチャだが、Llamaトークナイザを使用し、The Pileで訓練した。
アプリケーション
T5モデルは、チャットボット、機械翻訳システム、テキスト要約ツール、コード生成、ロボティクスなど、様々なアプリケーションで使用されている。エンコーダ・デコーダ設計により、指示追従が可能である:エンコーダが指示を処理し、デコーダが応答を自己回帰的に生成する。
T5エンコーダはまた、BERTと同様にテキストエンコーダとして機能し、下流アプリケーション用の実数ベクトルシーケンスを生成できる。例えば、Google ImagenはT5-XXLをテキストエンコーダとして使用し、拡散モデルを条件付けしており、AuraFlow拡散モデルはPile-T5-XLを使用している。これらのアプリケーションは、T5の従来のNLPタスクを超えた多様性を示し、Machine learningおよびDeep learningの進歩に貢献している。