跳至主要内容

TinyLoop 框架

TinyLoop 是一套針對「權重共享 Looped Transformer」而打造的 C++/CUDA 推理框架。

它專為下列架構家族而設計:

  1. 將 tokens 做 embedding
  2. 執行少數幾個 pre-block
  3. 將同一個共享的 loop block 重用 L
  4. 做 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 上的當前實測:

路徑結果備註
預設低位元 benchmark30.48 msseq_len=128, loops=8,不出 logits
FP16-body 快速模式2.82 msTINYLOOP_EXPERIMENTAL_FP16_BODY=1
完整 prefill attention0.143 ms -> 0.087 ms更安全的 tiled prefill 相較於參考路徑

品質層面的目前陳述:

  • 在驗證過的路徑上尚未偵測到回歸
  • 此證據來自 CUDA 測試、Decode 平價、CLI 回歸、Tokenizer-aware 回歸與 Eval-slice 覆蓋
  • 不等於 對所有 prompt 與 artifact 都有通用保證

推薦閱讀順序

初次接觸:

  1. 安裝
  2. 快速開始
  3. CLI 參考
  4. 目前狀態

正在整合 TinyLoop:

  1. 設定參考
  2. C++ API
  3. Python API
  4. 模型格式

正在開發執行時本身:

  1. Runtime 架構
  2. 效能與記憶體
  3. 測試與 CI
  4. 生產路線圖

本站文件已提供繁體中文版本。若遇到尚未翻譯或需改進內容,歡迎提交翻譯與修訂貢獻。