TinyLoop 框架
TinyLoop 是一套針對「權重共享 Looped Transformer」而打造的 C++/CUDA 推理框架。
它專為下列架構家族而設計:
- 將 tokens 做 embedding
- 執行少數幾個 pre-block
- 將同一個共享的 loop block 重用
L次 - 做 normalize,再投影到 output head
這個「專注於特定架構」就是 TinyLoop 的整個出發點。TinyLoop 並不 想變成通用的 Transformer 引擎,而是要為一個主流推理堆疊尚未以一等公民對待的模型家族,提供一個認真的執行時。
這個框架適合誰
TinyLoop 適合:
- 研究基礎設施團隊:正在處理 Recurrent / Looped Transformer 變體
- 系統工程師:在一個受控的 checkpoint 家族上做低位元推理優化
- 希望擁有可重用執行時介面、而非一次性 benchmark 腳本的團隊
不適合你如果你需要:
- 通用的 Model Zoo
- 現成可用的 Hosted Serving 平台
- 涵蓋任意 Transformer checkpoint 的廣泛相容性
今天交付了什麼
TinyLoop 目前提供:
- 可重用的 C++ 函式庫介面
- 一個涵蓋 inspect、benchmark、generate、speculate 的 CLI
- 以
pybind11提供的可選 Python 綁定 - 自訂的
.tinyloop模型格式 - CUDA kernel:量化 GEMM、注意力、Fused ops、KV-cache 輔助
- 預設開啟的 cached decode
- Cached vs uncached 的回歸覆蓋測試
它的差異點
TinyLoop 建構於幾個主流執行時少見的特性之上:
- Loop 次數是執行時參數。 品質與計算量可以在不更動權重的情況下調整。
- 權重記憶體僅與獨特 block 有關,而非有效深度。
- Draft 與 verify 可共用同一組權重。 這讓 self-speculative decode 很自然。
- 低位元執行不是事後補充。 整個執行時圍繞著 INT2/INT4 與可選的 FP16 body cache 打造。
當前狀態
目前的 TinyLoop 最精確的描述是:
- 一個真實、專用的執行時
- 具有可重用函式庫、CLI、Python 綁定與測試介面的「框架」
- 尚未是「完整的 serving 平台」
目標 artifact 在 H100 上的當前實測:
| 路徑 | 結果 | 備註 |
|---|---|---|
| 預設低位元 benchmark | 30.48 ms | seq_len=128, loops=8,不出 logits |
| FP16-body 快速模式 | 2.82 ms | TINYLOOP_EXPERIMENTAL_FP16_BODY=1 |
| 完整 prefill attention | 0.143 ms -> 0.087 ms | 更安全的 tiled prefill 相較於參考路徑 |
品質層面的目前陳述:
- 在驗證過的路徑上尚未偵測到回歸
- 此證據來自 CUDA 測試、Decode 平價、CLI 回歸、Tokenizer-aware 回歸與 Eval-slice 覆蓋
- 這 不等於 對所有 prompt 與 artifact 都有通用保證
推薦閱讀順序
初次接觸:
正在整合 TinyLoop:
正在開發執行時本身:
本站文件已提供繁體中文版本。若遇到尚未翻譯或需改進內容,歡迎提交翻譯與修訂貢獻。