🚀 T5-Efficient-SMALL-KV256 (深度窄化版本)
T5-Efficient-SMALL-KV256は、GoogleのオリジナルT5のバリエーションで、T5モデルアーキテクチャに従っています。これは事前学習のみのチェックポイントで、論文**Efficient Scaling: Insights from Pre-training and Fine-tuning Transformers**とともに公開されました。この論文はYi Tay、Mostafa Dehghani、Jinfeng Rao、William Fedus、Samira Abnar、Hyung Won Chung、Sharan Narang、Dani Yogatama、Ashish Vaswani、Donald Metzlerによって執筆されています。
簡単に言うと、この論文では、パラメータ数が近い他のモデルアーキテクチャと比較して、深度窄化のモデルアーキテクチャが下流タスクの性能において優れていることが指摘されています。
論文の引用内容は以下の通りです。
我々は通常、他の次元を統一的に拡張する前に、まずモデルの深度を増やすことを推奨する深度窄化戦略を提案します。これは主に、論文の前の章で示されているように、深度がパレートフロンティアに大きな影響を与えるためです。具体的には、高くて小さい(深度が大きく、幅が狭い)モデルは通常、基本モデルよりも効率的です。同様に、高い基本モデルは通常、大きなモデルよりも効率的です。我々は通常、モデルのサイズに関係なく、層数が増えるにつれて絶対性能が向上する場合があっても、層数が増えるにつれてパレート効率の相対的な増加は徐々に減少し、32から36層で収束することを発見しました。最後に、ここでの効率の概念は、パラメータ数、浮動小数点演算回数、またはスループット(速度)といういずれかの計算次元を含みます。我々は3つの重要な効率指標(パラメータ数、浮動小数点演算回数、および速度)を報告し、どの計算次元を考慮するかの選択を実務家に委ねます。
より正確に言うと、モデルの深度は、順次積み重ねられたTransformerブロックの数として定義されます。したがって、単語埋め込みシーケンスは、各Transformerブロックによって順番に処理されます。
✨ 主な機能
モデルアーキテクチャの詳細
このモデルチェックポイント - t5-efficient-small-kv256 - は小型のモデルタイプに属し、以下のバリエーションがあります。
このモデルには1.1714億個のパラメータがあり、全精度(fp32)では約468.58 MBのメモリが必要で、半精度(fp16 または bf16)では234.29 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 |
トランスフォーマーブロックの数(深度) |
dm |
埋め込みベクトルの次元(トランスフォーマーブロックの出力ベクトル) |
kv |
キー/値投影行列の次元 |
nh |
アテンションヘッドの数 |
ff |
トランスフォーマーブロック内の中間ベクトルの次元(フィードフォワード投影行列のサイズ) |
el |
エンコーダ内のトランスフォーマーブロックの数(エンコーダの深度) |
dl |
デコーダ内のトランスフォーマーブロックの数(デコーダの深度) |
sh |
アテンションヘッドが共有されていることを示す |
skv |
キー値投影行列が結合されていることを示す |
モデルチェックポイントに特定の el または dl がない場合、エンコーダ層とデコーダ層の数はどちらも nl に対応します。
事前学習
このチェックポイントは、大規模でクリーンアップされた汎用クローラーデータセット(C4)で524288ステップの事前学習が行われ、スパンベースのマスク言語モデリング(MLM)目標を使用しています。
ファインチューニング
⚠️ 重要な注意事項
このモデルは事前学習のチェックポイントであり、実際に使用するにはファインチューニングが必要です。このチェックポイントは英語で事前学習されているため、英語の自然言語処理タスクにのみ適用されます。
このモデルをファインチューニングするには、以下の例を参考にできます。
PyTorch:
TensorFlow:
- テキスト要約
- テキスト分類 - 注意:ここの訓練例をエンコーダ - デコーダモデルに適合させるためにいくつかの微調整が必要です。
JAX/Flax:
- テキスト要約
- テキスト分類 - 注意:ここの訓練例をエンコーダ - デコーダモデルに適合させるためにいくつかの微調整が必要です。
📚 ドキュメント
読者には、このモデルチェックポイントをより深く理解するために、オリジナルの論文**Efficient Scaling: Insights from Pre-training and Fine-tuning Transformers**をよく読むことを強くおすすめします。
この問題で説明されているように、sh または skv モデルアーキテクチャのバリエーションを含むチェックポイントは、実際の用途が限られており、詳細な説明が不足しているため、まだTransformersライブラリに移植されていません。これらのチェックポイントはここに保存されており、将来的に移植される可能性があります。
📄 ライセンス
このプロジェクトはApache 2.0ライセンスの下で提供されています。