🚀 T5-Efficient-SMALL-DM768(深度窄化版本)
T5-Efficient-SMALL-DM768 是 谷歌原始 T5 的一個變體,遵循 T5 模型架構。它是一個僅預訓練的檢查點,隨論文 高效擴展:來自預訓練和微調 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)或吞吐量(速度)。我們報告了所有三個關鍵的效率指標(參數數量、FLOPs 和速度),並將選擇考慮哪個計算維度的決定權留給實踐者。
更準確地說,模型深度定義為順序堆疊的 Transformer 塊的數量。因此,一系列詞嵌入會依次由每個 Transformer 塊進行處理。
🚀 快速開始
本模型為預訓練檢查點,若要實際使用,需進行微調。該檢查點以英文進行預訓練,因此僅適用於英文自然語言處理任務。你可參考以下示例進行模型微調:
PyTorch
Tensorflow
- 文本摘要
- 文本分類 - 注意:你需要對訓練示例進行輕微調整,使其適用於編碼器 - 解碼器模型。
JAX/Flax
- 文本摘要
- 文本分類 - 注意:你需要對訓練示例進行輕微調整,使其適用於編碼器 - 解碼器模型。
✨ 主要特性
論文表明,與參數數量相近的其他模型架構相比,深度窄化的模型架構在下游性能方面更具優勢。
📚 詳細文檔
詳細模型架構
此模型檢查點 - t5-efficient-small-dm768 - 屬於小型模型類型,具有以下變體:
它有 9077 萬個參數,因此在全精度(fp32)下大約需要 363.1 MB 的內存,在半精度(fp16 或 bf16)下需要 181.55 MB 的內存。
原始 T5 模型架構的摘要如下:
模型 |
nl (el/dl) |
ff |
dm |
kv |
nh |
參數數量 |
微型 |
4/4 |
1024 |
256 |
32 |
4 |
16M |
小型 |
4/4 |
1536 |
384 |
32 |
8 |
31M |
小 |
6/6 |
2048 |
512 |
32 |
8 |
60M |
基礎 |
12/12 |
3072 |
768 |
64 |
12 |
220M |
大型 |
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)目標。
微調
注意:此模型是一個預訓練檢查點,實際使用時需要進行微調。該檢查點以英文進行預訓練,因此僅適用於英文自然語言處理任務。你可以參考以下示例來微調模型:
下游性能
待補充可用表格。
計算複雜度
待補充可用表格。
更多信息
我們強烈建議讀者仔細閱讀原始論文 高效擴展:來自預訓練和微調 Transformer 的見解,以更深入地瞭解此模型檢查點。正如以下 問題 中所解釋的,包含 sh 或 skv 模型架構變體的檢查點尚未移植到 Transformers 中,因為它們可能實際用途有限且缺乏更詳細的描述。這些檢查點保留在 此處,可能會在未來進行移植。
📄 許可證
本項目採用 Apache-2.0 許可證。