動態 L 推理
核心概念
在權重共享的循環 transformer 中,L 不是固定在模型裡的。相同權重在 L=2、L=8、L=32 或 L=64 都能運作。這意味著:
- 品質是一個計算旋鈕,而非參數記憶體旋鈕
- 不同請求可以在不同深度執行
- 同一請求可以在生成途中改變深度
沒有其他生產推理框架能做到這一點。
實測效能頻譜
H100 / 2B INT4,32-token prompt,32 decode tokens:
| L | 解碼 (ms) | 吞吐量 | 使用場景 |
|---|---|---|---|
| 2 | 111.8 | 301 tok/s | 自動補全、建議 |
| 4 | 146.8 | 226 tok/s | 聊天、快速回應 |
| 8 | 161.3 | 198 tok/s | 生產預設 |
| 16 | 305.5 | 108 tok/s | 高品質生成 |
| 32 | 506.5 | 64 tok/s | 最高品質、研究 |
全部來自同一個 204 MB 模型檔案。無需重新載入,無需獨立模型。
建構在動態 L 上的功能
L 排程(每 token 深度爬升)
前 N 個 token 以淺深度執行,其餘以完整深度。Warmup token 快 ~3.3×。
L-Aware 批處理(每請求不同深度)
results = model.generate_batch(
[free_prompt, pro_prompt, enterprise_prompt],
per_lane_loops=[4, 16, 32]
)
Self-Speculative Decoding
L=2 做 draft,L=8 做 verify。相同權重,零額外參數。2.77× 吞吐。
SLO 感知 L 降級
預測等待超過 SLO 時,降低 L 而非回傳 HTTP 503。品質優雅降級。
流量自適應 L
離峰 L=32(最高品質)。尖峰 L=4(快速)。
動態 L 評估
python tools/dynamic_l_eval.py --model model.tinyloop \
--L-values 2,4,8,16,32 --mean-L 8
測量:
- 每 L 一致性:各 L 與最大 L 參考的一致率
- Poisson-L 取樣:每次生成隨機深度
- Logit 穩定性:argmax 在哪個迭代鎖定
實測結果:L=4 與 L=16 參考 100% 一致。Logit lens 平均在迭代 5 穩定。
為何僅限 Looped 架構
在標準 transformer 中,深度在架構時固定。變化品質需要不同大小的獨立模型。TinyLoop 讓深度成為 runtime 參數 — 權重共享最強大的單一結果。