🚀 T5-Efficient-BASE(深度窄化バージョン)
T5-Efficient-BASEは、GoogleのオリジナルT5のバリエーションで、T5モデルアーキテクチャに従っています。これは事前学習のみのチェックポイントで、論文**Efficient Scaling: Insights from Pre-trained and Fine-tuned Transformers**(効率的な拡張:事前学習と微調整されたTransformerからの洞察)とともに公開されました。論文の著者はYi Tay、Mostafa Dehghani、Jinfeng Rao、William Fedus、Samira Abnar、Hyung Won Chung、Sharan Narang、Dani Yogatama、Ashish Vaswani、Donald Metzlerです。
簡単に言うと、この論文では、パラメータ数が近い他のモデルアーキテクチャと比較して、深度を深くし幅を狭くするモデルアーキテクチャが下流タスクの性能において優れていると指摘されています。
論文からの引用:
我々は通常、他の次元を均一に拡張する前に、まずモデルの深度を増やす深度窄化戦略を推奨します。これは主に、論文の前半で示された深度がパレートフロンティアに与える影響の程度によるものです。具体的には、深くて小さい(深度が大きく幅が狭い)モデルは通常、ベースモデルよりも効率的です。同様に、高いベースモデルは通常、大型モデルよりも効率的である可能性があります。我々は一般的に、モデルのサイズに関係なく、層を重ねるにつれて絶対性能は向上するかもしれませんが、層数が増えるにつれてパレート効率の相対的な増加は徐々に減少し、32から36層で収束することを発見しました。最後に、ここでの効率の概念は、パラメータ数、浮動小数点演算回数(FLOPs)、またはスループット(速度)といういずれかの計算次元に関連しています。我々は3つの重要な効率指標(パラメータ数、FLOPS、速度)を報告し、どの計算次元を考慮するかの選択を実務者に委ねます。
より正確には、モデルの深度は、順番に積み重ねられたTransformerブロックの数として定義されます。したがって、単語埋め込みシーケンスは、各Transformerブロックによって順番に処理されます。
✨ 主な機能
このモデルは以下の特徴を持っています:
- GoogleのオリジナルT5モデルアーキテクチャを改良しています。
- 深度窄化戦略を採用しており、下流タスクの性能が優れています。
- 事前学習のみで、実際のタスクに適用するには微調整が必要です。
📚 ドキュメント
詳細なモデルアーキテクチャ
このモデルチェックポイント - t5-efficient-base - はベースモデルタイプで、バリエーションはありません。このモデルには2.2293億個のパラメータがあり、全精度(fp32)では約891.73 MB、半精度(fp16 または bf16)では445.86 MBのメモリが必要です。
オリジナルのT5モデルアーキテクチャの概要は以下の通りです:
モデル |
nl (el/dl) |
ff |
dm |
kv |
nh |
パラメータ数 |
Tiny |
4/4 |
1024 |
256 |
32 |
4 |
16M |
Mini |
4/4 |
1536 |
384 |
32 |
8 |
31M |
Small |
6/6 |
2048 |
512 |
32 |
8 |
60M |
Base |
12/12 |
3072 |
768 |
64 |
12 |
220M |
Large |
24/24 |
4096 |
1024 |
64 |
16 |
738M |
Xl |
24/24 |
16384 |
1024 |
128 |
32 |
3B |
XXl |
24/24 |
65536 |
1024 |
128 |
128 |
11B |
使用される略語の定義は以下の通りです:
略語 |
定義 |
nl |
Transformerブロックの数(深度) |
dm |
埋め込みベクトルの次元(Transformerブロックの出力ベクトル) |
kv |
キー/値投影行列の次元 |
nh |
アテンションヘッドの数 |
ff |
Transformerブロック内の中間ベクトルの次元(フィードフォワード投影行列のサイズ) |
el |
エンコーダー内のTransformerブロックの数(エンコーダー深度) |
dl |
デコーダー内のTransformerブロックの数(デコーダー深度) |
sh |
アテンションヘッドの共有を表す |
skv |
キー値投影行列の束縛を表す |
モデルチェックポイントに特定の el または dl がない場合、エンコーダー層とデコーダー層の数はどちらも nl に対応します。
事前学習
このチェックポイントは、大規模クリーニング版汎用クローラーデータセット(C4)で524288ステップの事前学習を行い、スパンベースのマスク言語モデリング(MLM)目標を使用しました。
微調整
⚠️ 重要な注意
このモデルは事前学習のチェックポイントであり、実際のタスクに使用するには微調整が必要です。このチェックポイントは英語で事前学習されているため、英語の自然言語処理タスクにのみ適用可能です。
モデルを微調整するには、以下の例を参考にできます:
PyTorch:
Tensorflow:
- テキスト要約
- テキスト分類 - 注意: ここの学習例をエンコーダー - デコーダーモデルに適用するには、いくつかの微調整が必要です。
JAX/Flax:
- テキスト要約
- テキスト分類 - 注意: ここの学習例をエンコーダー - デコーダーモデルに適用するには、いくつかの微調整が必要です。
詳細情報
読者は、このモデルチェックポイントをより深く理解するために、元の論文**Efficient Scaling: Insights from Pre-trained and Fine-tuned Transformers**をよく読むことを強くお勧めします。この問題で説明されているように、sh または skv モデルアーキテクチャのバリエーションを含むチェックポイントは、実際の用途が限られており、詳細な説明が不足しているため、まだTransformersに移植されていません。これらのチェックポイントはここに保存されており、将来的に移植される可能性があります。
🔧 技術詳細
モデル深度の定義
モデルの深度は、順番に積み重ねられたTransformerブロックの数として定義されます。したがって、単語埋め込みシーケンスは、各Transformerブロックによって順番に処理されます。
深度窄化戦略の利点
深度窄化戦略を採用することで、下流タスクの性能において、パラメータ数が近い他のモデルアーキテクチャよりも優れています。層数が増えるにつれて、パレート効率の相対的な増加は徐々に減少し、32から36層で収束します。
📄 ライセンス
このプロジェクトはApache-2.0ライセンスを使用しています。