模型格式
TinyLoop 模型以 .tinyloop 二進位 artifact 儲存。
此格式刻意保持狹窄:它儲存的是 TinyLoop 目標模型家族,而非開放式任意計算圖格式。
Header
公開 header 宣告:
MAGIC = 0x504C4C54VERSION = 3
載入時,TinyLoop 會驗證:
- file magic
- 格式版本
- 維度
- head 可整除性
- pre-block 數量假設
- (若存在)量化 metadata
Header 欄位順序
runtime 依序讀取以下欄位:
- magic
- version
dimn_headsffn_dimvocab_sizeembed_factor_dimn_pre_blocksdefault_loops- 若
version >= 2,讀取量化 bit metadata - 若
version >= 3,讀取量化 group-size metadata
支援版本
文件化的公開 runtime 支援為:
v1v2v3
版本意義:
| 版本 | 意義 |
|---|---|
v1 | 基礎低位元 artifact |
v2 | 明確量化 bit metadata |
v3 | 明確量化 group-size metadata |
權重儲存模式
TinyLoop 目前支援兩種 embedding/head 佈局。
分解模式(Factored mode)
當 embed_factor_dim > 0 時啟用。
儲存 tensor 包含:
embed_weightembed_projhead_projhead_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 語義:
- 提升格式版本
- 明確更新 loader
- 同步更新文件與測試
- 避免靜默的相容性漂移
操作建議
拿到新 artifact 時:
- 先跑
inspect - 驗證維度與記憶體占用
- 跑 benchmark
- 對照已知參考路徑驗證行為
不要把「可成功載入」單獨當成 artifact 正確性的證明。