🚀 T5-Efficient-TINY (Deep-Narrow version)
T5-Efficient-TINYは、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 - は、モデルタイプがTinyで、バリエーションはありません。このモデルは1558万個のパラメータを持ち、したがって、全精度(fp32)では約62.32 MB、半精度(fp16またはbf16)では31.16 MBのメモリを必要とします。
オリジナルの T5モデルアーキテクチャの概要は次のとおりです:
プロパティ |
詳細 |
モデルタイプ |
Tiny |
トランスフォーマーブロック数 (nl) |
4 |
中間ベクトルの次元 (ff) |
1024 |
埋め込みベクトルの次元 (dm) |
256 |
キー/バリュー投影行列の次元 (kv) |
32 |
アテンションヘッドの数 (nh) |
4 |
パラメータ数 (#Params) |
16M |
以下は使用される略語の説明です:
略語 |
定義 |
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:
- 要約
- テキスト分類 - 注意: エンコーダ-デコーダモデルで動作させるために、ここでの学習例を少し調整する必要があります。
📄 ライセンス
このモデルは、Apache 2.0ライセンスの下で公開されています。