
Liquid AIがDSparkのドラフトモデルとQAD版Q4_0を公開
Liquid AIは公式ブログで2026年8月19日にQAD版Q4_0を、8月20日にDSparkのドラフトモデルを公開しました。DSparkは投機的デコーディングに使うドラフトモデルで、LFM向けの公開は今回が初めてとのこと。投機的デコーディングは、軽いドラフトモデルが予想した数語を本体のモデル(ターゲットモデル)がまとめて検証し、文章を1語ずつ作る復号を速める方式です。
量子化は、モデルの重み(学習で定まる数値)を少ないビット数に置き換えて軽くすることです。QAD版Q4_0は、4bitに量子化して失った精度を戻す学習手法QADで作った更新版です。
QAD版の精度は4モデルとも、16ビット版(BF16)の平均スコアのおよそ97%に達しました。従来のQ4_0のGGUF(ローカル実行向けの配布形式)とファイル形式・テンソル配置・実行経路が同じなので、メモリ使用量と処理速度は変わらないとのこと。
また、DSparkによる速度向上は公式の測定ではGPUで最大3.18倍、エッジデバイス上で最大2.87倍です。 2つの発表の要点は次のとおりです。
2026年8月に公開された2つの追加の要点(公式ブログより)
| 観点 | DSpark | QAD版Q4_0 |
|---|---|---|
| 公開日 | 8月20日 | 8月19日 |
| 対象 | 1.2B-Instruct・2.6B・8B-A1B | 230M・350M・1.2B-Instruct・2.6B |
| 内容 | 復号を速める | 4bit化で失った精度を戻す |
| メモリ | わずかに増える | 従来のQ4_0と同じ |
| 速度 | 復号が大きく速くなる | 従来のQ4_0と同じ |
| 出力と精度 | 貪欲法なら出力は不変 | BF16の約97% |
DSparkは復号の速度を上げる追加で、QAD版は4bit版の精度を戻す更新です。DSparkのドラフトモデルは1つがおよそ3億パラメータ(モデルの大きさを表す数)で、埋め込み層と出力層はターゲットモデルと共有するとのこと。3モデル向けのドラフトモデルはHugging Faceで公開当日から入手でき、LFM対応の実装はllama.cppとSGLangの公式リポジトリにも取り込まれました。
Today, we release DSpark [1] draft model checkpoints for three models from our LFM2.5 family: LFM2.5-1.2B-Instruct, the recently released 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. The draft models reach up to 3.18 throughput improvement on a GPU and up to 2.87x on-device. / This is the first public release of speculative decoding models for Liquid Foundation Models (LFMs). / The DSpark draft models for LFM2.5-1.2B-Instruct, LFM2.5-2.6B, and LFM2.5-8B-A1B are available today on Hugging Face. Additionally, the LFM-compatible DSpark integration is open-sourced upstream in llama.cpp and SGLang. / The resulting draft models are relatively small, with each around ~300M parameters, as shown in Table 1. / Table 1: Draft model size. Embedding and LM head are tied to the target, not carried by the draft. — 冒頭の発表文と学習の節の記述より公式情報を見る →
Today, we release updated 4-bit checkpoints for LFM2.5-230M, LFM2.5-350M, LFM2.5-1.2B-Instruct, and LFM2.5-2.6B trained with Quantization-Aware Distillation (QAD). QAD is a technique to distill a high-precision teacher model into a quantized student model. These checkpoints keep the low memory footprint and high throughput of Q4_0 GGUFs while recovering most of the accuracy lost to quantization: all four land at roughly 97% of their BF16 averages. / QAD Q4_0 uses the native Q4_0 throughput because the two checkpoints have the same GGUF format, tensor layout, and runtime path. — 冒頭の発表文と Deployment tradeoffs の節の記述より公式情報を見る →
投機的デコーディングはメモリ律速のLLM推論を速くする
メモリ律速とはメモリからデータを読み込む時間が、処理全体の速さを定めている状態のことです。LLM(大規模言語モデル)が文章を1語ずつ作る復号の段階では遅延の大半が、重みをDRAMからSRAM(どちらもメモリの種類)へ読み込む時間とのこと。この読み込みが遅延の大半を占めることは、NVIDIA H100のような強力なGPUでも、MacBookやiPhoneのようなエッジデバイスでも同じです。
投機的デコーディングは重みの読み込み1回で複数の語をまとめて処理する方式です。 公式ブログの説明ではドラフトモデルが先のトークン(文章を区切った単位)を予想し、本体のモデルが1回の順伝播(入力から出力まで計算を1回通すこと)でまとめて検証するとのこと。トークンごとに重みを読み込み直す必要がないため、1語ずつ生成するより速くなります。
投機的デコーディングの手法ではこれまでEAGLE-3やDFlashが代表的で、公式ブログはDSparkを最近出てきた方式として紹介しています。DSparkは次の3つの部品を組み合わせています。
DSparkを構成する3つの部品と役割(公式ブログより)
| 部品 | 役割 |
|---|---|
| DFlash型の並列バックボーン | ターゲットモデルの文脈をもとにブロック(まとめて予想する複数の語)全体を1回の計算でまとめて下書きする |
| 軽量な逐次ヘッド | 隣り合うトークンの関係をマルコフ連鎖とみなし、直前に選んだトークンに自然に結びつく続きを優先する |
| 信頼度スケジュール付きの検証器 | ドラフトトークンごとに本体が受け入れる確率(採択確率)を予測し、検証の手間に見合わないときは採択の見込みが低い末尾のドラフトトークンを切り捨てる |
DFlash方式との違いは2つ目の逐次ヘッドにあります。逐次ヘッドがドラフトトークン同士のつながりを考慮するため、ブロックの後ろのほうでも採択率が上がります。
貪欲法(毎回もっとも確率の高い語を選ぶ復号)では、ドラフトトークンはターゲットモデルの分布と一致したときだけ採択されます。不一致の場合は本体のトークンに置き換わるとのこと。そのため出力される文章は投機なしの貪欲法とまったく同じになり、ベンチマークの精度も変わりません。
Liquid AIは学習と実験をすべてAMDのハードウェアで行いました。設定は5層・ブロックサイズ9に落ち着き、各ドラフトモデルを全データで15エポック(学習データを1周する単位)学習しました。公開するチェックポイントは、大きいドラフトモデルでは採択率が伸びなくなったあとも損失が下がり続けたため、検証損失ではなく採択率が最も高かったエポックのものを選んだとのこと。
The decode phase in LLM inference is traditionally memory-bound. Most of the latency comes from streaming weights from DRAM into SRAM, not from intense computation. This is true for both powerful GPUs, such as the NVIDIA H100, and for edge devices like MacBooks or iPhones. / Speculative decoding addresses this issue by using a lightweight draft model to produce candidate tokens. The target model then verifies them all in a single forward pass, sharing the cost of loading the weights across all tokens we are verifying. / A lightweight sequential head, modeled as a Markov chain between neighboring tokens, that biases each position's logits toward continuations consistent with the token sampled just before it. This adds dependency between drafted tokens, which is absent in the DFlash approach, raising the acceptance rate at later positions. / A confidence-scheduled verifier: a separate head predicts each draft token's acceptance probability conditioned on all previous ones being accepted, and a hardware-aware scheduler prunes low-confidence suffixes whenever verifying them would cost more batch capacity than they're worth. / 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. / Throughout the ablations, we settled on 5 layers with a block size of 9. For each draft model, we ran 15 epochs on the entire dataset. / For the final published checkpoints, we therefore select the epoch with the highest acceptance rate rather than based on loss. / We trained each model and ran all ablation studies exclusively on AMD hardware using Liquid AI’s training framework. — How DSpark works・Quality parity・Training の各節の記述より公式情報を見る →
LFM2.5-2.6BはM4 MaxのMacBookで平均2.27倍速い
測定の条件は次の3点です。速度の数値はすべてこの条件で計測されています。
- オンデバイス: M4 MaxのMacBook Proでllama.cppとMetalを使い、FP16のGGUF重み・バッチサイズ1(入力を1件ずつ処理する設定)・温度0・出力は最大256トークン
- GPU: H100 80 GB 1枚でSGLangを使い、BF16・バッチサイズ1・温度0
- 共通: DSparkのブロックサイズ9で、MATH500・GSM8K・HumanEval・MBPP・MT-Benchの5データセットを評価
2.6Bの平均はH100で2.67倍、M4 Maxでは2.27倍でした。 最も伸びたのはH100のMATH500の3.06倍とM4 MaxのHumanEvalの2.63倍で、MT-BenchはM4 Maxで1.99倍にとどまったとのこと。公式ブログは、M4 Maxでの毎秒140トークン前後(データセットによる)という速度が多くの商用クラウドモデルの生成速度を大きく上回るとしています。
LFM2.5-2.6BのM4 Maxでの速度向上(公式Table 2)
投機なしと比較した倍率。最も伸びたのはHumanEvalの2.63倍で、対話形式のMT-Benchは1.99倍にとどまった。
LFM2.5-2.6Bのデータセット別スループット(公式Table 2)
| データセット | H100の倍率と速度 | M4 Maxの倍率と速度 |
|---|---|---|
| MATH500 | 3.06倍(326 → 1000 tok/s) | 2.25倍(61 → 137 tok/s) |
| HumanEval | 2.56倍(326 → 835 tok/s) | 2.63倍(61 → 161 tok/s) |
| MBPP | 2.64倍(326 → 861 tok/s) | 2.11倍(62 → 132 tok/s) |
| GSM8K | 2.22倍(312 → 693 tok/s) | 2.36倍(60 → 143 tok/s) |
| MT-Bench | 2.87倍(325 → 933 tok/s) | 1.99倍(62 → 123 tok/s) |
| 平均 | 2.67倍(323 → 864 tok/s) | 2.27倍(61 → 139 tok/s) |
公式Table 2のうち矢印つきの数値が並ぶ方のtok/sは1秒に生成するトークン数で、矢印の左が投機なし、右がDSpark使用時の速度になります。公式ブログに載っているエッジデバイスでの最大2.87倍は、1.2B-InstructのHumanEvalで出た値です。
2.6Bは、オンデバイスで実用になる初めてのエージェント向けモデルを目標に開発されました。エージェント処理(AIが外部のソフトを呼び出しながら作業を進める使い方)ではツールを呼ぶたびにモデルが先に考え、ユーザーはその間待たされます。
Liquid AIによると、さまざまなマルチツールの状況で、DSparkが遅延を平均57%減らしたとのこと。 1.2B-Instructは2.6Bと異なり思考しない(non-reasoning)モデルで、データセットごとの採択率のばらつきが大きくなります。
平均はH100で2.10倍・M4 Maxで2.54倍ですが、速度向上はデータセットによって最大52%異なります。M4 Maxでは、MATH500の2.62倍に対しMT-Benchは1.72倍でした。
We measure on-device throughput with llama.cpp and Metal on an M4 Max MacBook Pro using FP16 GGUF weights at batch size 1, temperature 0, and up to 256 output tokens. We measure GPU throughput with SGLang on a single H100 80 GB in BF16 at batch size 1 and temperature 0. Both configurations use DSpark block size 9 and are evaluated on five benchmark datasets (MATH500, GSM8K, HumanEval, MBPP, MT-Bench). / Speedup on MacBook is especially noticeable as it pushes the interactivity level a user can enjoy to a level far exceeding the throughput offered by most proprietary cloud models (around ~140 tok/s, depending on the dataset). / Our main goal for LFM2.5-2.6B was to make it the first viable on-device agentic model. In agentic workloads, the model reasons before every tool call, and the user waits through it all. That is where speculation pays most. / Across various multi-tool scenarios, DSpark reduces the latency by 57% on average. / Note that, in contrast to the 2.6B model, 1.2B is a non-reasoning model. For 1.2B, we observe much more variance in dataset acceptance rates, so speedup varies by as much as 52% depending on the distribution of the underlying text. — 測定条件と2.6B・1.2B-Instructの結果に関する記述より公式情報を見る →
LFM2.5-8B-A1Bはオンデバイスでは速度が18%しか上がらない
LFM2.5-8B-A1Bは、MoE(入力ごとに一部の専門家ネットワークだけを動作させる構成)のモデルです。思考する(thinking)モデルでもあり、採択率はMoEではない密なモデル2つより高くなったとのこと。しかし実測の速度向上は採択率の高さに見合わず、GPUでは平均2.54倍が出た一方でエッジデバイスでは18%の改善にとどまりました。
Liquid AIは速度が伸びないことを今後の課題とし、透明性のために数字を公開するとしています。エッジデバイスで伸びない理由は次の2つです。
- 現在のllama.cppのMetalバックエンドにおけるMoEの実装
- トークンをk個検証すると、1回の復号より多くの専門家ネットワークが動作し、重みの読み込みが増えること
For LFM2.5-8B-A1B, the inference gets more challenging. The acceptance rate goes up compared to two dense models (8B-A1B is also a thinking model), but the observed real-world speedup does not reflect this. While we can achieve a reasonable 2.54x throughput improvement on average on a GPU, we get only an 18% improvement on edge devices, as shown in Table 4. This 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.This will be a subject of subsequent work, and we publish the numbers for transparency. — 8B-A1B の結果に関する記述より公式情報を見る →
QAD版Q4_0は知識蒸留で4bit量子化精度を約97%回復
蒸留(知識蒸留)とは教師と呼ぶ大きなモデルの出力を手本に、生徒と呼ぶ別のモデルを学習させる方法です。QAD(量子化認識蒸留)は高精度の教師モデルから、量子化した生徒モデルへ知識を蒸留する手法です。
Liquid AIは、後処理量子化(学習済みのモデルを後から量子化する方法・PTQ)で作った従来のQ4_0と、QADで学習したQ4_0を4モデルすべてで比較しました。その結果、QAD版は4bit化で失った精度を戻し、4モデルとも16ビット版の約97%に達しました。
評価には、GPQA Diamond・MMLU-Pro・IFEval・IFBench・Multi-IF・BFCLv4の6つのベンチマークを使っています。数学の評価は規模に合わせて、230Mと350MにGSM8Kを、1.2B-Instructと2.6BにAIME25を追加しました。
数値はいずれも5回の平均です。QADが4bit化で開いた差を埋めた割合(回復率)は、230Mが70.6%・350Mが73.4%、1.2Bが65.5%・2.6Bが48.4%でした。
16ビット版に対する維持率は230Mが97.1%・350Mが96.5%・1.2Bが97.4%・2.6Bが96.6%で、4モデルとも約97%です。Liquid AIによると、小型モデルほど従来のQ4_0で品質が相対的に大きく落ちるため、回復もおおむね小型モデルで大きくなるとのこと。
4bit化で開いた差の回復率(公式ベンチマークより)
後処理量子化のQ4_0と16ビット版の差のうち、QADで埋めた割合。最大は350Mの73.4%で2.6Bは48.4%。
QAD版Q4_0の精度回復(公式ベンチマークより)
| モデル | 4bit化で開いた差の回復率 | 16ビット版に対する維持率 |
|---|---|---|
| LFM2.5-230M | 70.6% | 97.1% |
| LFM2.5-350M | 73.4% | 96.5% |
| LFM2.5-1.2B-Instruct | 65.5% | 97.4% |
| LFM2.5-2.6B | 48.4% | 96.6% |
For all four models, we compare their released GGUFs produced with post-training quantization (PTQ) against the trained QAD Q4_0 checkpoints on a benchmark suite spanning reasoning, instruction-following, tool use, and agentic capabilities: GPQA Diamond, MMLU-Pro, IFEval, IFBench, Multi-IF, and BFCLv4. The BF16 GGUF serves as the in-format ceiling. We also add one scale-appropriate math evaluation: GSM8K for LFM2.5-230M and LFM2.5-350M, and AIME25 for LFM2.5-1.2B-Instruct and LFM2.5-2.6B. We report the mean across five repeats. / Across model sizes, QAD substantially improves the Q4_0 checkpoint, with the strongest recovery generally occurring in the smaller models where PTQ Q4_0 incurs a larger relative quality loss. We quantify recovery as the fraction of the BF16-to-Q4_0 quality gap that QAD closes. QAD closes 70.6% of the gap for LFM2.5-230M, 73.4% for LFM2.5-350M, 65.5% for LFM2.5-1.2B, and 48.4% for LFM2.5-2.6B. The resulting checkpoints retain 97.1%, 96.5%, 97.4%, and 96.6% of their respective BF16 baseline performance. — Benchmarks の節の記述より公式情報を見る →
GGUFのQAD版は精度で上位の量子化形式Q5_K_Mと同等
Q4_0は4bit形式のうち品質が最も低く、Liquid AIが計測したどのバックエンドでも最も速い形式です。Liquid AIは、QADで速度をそのままにして品質の低さを補うとしています。
QAD版Q4_0は230Mと350Mでは実行ごとのばらつきの範囲でQ5_K_Mと同じ品質になり、1.2Bでは0.5ポイント以内まで迫りました。 標準的な4bitの選択肢であるQ4_K_Mより品質が高く、他社の後処理量子化で性能の高いUnslothのUD-Q4_K_XLとも同等とのこと。Q5_K_Mよりもサイズが小さく、速度も速いままです。
速度は4種の機器で計測されています。MacBook Pro・NucBox EVO-X2・Samsung Galaxy S26 Ultraの3台では、256トークンのプロンプトを読み込んだあとに100トークンを生成しました。Raspberry Pi 5だけは、230M・350M・1.2Bでプロンプトを読み込まず、32トークンだけを生成する短い測定です。
- MacBook Pro: Apple M5 MaxのGPU推論
- NucBox EVO-X2: AMD Ryzen AI Max+ 395のGPU推論
- Samsung Galaxy S26 Ultra: Qualcomm Snapdragon 8 Elite Gen 5のArm CPU推論
- Raspberry Pi 5: Broadcom BCM2712のArm CPU推論
Natively, Q4_0 is the weakest 4-bit format in terms of quality and the fastest across our backends. This is precisely the tradeoff QAD targets. QAD Q4_0 matches Q5_K_M quality within run-to-run variance at 230M and 350M and comes within half a point at 1.2B, while staying smaller and faster. / It also beats Q4_K_M, the standard 4-bit option, and matches Unsloth’s UD-Q4_K_XL, a strong external post-training quantization checkpoint. / MacBook Pro: GPU inference on an Apple M5 Max; 100 generated tokens after a 256-token prompt prefill. BF16 and F16 reference points are shown. / NucBox EVO-X2: GPU inference on an AMD Ryzen AI Max+ 395; 100 generated tokens after a 256-token prompt prefill. BF16 and F16 reference points are shown. / Samsung Galaxy S26 Ultra: Arm CPU inference on a Qualcomm Snapdragon 8 Elite Gen 5; 100 generated tokens after a 256-token prompt prefill. BF16 and F16 reference points are shown, with F16 serving as the practical full-precision reference. / Raspberry Pi 5: Arm CPU inference on a Broadcom BCM2712. For the 230M, 350M, and 1.2B models, throughput is measured using a shorter decode-only run of 32 generated tokens with no prefill, with F16 as the full-precision reference. — Deployment tradeoffs の節の記述より公式情報を見る →
ローカルLLMはメモリと速度のどちらが足りないかで選ぶ
ローカルLLMとは、インターネット上のサービスを使わず、所有するパソコンやサーバーで動作させるLLMのことです。公式ブログの2本の発表を比較すると、違いは次のとおりです。
DSparkとQAD版Q4_0の違い(公式ブログより)
| 観点 | DSpark | QAD版Q4_0 |
|---|---|---|
| メモリ | ドラフトモデルのぶんだけわずかに増える | 従来のQ4_0と同じ |
| 速度 | 復号が大きく速くなる | 従来のQ4_0と同じ処理速度 |
| 出力と精度 | 貪欲法なら出力は変わらない | 失った精度の大半を取り戻す |
| 実行環境 | llama.cppとSGLangに初日から対応 | 従来のQ4_0と同じGGUF形式 |
ローカルLLMの高速化が目的ならメモリをわずかに増やして復号を速めるDSparkが、メモリを増やさずに4bit版の精度を高めたいならQAD版Q4_0が適しています。 DSparkはllama.cppとSGLangの両方に初日から対応済みです。llama.cppはGGUFチェックポイントを使うオンデバイスAIの推論用で、SGLangはGPUで本番の推論サービスを提供するためのものです。
SGLang側の実装はDSparkの公式SGLang実装をもとにしています。llama.cpp側はDSparkの公式コードをもとにし、実験的なMetalカーネルで実行しているとのこと。QAD版は従来のQ4_0と同じ形式なので、同じ実行経路で動作します。
Liquid AIは2つを組み合わせた場合の測定値を公表していません。DSparkの速度はFP16またはBF16の重みで、QAD版の精度はQ4_0の重みで計測した値です。
LFM2.5のDSparkは2.6Bの速度をH100で平均2.67倍・M4 MaxのMacBookで平均2.27倍に上げ、貪欲法なら出力も変わりません。8B-A1Bだけはエッジデバイスでの改善が18%にとどまったとのこと。QAD版Q4_0は4bitのまま精度を16ビット版の約97%まで戻します。
DSpark draft models for LFM2.5 ship with day-one support across the inference ecosystem: / llama.cpp — GGUF checkpoints for efficient edge inference / SGLang — GPU-accelerated serving for production throughput / SGLang implementation builds on the official SGLang implementation of DSpark, and llama.cpp builds on the official codebase, which we run with experimental metal kernels. — Faster Inference の節の記述より公式情報を見る →
FAQ
- DSparkを使うと回答の内容は変わりますか?
- 貪欲法(もっとも確率の高い語を毎回選ぶ復号)で生成する限り変わりません。ドラフトモデルが予想した語は本体モデルの分布と一致したときだけ採用され、不一致なら本体の語に差し替わるとのこと。出力される文章は投機なしの貪欲法とまったく同じで、pass@1や完全一致で評価するベンチマークの精度も変わりません。
- DSparkとQADの違いは何ですか?
- DSparkは文章を1語ずつ作る復号を速める追加モデルで、QAD版Q4_0は4bit版の精度を戻す更新版です。DSparkを使うとメモリはわずかに増えますが復号が大きく速くなり、貪欲法なら出力の質は変わりません。QAD版はメモリ使用量も処理速度も従来のQ4_0のまま量子化で失った精度の大半を取り戻し、4モデルとも16ビット版の平均のおよそ97%に達しました。
- QAD版のQ4_0はどれくらい精度が戻るのですか?
- 4モデルとも16ビット版の平均スコアのおよそ97%まで戻り、維持率は230Mが97.1%・350Mが96.5%・1.2Bが97.4%・2.6Bが96.6%です。4bit化で開いた差を埋めた割合は230Mが70.6%・350Mが73.4%・1.2Bが65.5%・2.6Bが48.4%で、おおむね小型モデルで回復幅が大きくなります。



