跳至主要内容

模型格式

TinyLoop 模型以 .tinyloop 二進位 artifact 儲存。

此格式刻意保持狹窄:它儲存的是 TinyLoop 目標模型家族,而非開放式任意計算圖格式。

公開 header 宣告:

  • MAGIC = 0x504C4C54
  • VERSION = 3

載入時,TinyLoop 會驗證:

  • file magic
  • 格式版本
  • 維度
  • head 可整除性
  • pre-block 數量假設
  • (若存在)量化 metadata

Header 欄位順序

runtime 依序讀取以下欄位:

  1. magic
  2. version
  3. dim
  4. n_heads
  5. ffn_dim
  6. vocab_size
  7. embed_factor_dim
  8. n_pre_blocks
  9. default_loops
  10. version >= 2,讀取量化 bit metadata
  11. version >= 3,讀取量化 group-size metadata

支援版本

文件化的公開 runtime 支援為:

  • v1
  • v2
  • v3

版本意義:

版本意義
v1基礎低位元 artifact
v2明確量化 bit metadata
v3明確量化 group-size metadata

權重儲存模式

TinyLoop 目前支援兩種 embedding/head 佈局。

分解模式(Factored mode)

embed_factor_dim > 0 時啟用。

儲存 tensor 包含:

  • embed_weight
  • embed_proj
  • head_proj
  • head_weight

這是目前目標 artifact(E=64)使用的模式。

直接量化模式(Direct quantized mode)

embed_factor_dim == 0 時啟用。

儲存 tensor 包含:

  • 量化 embedding
  • 量化 head

量化 metadata

根據公開 runtime 支援,artifact 會描述:

  • 量化 bit 寬
  • 量化 group size

目前 runtime 執行支援 INT2、INT4 等低位元路徑,也可在載入時選擇將 body 權重反量化到 FP16 cache 以加速執行。

相容性政策

若你改變 artifact 語義:

  1. 提升格式版本
  2. 明確更新 loader
  3. 同步更新文件與測試
  4. 避免靜默的相容性漂移

操作建議

拿到新 artifact 時:

  1. 先跑 inspect
  2. 驗證維度與記憶體占用
  3. 跑 benchmark
  4. 對照已知參考路徑驗證行為

不要把「可成功載入」單獨當成 artifact 正確性的證明。