Hugging Face、LFM2.5-DSpark で推論速度を最大 3.2 倍に高速化
本文の状態
日本語全文を表示中
詳細モードで約9分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
Hugging Face Blog
Liquid AI は Hugging Face Blog にて、推論速度を最大 3.2 倍向上させた LFM2.5-DSpark の発表を行い、同社の技術的進歩を示した。
AI深層分析を開く2026年8月21日 09:53
AI深層分析
キーポイント
LFM2.5-DSpark の性能向上
Liquid AI が発表した新モデル LFM2.5-DSpark は、推論速度において最大 3.2 倍の高速化を実現している。
Hugging Face Blog での発表
この技術的進展は Hugging Face の公式ブログを通じて公開され、開発者コミュニティに情報が提供された。
Liquid AI の技術的主張
同社によると、LFM2.5-DSpark は既存のモデルと比較して推論効率を劇的に改善するものであると主張している。
DSparkによる推論速度の向上
GPUでは最大3.18倍、オンデバイスでは最大2.87倍のスループット改善を実現し、メモリ使用量の微増で大きな高速化を達成する。
DSparkの技術的構成要素
ターゲットモデルの文脈特徴に条件付けられた並列バックボーンと、隣接トークン間の依存関係を考慮した軽量シーケンシャルヘッド、そして信頼度に基づく検証器を組み合わせている。
重要な引用
Up to 3.2x Faster Inference with LFM2.5-DSpark
LFM2.5-DSpark
Speculative decoding addresses this by using a lightweight draft model to produce candidate tokens, then having the target model verify them all in a single forward pass, sharing the cost of loading the weights across all tokens we verify.
DSpark... combines three components: DFlash-style parallel backbone conditioned on the target model's context features, producing hidden states for all draft tokens in a single forward pass.
編集コメントを表示
編集コメント
推論速度の向上は、大規模モデルの実用化において常に重要な課題であり、3.2 倍という数値は実利用における価値を高めるものである。Liquid AI の技術力が Hugging Face のプラットフォームを通じて広く共有された点は注目すべき動きだ。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
本日、LFM2.5 ファミリーから 3 つのモデル向けにDSpark ドラフトモデルチェックポイントをリリースしました。対象は LFM2.5-1.2B-Instruct、LFM2.5-2.6B、そして LFM2.5-8B-A1B です。
これらは、出力品質を維持したまま、わずかなメモリ増加で推論速度を大幅に向上させる「スペキュレーティブ・ディコーディング(speculative decoding)」の経路を追加したものです。
- 推論速度の向上: GPU 上では最大 3.18 倍、オンデバイス環境でも最大 2.87 倍のスループット改善を実現。
- オンデバイスでのエージェント推論への道: LFM2.5-2.6B において、関数呼び出しのレイテンシを平均 57% 短縮。
- llama.cpp と SGLang の即日対応: LFM 互換の DSpark 統合がオープンソース化され、上位プロジェクトへアップストリームされました。
DSpark はどのように動作するのか
LLM 推論におけるデコードフェーズは、従来メモリ帯域幅に制約されるのが一般的でした。遅延の大部分を占めるのは、DRAM から SRAM へ重みを読み込む際のストリーミング処理であり、計算負荷そのものではありません。
スペキュレーティブ・ディコーディングはこの課題に対処するため、軽量なドラフトモデルで候補トークンを生成し、ターゲットモデルがそれらを一括で検証する手法です。これにより、検証対象となるすべてのトークンに対して重み読み込みのコストを共有できます。
過去数年間で複数の推測アプローチが提案されてきましたが、中でも注目されているのが EAGLE-3、DFlash です。そして最近では、これら 3 つの要素を統合した DSpark が登場しました。
ターゲットモデルの文脈特徴を条件として、DFlash スタイルのパラレルバックボーンが単一の順次パスで全ドラフトトークンの隠れ状態を生成します。
隣接するトークン間のマルコフ連鎖としてモデル化された軽量な逐次ヘッドがトークン間の依存関係を付与し、後方の位置における受容率を引き上げます。
各トークンの生存確率を予測し、検証にかかるコストが節約効果を上回る場合に低信頼度のサフィックスを剪断する、信頼度スケジューリング付きの検証器です。
学習とアーキテクチャ
SFT、チャット、コード、関数呼び出しデータを網羅したより大規模で多様なデータミックスを採用し、DSpark のレシピに従います。アブレーション実験の結果に基づき、ドラフトモデルの初期バージョンは注意機構のみを持つ簡素化されたモデルとし、5 層とブロックサイズ 9 で構成します。各ドラフトモデルに対して全データセットで 15 エポックの学習を行い、損失が最小となるエポックではなく、受容率が最高となるエポックを選択しました。
その結果得られたドラフトモデルは比較的小さく、それぞれ約 300M パラメータです。
| コンポーネント | LFM2.5-1.2B-Instruct | LFM2.5-8B-A1B | LFM2.5-2.6B |
|---|---|---|---|
| デコーダスタック (5 レイヤー) | 241.2M | 241.2M | 241.2M |
| 隠れ状態投影 | 21.0M | 21.0M | 21.0M |
| マルコフヘッド | 33.6M | 65.5M | 65.5M |
| ノルム + 信頼度ヘッド | 27.5k | 27.5k | 27.5k |
| 合計 | 295.7M | 327.7M | 327.7M |
品質の同等性
貪欲デコーディング(greedy decoding)では、ドラフトトークンがターゲットモデルの分布と一致した場合のみが採用されます。拒否された場合は、ターゲットモデル自身のトークンが代わりに挿入されます。このようにして生成されるシーケンスは、構造的にベースラインの貪欲デコーディングと完全に同一となるため、ベンチマーク精度(pass@1 または完全一致率)に変化はありません。
CPU および GPU における推論速度の向上
LFM2.5 向けの DSpark ドラフトモデルには、初日から llama.cpp と SGLang のサポートが用意されています。llama.cpp については、公式コードベースを基に実装が進められており(公式リポジトリへのプルリクエスト)、ここでは実験的な Metal カーネル(Metal カーネルに関するプルリクエスト)も併用しています。SGLang については、DSpark の公式実装を基にした SGLang プルリクエスト が利用されています。
推論性能の評価は、M4 Max MacBook Pro で FP16 GGUF 重みを用い、最大 256 トークンの出力を生成する条件下で llama.cpp と Metal を使用して行いました。GPU 側のスループット測定では、H100(80 GB)単一構成上で SGLang を BF16 で実行しました。両方の設定において、DSpark のブロックサイズは 9、バッチサイズは 1、温度は 0 に固定しています。これらは 5 つのベンチマークデータセットで評価されました。
3 つのドラフトモデルはいずれも、大規模アクセラレーター(H100)とエッジ環境(M4 Max MacBook)の両方で、顕著なスループット向上をもたらしました。
LFM2.5-2.6Bでは、MacBookでの推論速度向上が特に顕著です。このモデルは、ユーザーが体験できるインタラクションのレベルを、一般的なクローズドソースのクラウドモデル(データセットにもよりますが約140トークン/秒)が提供するスループットをはるかに上回るものへと押し上げます。
| データセット | 受容率 (10件中) | H100 での速度向上倍率 | M4 Max での速度向上倍率 |
|---|---|---|---|
| MATH500 | 5.42 | 3.06x 326 → 1000 tok/s | 2.25x 61 → 137 tok/s |
| HumanEval | 4.54 | 2.56x 326 → 835 tok/s | 2.63x 61 → 161 tok/s |
| MBPP | 4.71 | 2.64x 326 → 861 tok/s | 2.11x 62 → 132 tok/s |
| GSM8K | 4.32 | 2.22x 312 → 693 tok/s | 2.36x 60 → 143 tok/s |
| MT-Bench | 5.07 | 2.87x 325 → 933 tok/s | 1.99x 62 → 123 tok/s |
| 平均 | 4.81 | 2.67x 323 → 864 tok/s | 2.27x 61 → 139 tok/s |
多様なマルチツールシナリオにおいて、LFM2.5-2.6B の推論レイテンシーは DSpark により平均で 57% 短縮されます。
LFM2.5-1.2B-Instruct ではデータセットの採用率に大きなばらつきが見られるため、基盤となるテキスト分布によって速度向上率は最大 52% まで変動します。
| データセット | 受容率 (10件中) | H100 での速度向上倍率 | M4 Max での速度向上倍率 |
|---|---|---|---|
| MATH500 | 6.02 | 2.56x 668 → 1712 tok/s | 2.62x 140 → 366 tok/s |
| HumanEval | 5.31 | 2.26x 664 → 1499 tok/s | 2.87x 136 → 389 tok/s |
| MBPP | 5.52 | 2.37x 667 → 1578 tok/s | 2.74x 137 → 375 tok/s |
| GSM8K | 4.34 | 1.67x 624 → 1041 tok/s | 2.73x 140 → 381 tok/s |
| MT-Bench | 3.90 | 1.66x 657 → 1091 tok/s | 1.72x 137 → 237 tok/s |
| 平均 | 5.02 | 2.10x 656 → 1384 tok/s | 2.54x 138 → 350 tok/s |
LFM2.5-8B-A1Bでは、2 つの密結合モデルと比較して受容率が向上しますが、オンデバイス環境での平均的な改善幅は 18% に留まります。この差が生じる主な理由は、llama.cpp の Metal バックエンドにおける現在の MoE(Mixture of Experts)の実装と、k トークンの検証時に単一のデコードステップよりも多くのエキスパートが活性化され、結果として重みの転送量が増加してしまう点にあります。
| データセット | 採択率 (10件中) | H100 での速度向上倍率 | M4 Max での速度向上倍率 |
|---|---|---|---|
| MATH500 | 8.27 | 3.18x 428 → 1362 tok/s | 1.21x 93 → 112 tok/s |
| HumanEval | 7.02 | 2.58x 426 → 1100 tok/s | 1.12x 91 → 101 tok/s |
| MBPP | 6.93 | 2.64x 426 → 1122 tok/s | 1.09x 89 → 97 tok/s |
| GSM8K | 4.02 | 1.29x 385 → 496 tok/s | 1.44x 90 → 129 tok/s |
| MT-Bench | 8.52 | 3.02x 426 → 1288 tok/s | 1.04x 87 → 90 tok/s |
| 平均 | 6.95 | 2.54x 418 → 1074 tok/s | 1.18x 90 → 106 tok/s |
LFM2.5-DSpark の使い方
LFM2 ターゲットに対して DSpark ドラフトモデルを SGLang で実行するには、DSpark 対応の SGLang ビルドが必要です(PR #31041)。ドラフトを添付してターゲットを起動します。
python -m sglang.launch_server \
--model-path LiquidAI/LFM2.5-2.6B \
--speculative-algorithm DSPARK \
--speculative-draft-model-path LiquidAI/LFM2.5-2.6B-DSpark \
--speculative-draft-attention-backend flashinfer \
--disable-radix-cache --mem-fraction-static 0.75 --port 30000
その後、http://localhost:30000/v1 の OpenAI 互換エンドポイントにクエリを送信します。ブロックサイズはドラフトの config.json から読み取られます。ベースラインでは、3 つの --speculative-* フラグを外した同じコマンドを使用します。
llama.cpp で実行する場合は、対応する llama.cpp のビルドが必要です(PR#27383)。
llama-server -m LFM2.5-2.6B-F16.gguf \
-md LFM2.5-2.6B-DSpark-F16.gguf \
--spec-type draft-dspark --spec-draft-n-max 10 --spec-draft-n-min 0 \
-fa on -ngl 99
ブロックサイズはサイドカーメタデータから読み込まれます(n-max はこれに制限されます)。スペキュレーティブ・ディコーディングは正確な動作を行います。ターゲット側が提案されたすべてのトークンを検証するため、グリーディー出力はターゲット単独の出力と一致します。各レスポンスの timings には、draft_n と draft_n_accepted の値が報告されます。
はじめに
DSpark ドラフトモデルのチェックポイントは、Hugging Face で Safetensors および GGUF 形式で利用可能です。
- Safetensors: LFM2.5-2.6B-DSpark、LFM2.5-1.2B-Instruct-DSpark、および LFM2.5-8B-A1B-DSpark
みなさんがどのような成果を生み出すか、今から楽しみです。
引用
引用する場合は、以下の参考文献または BibTeX をご使用ください。
Liquid AI, "LFM2.5-DSpark: Up to 3.2x Faster Inference from H100 to MacBook", Liquid AI Blog, Aug 2026.
@article{liquidAI2026dspark,
author = {Liquid AI},
title = {LFM2.5-DSpark: Up to 3.2x Faster Inference from H100 to MacBook},
journal = {Liquid AI Blog},
year = {2026},
note = {www.liquid.ai/blog/lfm2.5-dspark},
}
原文を表示
Today, we release DSpark draft model checkpoints for three models from our LFM2.5 family: LFM2.5-1.2B-Instruct, LFM2.5-2.6B, and LFM2.5-8B-A1B. These add a speculative decoding path that trades a minimal memory increase for a large decoding speedup without changing output quality:
- Faster inference: up to 3.18 throughput improvement on a GPU and up to 2.87x on-device.
- Toward on-device agentic inference: cuts function-calling latency by 57% on average for LFM2.5-2.6B
- Day-one support for llama.cpp and SGLang: LFM-compatible DSpark integration is open-sourced upstream
How does DSpark work
The decode phase in LLM inference is traditionally memory-bound. Most latency comes from streaming weights from DRAM into SRAM, not from intense computation. Speculative decoding addresses this by using a lightweight draft model to produce candidate tokens, then having the target model verify them all in a single forward pass, sharing the cost of loading the weights across all tokens we verify.
Over the years, multiple approaches of speculation have been proposed, with the most prominent being EAGLE-3, DFlash, and, most recently, DSpark, which combines three components:
- DFlash-style parallel backbone conditioned on the target model’s context features, producing hidden states for all draft tokens in a single forward pass.
- A lightweight sequential head, modeled as a Markov chain between neighboring tokens, that adds inter-token dependency, raising the acceptance rate at later positions.
- A confidence-scheduled verifier that predicts each token’s survival probability and prunes low-confidence suffixes when verification would cost more than it saves.
Training and Architecture
We follow the DSpark recipe with a larger and more diverse data mix covering SFT, chat, code, and function-calling data. Based on our ablations, the first versions of the draft models are simplified attention-only draft models, with 5 layers and a block of 9. For each draft model, we ran 15 epochs on the entire dataset and selected the epoch with the highest acceptance rate rather than the lowest loss.
The resulting draft models are relatively small, with each around ~300M parameters.
| 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 |
Quality parity
Under greedy decoding, a draft token is only accepted if it matches the target model’s distribution. On rejection, the target model's own token takes its place. The emitted sequence is therefore identical to baseline greedy by construction, so benchmark accuracy (pass@1 or exact match) is unchanged.
Inference Speed Up on CPU and GPU
Our DSpark draft models for LFM2.5 ship with day-one support for llama.cpp (implementation builds on top of the official codebase, which we run with experimental metal kernels) and SGLang (implementation builds on the official SGLang implementation of DSpark).
We measure on-device throughput with llama.cpp and Metal on an M4 Max MacBook Pro using FP16 GGUF weights and up to 256 output tokens. We measure GPU throughput with SGLang on a single H100 80 GB in BF16. Both configurations use a DSpark block size of 9, a batch size of 1, and a temperature of 0. We evaluate them on five benchmark datasets.
All three drafter models deliver noticeable throughput improvements on both the large-scale accelerator (H100) and the edge deployment (M4 Max MacBook).
For LFM2.5-2.6B, speedup on the MacBook is especially noticeable, as it pushes the interactivity level a user can enjoy far beyond the throughput offered by most proprietary cloud models (around ~140 tok/s, depending on the dataset).
| Dataset | Acceptance (of 10) | Speedup on H100 | Speedup on M4 Max |
|---|---|---|---|
| MATH500 | 5.42 | 3.06x 326 → 1000 tok/s | 2.25x 61 → 137 tok/s |
| HumanEval | 4.54 | 2.56x 326 → 835 tok/s | 2.63x 61 → 161 tok/s |
| MBPP | 4.71 | 2.64x 326 → 861 tok/s | 2.11x 62 → 132 tok/s |
| GSM8K | 4.32 | 2.22x 312 → 693 tok/s | 2.36x 60 → 143 tok/s |
| MT-Bench | 5.07 | 2.87x 325 → 933 tok/s | 1.99x 62 → 123 tok/s |
| Mean | 4.81 | 2.67x 323 → 864 tok/s | 2.27x 61 → 139 tok/s |
Across various multi-tool scenarios, DSpark reduces the latency by 57% on average for LFM2.5-2.6B.
For LFM2.5-1.2B-Instruct, we see much more variance in dataset acceptance rates, so speedup varies by as much as 52% depending on the underlying text distribution.
| Dataset | Acceptance (of 10) | Speedup on H100 | Speedup on M4 Max |
|---|---|---|---|
| MATH500 | 6.02 | 2.56x 668 → 1712 tok/s | 2.62x 140 → 366 tok/s |
| HumanEval | 5.31 | 2.26x 664 → 1499 tok/s | 2.87x 136 → 389 tok/s |
| MBPP | 5.52 | 2.37x 667 → 1578 tok/s | 2.74x 137 → 375 tok/s |
| GSM8K | 4.34 | 1.67x 624 → 1041 tok/s | 2.73x 140 → 381 tok/s |
| MT-Bench | 3.90 | 1.66x 657 → 1091 tok/s | 1.72x 137 → 237 tok/s |
| Mean | 5.02 | 2.10x 656 → 1384 tok/s | 2.54x 138 → 350 tok/s |
For LFM2.5-8B-A1B, the acceptance rate increases compared to two dense models, yet on-device we get only an 18% improvement on average. This gap is due to the current MoE implementation in llama.cpp's Metal backend, and to the fact that verifying k tokens activates more experts and thus more weight traffic than a single decode step.
| Dataset | Acceptance (of 10) | Speedup on H100 | Speedup on M4 Max |
|---|---|---|---|
| MATH500 | 8.27 | 3.18x 428 → 1362 tok/s | 1.21x 93 → 112 tok/s |
| HumanEval | 7.02 | 2.58x 426 → 1100 tok/s | 1.12x 91 → 101 tok/s |
| MBPP | 6.93 | 2.64x 426 → 1122 tok/s | 1.09x 89 → 97 tok/s |
| GSM8K | 4.02 | 1.29x 385 → 496 tok/s | 1.44x 90 → 129 tok/s |
| MT-Bench | 8.52 | 3.02x 426 → 1288 tok/s | 1.04x 87 → 90 tok/s |
| Mean | 6.95 | 2.54x 418 → 1074 tok/s | 1.18x 90 → 106 tok/s |
How to use LFM2.5-DSpark
Running the DSpark draft models with SGLang requires an SGLang build with DSpark support for LFM2 targets (PR #31041). Launch the target with the draft attached:
python -m sglang.launch_server \
--model-path LiquidAI/LFM2.5-2.6B \
--speculative-algorithm DSPARK \
--speculative-draft-model-path LiquidAI/LFM2.5-2.6B-DSpark \
--speculative-draft-attention-backend flashinfer \
--disable-radix-cache --mem-fraction-static 0.75 --port 30000
Then query the OpenAI-compatible endpoint at http://localhost:30000/v1. The block size is read from the draft's config.json; the baseline is the same command without the three --speculative-* flags.
Running them with llama.cpp requires the respective llama.cpp build (PR#27383).
llama-server -m LFM2.5-2.6B-F16.gguf \
-md LFM2.5-2.6B-DSpark-F16.gguf \
--spec-type draft-dspark --spec-draft-n-max 10 --spec-draft-n-min 0 \
-fa on -ngl 99
The block size is read from the sidecar metadata (n-max is clamped to it). Speculative decoding is exact: the target verifies every proposed token, so greedy output equals the target alone; per-response timings report draft_n / draft_n_accepted.
Get Started
The DSpark draft model checkpoints are available on Hugging Face as Safetensors and in GGUF format:
- Safetensors: LFM2.5-2.6B-DSpark, LFM2.5-1.2B-Instruct-DSpark, and LFM2.5-8B-A1B-DSpark
- GGUF: LFM2.5-2.6B-DSpark-GGUF, LFM2.5-1.2B-Instruct-DSpark-GGUF, LFM2.5-8B-A1B-DSpark-GGUF
We can’t wait to see what you build.
Citation
For citations, please use the following reference or BibTeX:
Liquid AI, "LFM2.5-DSpark: Up to 3.2x Faster Inference from H100 to MacBook", Liquid AI Blog, Aug 2026.
@article{liquidAI2026dspark,
author = {Liquid AI},
title = {LFM2.5-DSpark: Up to 3.2x Faster Inference from H100 to MacBook},
journal = {Liquid AI Blog},
year = {2026},
note = {www.liquid.ai/blog/lfm2.5-dspark},
}
関連記事
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み