🚀 T5-Efficient-SMALL-NL22 (Deep-Narrow version)
T5-Efficient-SMALL-NL22は、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-small-nl22 - はSmallタイプのモデルで、以下のようなバリエーションがあります。
このモデルは1億7804万個のパラメータを持ち、したがって、全精度(fp32)では約712.16 MB、半精度(fp16またはbf16)では356.08 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ベースのマスク付き言語モデリング(MLM)の目的で524288ステップの事前学習が行われました。
📚 微調整
⚠️ 重要提示
このモデルは事前学習済みのチェックポイントであり、実用的な使用には微調整が必要です。このチェックポイントは英語で事前学習されているため、英語の自然言語処理タスクにのみ有用です。
モデルを微調整する方法の例は以下の通りです。
PyTorch:
- 要約
- 質問応答
- テキスト分類 - 注意: エンコーダ-デコーダモデルで動作させるために、ここでの学習例を少し調整する必要があります。
Tensorflow:
- 要約
- テキスト分類 - 注意: エンコーダ-デコーダモデルで動作させるために、ここでの学習例を少し調整する必要があります。
JAX/Flax:
- 要約
- テキスト分類 - 注意: エンコーダ-デコーダモデルで動作させるために、ここでの学習例を少し調整する必要があります。
🔧 下流のパフォーマンス
TODO: 利用可能な場合はテーブルを追加します。
🔧 計算量
TODO: 利用可能な場合はテーブルを追加します。
📚 詳細情報
このモデルのチェックポイントについてより詳細な理解を得るために、読者は元の論文**Scale Efficiently: Insights from Pre-training and Fine-tuning Transformers**を注意深く読むことを強くお勧めします。このissueで説明されているように、shまたはskvモデルアーキテクチャのバリエーションを含むチェックポイントは、実用的な用途が限られており、詳細な説明が不足しているため、Transformersに移植されていません。これらのチェックポイントは、将来的に移植される可能性があるため、ここに保管されています。
📄 ライセンス
このモデルはApache-2.0ライセンスの下で提供されています。