LFM2.5-VL-DSparkは、画像を読むAIの返事を速くするための小さな下書き役です。本体に足すのは280Mパラメータだけ。答えの中身は変えずに、待っている時間のほうを削りにいく。Liquid AIがHugging Faceで公開した、実験的なドラフトモデルの話です。
写真をAIに見せて、カーソルが点滅するのを眺めている数秒——LFM2.5-VL-DSparkは、その数秒のほうを短くしにきた発表です。
KPEは、公開された数値と、その速さがどこまで効いてどこで止まるのかを、発表資料に沿って読み直しました。
読み終えたとき、手元のMacで今日試すのか、それとも環境が整うのを待つのかが決められます。
1. 小さな下書き役が、返事を速くする
LFM2.5-VL-DSparkは、画像を読むAI「LFM2.5-VL-3B」の隣に置く、小さな下書き役です。足すのは280Mパラメータ、率にして8.9%。それだけで返事が出てくるまでの時間が変わる、とLiquid AIは言っています。増やすのはわずかで、変えるのは待ち時間。そういう足し算の発表でした。
01 280Mを足して、8.9%だけ重くなる
ドラフトモデルの中身は、4層の注意機構だけで組まれた簡素なつくりです。内訳はデコーダ部分が193.0M、隠れ状態の射影が21.0M、Markovヘッドが65.5M、正規化と確信度ヘッドが6.4k。合計279.5M、およそ280Mになります。
3Bの本体に対して8.9%。スマートフォンの写真フォルダで言えば、アルバムを一つ増やすくらいの重さです。その代わりに返ってくるのが、待ち時間の短縮でした。軽い荷物を持たせて、走る速さを上げる。発想はそれだけ、と言ってもいい。
02 画像も文章も、同じ形にして渡している
仕組みは、先に公開されたテキスト版のLFM2.5-DSparkと同じです。本体モデルの決められた層から途中の状態を受け取り、それを手がかりに次のトークンをk個まとめて下書きする。本体はそれを見て、合っているかを確かめます。
画像のパッチも文章のトークンも、その層より手前で同じ形のベクトルに変換されています。だから下書き役から見れば、入ってきたのが写真か言葉かは関係ない。推論の手順はテキスト版から一切変わっていない、と発表資料は書いています。
| 項目 | 内容 |
|---|---|
| 対象モデル | LFM2.5-VL-3B |
| 追加パラメータ | 280M(本体の8.9%) |
| デコード高速化 | 端末で最大3.13倍/H100で最大2.66倍 |
| 全体の高速化 | 最大2.62倍/最大2.27倍 |
| 対応環境 | llama.cpp・MLX-VLM・SGLang |
| 配布形式 | Safetensors・GGUF |
| 日本語タスクでの検証値 | 公式発表では未公表 |
2. 答えは変わらない、という約束
速くなるものを疑うとき、人はまず「その分、雑になっていないか」を気にします。この発表はそこに先回りしています。投機的デコーディングは厳密で、下書きされたトークンは本体がすべて検証する。だから貪欲法での出力は、本体だけで動かしたときと一致する。品質を削って速さを買う話ではない、という設計です。
01 下書きは、本体が確かめる
下書き役が先に書いたトークンは、そのまま採用されるわけではありません。本体が一つずつ検証し、合っていれば受け入れ、違えば捨てる。結果として残る文字列は、本体だけで生成したものと同じになります。
だから「速い版」と「正確な版」を使い分ける必要がない。同じ答えが、早く着くだけ。応答ごとにdraft_n/draft_n_acceptedという形で、何個下書きして何個受け入れられたかも記録されます。効いているかどうかを、数字で確かめながら使える設計です。
02 初日から、三つの環境で動く
対応はllama.cpp、MLX-VLM、SGLangの三つ。いずれも発表と同じ日から使えるとされています。ドラフトモデルはHugging Face上でSafetensorsとGGUFの両方の形式が用意され、重みは公開。ダウンロードして微調整し、制限なく配布できる、と書かれています。
ただし、どれも専用のビルドが要ります。SGLangはLFM2向けDSpark対応を含むPR #40651、llama.cppはPR #29339、MLX-VLMはPR #2280。ブロックサイズは設定ファイルやサイドカーのメタデータから読まれるので、手で合わせる場面は少なくなっています。
3. 速くなる場所と、変わらない場所
この発表のいちばん誠実なところは、限界を自分で書いていることです。投機的デコーディングが速くするのはデコードだけ。画像をエンコードする時間も、長いプロンプトを読み込むprefillも、速くはなりません。だからデコードが3.13倍になっても、体感である全体の時間は2.62倍にとどまる。その差の理由まで説明されています。
01 写真を読む時間は、削れない
画像を扱うモデルは、まず画像エンコーダに写真を通し、それから言語側が数百の視覚トークンと文章を一緒に処理します。この前半が重い。しかも端末のチップはデータセンターのGPUより計算力が小さいので、前半の占める割合はさらに大きくなります。
加速されない部分が全体の時間を決めてしまう——発表資料はこれをアムダールの法則として名指ししています。どれだけ後半を速くしても、天井は前半が握っている。M5の各コアに載るニューラルアクセラレータが、その差を少し縮めるとも触れられていました。
02 数字は、環境でこれだけ違う
評価は一般VQA、テキストVQA、画像の説明、チャートVQA、複雑な推論、複数ターンの会話という六つのタスクで、MMSpecベンチマークに沿って行われています。ブロックサイズは8。同じドラフトモデルでも、動かす場所でここまで幅が出ます。
端末側ではMLXとM5 Maxの組み合わせが最も伸び、llama.cppとM3 Ultraの組み合わせは控えめ。推論時のブロックサイズは、ハードウェアに応じて8か9が推奨されています。数字を一つだけ覚えて期待するより、自分の環境の行を見るほうが早い。
| 環境 | デコード | 全体 |
|---|---|---|
| MLX / M5 Max | 2.30〜3.13倍 | 1.56〜2.62倍 |
| llama.cpp / M3 Ultra | 1.57〜2.14倍 | 1.30〜1.77倍 |
| SGLang / H100 | 最大2.66倍 | 1.64〜2.27倍 |
4. 今日、手元で試すか。待つか
結論を先に置きます。Apple Siliconのマシンでローカルのモデルをすでに動かしている人は、今日ダウンロードして確かめる価値があります。重みは公開、形式はSafetensorsとGGUF、対応も初日から。一方で、アプリの中でAIを使っているだけの人には、まだ触れる場所がありません。その線引きがはっきりしている発表です。
01 もう試せる人
MLXやllama.cppで手元のモデルを回している人、SGLangで自前のエンドポイントを立てている人。ここに当てはまるなら、本体のLFM2.5-VL-3Bにドラフトを添えて起動するだけで、デコードの伸びを自分の環境で測れます。ベースラインは投機用のフラグを外した同じコマンド。比較の手順まで揃っています。
面白いのはここからで、レシートや図表を読ませる、スクリーンショットの中身を説明させる——そういう日常の作業が、待ち時間の分だけ「思いついたらやる」ものに近づいていく。速さは機能の話に見えて、実際に変わるのは習慣のほうです。1.5倍待たされなくなった作業は、人は自然と回数を増やす。そこに余裕が生まれます。
02 待ったほうがいい人
三つの環境はいずれも専用ビルドが前提で、PRの番号を追いかける手間があります。普段からビルドを触っていないなら、標準のリリースに取り込まれるのを待つほうが静かです。そもそもこれは実験的なドラフトモデルだ、と発表自身が断っています。
そして、画像を読ませる前半の重さは変わりません。写真1枚を投げて短い答えをもらうような使い方だと、伸びしろの多くは前半に吸われます。長い説明を書かせる作業ほど後半が長く、効きやすい。自分の使い方がどちら寄りかを思い出してから、判断してもいい。
5. よくある質問
LFM2.5-VL-DSparkとは何ですか
Liquid AIの画像対応モデルLFM2.5-VL-3B向けに公開された、実験的なドラフトモデルです。投機的デコーディングの経路を追加し、わずかなメモリ増加と引き換えに生成の速度を上げます。出力の品質は変えない設計だと説明されています。
出力の品質は落ちますか
落ちない設計です。投機的デコーディングは厳密で、下書きされたトークンを本体がすべて検証します。そのため貪欲法での出力は、ドラフトを使わず本体だけで生成した場合と一致します。速さと引き換えに答えを崩す仕組みではありません。
どれくらい速くなりますか
デコード自体は端末上で最大3.13倍、H100で最大2.66倍と発表されています。体感に近い全体の時間では、それぞれ最大2.62倍と最大2.27倍。六つの画像タスクで測った値で、環境とタスクによって幅があります。
メモリはどれだけ増えますか
ドラフトモデルは約280Mパラメータで、3Bの本体に対して8.9%の増加にとどまります。内訳は4層のデコーダが193.0M、隠れ状態の射影が21.0M、Markovヘッドが65.5Mなど、合計279.5Mです。
どの環境で動きますか
llama.cpp、MLX-VLM、SGLangの三つに初日から対応しています。ただしそれぞれDSpark対応を含むビルドが必要で、SGLangはPR #40651、llama.cppはPR #29339、MLX-VLMはPR #2280が案内されています。
日本語でも同じだけ速くなりますか
今回示されたのはMMSpecベンチマークに沿った六つの画像タスクの結果で、言語別の内訳は公式発表では未公表です。速くなるのはデコード部分なので言語に依存しにくい仕組みですが、日本語での数値そのものは示されていません。
6. まとめ
足したのは280M、削ったのは待ち時間。答えの中身はそのままで、返ってくる速さだけが変わる——今回の発表を一行にすると、そうなります。ただし速くなるのはデコードだけで、画像を読み込む前半は変わらない。だから数字の一番大きいところだけを見て期待すると、手元では少し控えめに感じるはずです。重みは公開され、三つの環境で今日から試せる。あとは、自分の使い方のどこに時間がかかっているかを思い出すだけ。
- 対象確認:本体はLFM2.5-VL-3B。単体では動かない
- 容量を見る:追加は280M、本体比8.9%の余裕があるか
- 環境を選ぶ:llama.cpp/MLX-VLM/SGLangの対応ビルド
- 数値を測る:投機フラグを外した同条件と比べて確認
- 期待値調整:画像の読み込み時間は速くならない




