🚀 T5-Efficient-TINY-NL32 (Deep-Narrow version)
T5-Efficient-TINY-NL32は、GoogleのオリジナルT5に基づき、T5モデルアーキテクチャに従ったモデルです。これは事前学習のみのチェックポイントであり、Yi Tay, Mostafa Dehghani, Jinfeng Rao, William Fedus, Samira Abnar, Hyung Won Chung, Sharan Narang, Dani Yogatama, Ashish Vaswani, Donald Metzlerによる論文**Scale Efficiently: Insights from Pre-training and Fine-tuning Transformers**とともに公開されました。
一言で言えば、この論文は、同じパラメータ数の他のモデルアーキテクチャと比較して、Deep-Narrowのモデルアーキテクチャが下流タスクのパフォーマンスに有利であることを示しています。
論文から引用すると、
一般的に、他の次元での均一なスケーリングを考える前に、モデルの深さを優先的に増やすDeepNarrow戦略を推奨します。これは主に、論文の前半部分で示されているように、深さがパレートフロンティアにどれだけ影響を与えるかによるものです。具体的には、高くて小さい(深くて狭い)モデルは、基本モデルと比較して一般的により効率的です。同様に、高い基本モデルも、大きなモデルと比較して一般的により効率的である可能性があります。一般的に、サイズに関係なく、層を積み重ね続けると絶対的なパフォーマンスが向上する可能性がありますが、層を増やすにつれてパレート効率の相対的なゲインは減少し、32から36層で収束します。最後に、ここでの効率の概念は、パラメータ、FLOP、またはスループット(速度)などの任意の計算次元に関連しています。私たちは3つの主要な効率指標(パラメータ数、FLOP、および速度)を報告し、どの計算次元を考慮するかの決定は実践者に委ねます。
より正確に言うと、モデルの深さは、順次積み重ねられたトランスフォーマーブロックの数として定義されます。したがって、単語埋め込みのシーケンスは、各トランスフォーマーブロックによって順次処理されます。
📚 ドキュメント
モデルアーキテクチャの詳細
このモデルのチェックポイント - t5-efficient-tiny-nl32 - は、以下の変形を持つTiny型のモデルです。
このモデルは6706万個のパラメータを持ち、したがって、全精度(fp32)では約268.25 MB、半精度(fp16 または bf16)では134.12 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に対応します。
事前学習
このチェックポイントは、Colossal, Cleaned version of Common Crawl (C4)で、span-based masked language modeling (MLM) の目的関数を使用して524288ステップの事前学習が行われました。
ファインチューニング
⚠️ 重要提示
このモデルは事前学習済みのチェックポイントであり、実用的な使用にはファインチューニングが必要です。このチェックポイントは英語で事前学習されているため、英語の自然言語処理タスクにのみ有用です。
以下の例を参考にして、モデルをファインチューニングすることができます。
PyTorch:
- 要約
- 質問応答
- テキスト分類 - 注意: エンコーダ-デコーダモデルで動作させるために、ここでの学習例を少し調整する必要があります。
Tensorflow:
- 要約
- テキスト分類 - 注意: エンコーダ-デコーダモデルで動作させるために、ここでの学習例を少し調整する必要があります。
JAX/Flax:
- 要約
- テキスト分類 - 注意: エンコーダ-デコーダモデルで動作させるために、ここでの学習例を少し調整する必要があります。
追加情報
このモデルのチェックポイントについてより詳細な理解を得るために、読者は元の論文**Scale Efficiently: Insights from Pre-training and Fine-tuning Transformers**を注意深く読むことを強くお勧めします。
このissueで説明されているように、sh または skv のモデルアーキテクチャの変形を含むチェックポイントは、実用的な用途が限られており、詳細な説明が不足しているため、Transformersに移植されていません。これらのチェックポイントは、将来的に移植される可能性があるため、ここに保管されています。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で公開されています。