LFM2.5-DSpark 發佈說明 / 更新內容
Liquid AI 已發佈 LFM2.5 系列中三款模型的 DSpark 草稿模型檢查點(checkpoints):LFM2.5-1.2B-Instruct、LFM2.5-2.6B 以及 LFM2.5-8B-A1B。此次更新引入了投機解碼(speculative decoding)路徑,在保持與基準模型相同輸出品質的同時,顯著提升了解碼速度並降低了函式呼叫(function-calling)的延遲。
DSpark 的技術架構
DSpark 優化了 LLM 推論的解碼階段,由於從 DRAM 流向 SRAM 的權重傳輸成本,該階段通常受限於記憶體頻寬(memory-bound)。DSpark 利用輕量級的草稿模型來提議候選標記(tokens),接著由目標模型在單次前向傳播中進行驗證。
DSpark 整合了三個主要組件來實現此目標:
- Parallel Backbone: 一種基於 DFlash 風格的骨幹網路,以目標模型的上下文特徵為條件,在單次前向傳播中為所有草稿標記生成隱藏狀態(hidden states)。
- Sequential Head: 一種輕量級、基於馬可夫鏈(Markov chain)的標頭,為標記之間增加依賴關係,以提高後期位置標記的接受率。
- Confidence-Scheduled Verifier: 一種機制,用於預測每個標記的存活機率,並修剪低置信度的後綴,以避免驗證成本超過潛在的節省效益。
草稿模型訓練與規格
Liquid AI 使用包含 SFT、對話、程式碼和函式呼叫數據的多樣化混合數據進行了草稿模型的訓練。這些模型採用簡化的僅注意力(attention-only)架構,由 5 層與一個 9 單元的區塊組成。訓練持續了 15 個 epoch,最終的檢查點是根據最高的接受率而非最低損失(loss)來選擇的。
每個草稿模型約有 300M 參數。具體的參數分解如下:
| Component | LFM2.5-1.2B-Instruct | LFM2.5-8B-A1B | LFM2.5-2.6B |
|---|---|---|---|
| Decoder stack (5 layers) | 241.2M | 241.2M | 241.2M |
| Hidden-state projection | 21.0M | 21.0M | 21.0M |
| Markov head | 33.6M | 65.5M | 65.5M |
| Norms + confidence head | 27.5k | 27.5k | 27.5k |
| Total | 295.7M | 327.7M | 327.7M |
性能基準測試
由於 DSpark 使用貪婪解碼(greedy decoding),其中草稿標記僅在與目標模型的分布一致時才會被接受,因此輸出結果與基準貪婪解碼完全相同。因此,基準測試的準確度(pass@1 或精確匹配)保持不變。
GPU 與裝置端吞吐量
測試是在單個 H100 80 GB (BF16) 使用 SGLang,以及在 M4 Max MacBook Pro (FP16 GGUF) 上使用帶有 Metal 的 llama.cpp 進行的。所有配置均使用 batch size 為 1、temperature 為 0,以及 DSpark block size 為 9。
LFM2.5-2.6B 性能表現
| Dataset | Acceptance (of 10) | Speedup on H100 | Speedup on M4 Max |
|---|---|---|---|
| MATH500 | 5.42 | 3.06x | 2.25x |
| HumanEval | 4.54 | 2.56x | 2.63x |
| MBPP | 4.71 | 2.64x | 2.11x |
| GSM8K | 4.32 | 2.22x | 2.36x |
| MT-Bench | 5.07 | 2.87x | 1.99x |
| Mean | 4.81 | 2.67x | 2.27x |
LFM2.5-1.2B-Instruct 性能表現
| Dataset | Acceptance (of 10) | Speedup on H100 | Speedup on M4 Max |
|---|---|---|---|
| MATH500 | 6.02 | 2.56x | 2.62x |
| HumanEval | 5.31 | 2.26x | 2.87x |
| MBPP | 5.52 | 2.37x | 2.74x |
| GSM8K | 4.34 | 1.67x | 2.73x |
| MT-Bench | 3.90 | 1.66x | 1.72x |
| Mean | 5.02 | 2.10x | 2.54x |
LFM2.5-8B-A1B 性能表現
| Dataset | Acceptance (of 10) | Speedup on H100 | --- |
|---|---|---|---|
| MATH500 | 8.27 | 3.18x | 1.21x |
| HumanEval | 7.02 | 2.58x | 1.12x |
| MBPP | 6.93 | 2.64x | 1.09x |
| GSM8K | 4.02 | 1.29x | 1.44x |
| MT-Bench | 8.52 | 3.02x | 1.04x |
| Mean | 6.95 | 2.54x | 1.18x |
對於 LFM2.5-8B-A1B 模型,由於目前 llama.cpp 的 Metal 後端在 MoE 實作上的限制,以及驗證多個標記所需的增加的權重傳輸量,裝置端加速比受限於平均 18% 的加速。
代理型推論延遲
對於 LFM2.5-2.6B 模型,DSpark 在各種多工具場景下將函式呼叫延遲平均降低了 57%。
實作與部署
LFM2.5-DSpark 在發佈首日即透過以下框架提供支援:
- SGLang: 需要使用支援 DSpark 以用於 LFM2 目標的建置版本 (PR #31041)。
- llama.cpp: 需要使用特定的建置版本 (PR #27383)。
草稿模型檢查點可在 Hugging Face 上取得,提供 1.2B-Instruct、2.6B 和 8B-A1B 變體在 Safetensors 和 GGUF 格式下的版本。
Sources
相關
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- Dispatch