Transformer 引數量 使用指南
Transformer 引數量估算器,輸入層數、維度等估算主體與嵌入引數量,用於模型規模評估與視訊記憶體預估。
計算公式與原理
主體引數 ≈ 12·L·d²;嵌入引數 ≈ vocab × d
每層含 Q/K/V/O 四個 d×d 矩陣(4d²)與兩層 FFN(通常 4d 寬,共 8d²),合計 12d²,乘層數 L 即得主體規模;詞表嵌入另計 vocab×d(若解綁則輸出層再加一份)。實際模型還有 LayerNorm 等小量引數,估算值略偏小。
使用步驟
- 填寫「層數」。
- 填寫「隱藏維度」。
- 填寫「詞表大小」。
- 結果區會即時更新;可一鍵複製結果用於記錄或彙報。
典型使用場景
- 標準 Transformer 每層引數量≈12·L·d²(L 層數、d 模型維度),含自注意力與 FFN。
- token 嵌入≈V·d(V 詞表大小),位置編碼若可學習再加 d 或 V·d。
- 總引數量用於視訊記憶體與算力預算,是模型規模評估的核心指標。
算例參考
- 引數量估算:L=12, d=768, V=50000:每層≈12×768²≈7.08M,12 層≈85M;嵌入 50000×768≈38.4M;合計≈123M(典型 BERT-base 量級)。
注意事項
結果為按上述公式得到的理論估算值,實際表現受資料分佈、實現細節與執行環境影響,落地決策請以實測為準;本工具純前端執行,輸入不上傳伺服器。
- 為什麼 FFN 佔引數最多?
- 標準 FFN 內部維度常 4d,其兩層權重約 8d²,而注意力 Q/K/V/O 共 4d²,故 FFN 佔每層約 2/3 引數;這也是大模型壓縮的重點。
- 詞表越大引數越多嗎?
- 是。嵌入層≈V·d 隨詞表線性增長;為控引數量常用子詞分詞限制 V,或用因子分解嵌入降低維度開銷。