記事のサマリー(TL;DR)
- Liquid AIが3Bパラメータのマルチモーダルモデル「LFM2.5-VL-3B」向けにスペキュラティブデコーディング用ドラフトモデルを公開。メモリ増加は8.9%(280M)にとどまる
- M5 Max上のMLXでデコードが最大3.13倍、エンド・ツー・エンドレイテンシが最大2.62倍改善。H100でもデコード最大2.66倍・E2E最大2.27倍
- llama.cpp・MLX-VLM・SGLangの3フレームワークへの初日対応でオープンウェイトとして自由に利用可能
オンデバイスAI・エッジVLMを検討する国内開発者が押さえるべき点
LFM2.5-VL-DSpark が注目される理由のひとつは、エッジデバイス(Apple Silicon)でも高い推論効率が得られる点です。日本国内でも、製造業や小売業の現場向けにエッジ推論を組み込むシステムが増えており、サーバーレスでVLMを動かしたいニーズが高まっています。MLXとllama.cppの両方に対応しているため、M2/M3/M5シリーズのMacや将来的なApple Silicon搭載サーバーへの展開が容易です。
また、SGLang経由でOpenAI互換エンドポイントとして立ち上げられるため、既存のチャットAPIと同じインターフェースで画像推論を組み込めます。kintoneやSalesforceのUIに画像読み取り機能を追加したい場合でも、バックエンドをSGLang + LFM2.5-VL-DSParkに差し替えるだけで応答速度を大きく改善できる構成が現実的です。
ただし、Amdahlの法則が示すとおり、視覚エンコードとプリフィルが全体レイテンシを占める割合が高い場合、デコード高速化の恩恵は限定的になります。エッジ環境ほどプリフィルが相対的に重いため、テキスト主体の長いプロンプトや高解像度画像が多いワークロードでは、E2E改善幅が1.3〜1.6倍程度にとどまることを設計段階で考慮する必要があります。
詳細
LFM2.5-VL-DSpark とは
Liquid AI が公開した実験的なドラフトモデルで、同社のビジョン言語モデル(VLM)「LFM2.5-VL-3B」の推論を高速化します。既存の「LFM2.5-DSpark」ドラフターと同じアプローチを採用しており、出力品質を変えずにメモリフットプリントの最小限の増加と引き換えに大きな速度向上を実現します。
主な特徴は次のとおりです。
- 高速推論:デコードスピードアップはデバイス上で最大3.13倍、H100では最大2.66倍。エンド・ツー・エンドの改善はそれぞれ最大2.62倍・2.27倍
- 小さなメモリコスト:ドラフターの追加パラメータは280M。ベースモデル(3B)に対して8.9%の増加にとどまる
- 初日からのフレームワーク対応:llama.cpp・MLX-VLM・SGLang の3つで即日利用可能
アーキテクチャとトレーニング
ビジョンドラフターは、テキスト用の「LFM2.5-DSpark」ドラフターと同じアーキテクチャを採用しています。ターゲットモデルの固定されたタップ層で隠れ状態を取得し、そこを条件として k 個の候補トークンブロックを生成します。画像パッチとテキストトークンはそれらの層の前に共有表現に射影されるため、入力モダリティに関係なく同一次元の隠れ状態ベクトルでドラフターが動作します。推論アルゴリズムはテキストモデルと変わりません。
トレーニングはビジョン言語SFTデータの混合セットを用い、想定ワークロードに重みを付けて実施。アブレーション(3・4・5層)の結果、4層・ブロックサイズ9の注意機構のみのドラフターが採用されました。最終データ混合で10エポック実施し、エポックごとに受諾率を計測。追加学習トークンで改善が見られた後、収穫逓減に達しています。
ドラフターのパラメータ内訳
| コンポーネント | パラメータ数 |
|---|---|
| LFM2.5-VL-3B デコーダースタック(4層) | 193.0M |
| 隠れ状態プロジェクション | 21.0M |
| マルコフヘッド | 65.5M |
| ノルム + コンフィデンスヘッド | 6.4k |
| 合計 | 279.5M |
推論時のブロックサイズはハードウェアに応じて8または9を推奨しています。
CPU・GPU上での推論スピードアップ
評価は「MMSpecベンチマーク」に準拠し、一般VQA・テキストVQA・画像キャプション・チャートVQA・複雑推論・マルチターン会話の6タスクで実施。ブロックサイズはいずれも8を使用。
オンデバイス推論(Apple Silicon)
- M5 Max × MLX:デコードが2.30〜3.13倍高速化。E2Eレイテンシは1.56〜2.62倍改善
- M3 Ultra × llama.cpp:デコードが1.57〜2.14倍、E2Eが1.30〜1.77倍改善
GPU推論(H100)
- デコードが2.66倍高速化、E2Eで1.64〜2.27倍の改善
VLMワークロードにおけるスペキュラティブデコーディングの限界
テキストLLMではプリフィルがほぼコンピュート律速であり、コストはプロンプト長に対して(サブ)二乗的に増大します。VLMではさらに画像が視覚エンコーダーを通過し、その後言語バックボーンが数百の視覚トークンとテキストプロンプトを処理するため、プリフィルコストが増します。
エッジデバイスはデータセンターGPUと比べて計算能力が大幅に低いため、プリフィルがE2Eレイテンシに占める割合が高くなります(M5のコアあたりGPUニューラルアクセラレーターがこのギャップをある程度埋めています)。
スペキュラティブデコーディングが高速化するのはデコードのみであり、視覚エンコードやプリフィルには効きません。それらのステージが全体の処理時間の多くを占める場合、デコードが大幅に速くなってもE2Eゲインはアムダールの法則に上限を設けられる形になります。
利用方法
ドラフトモデルは Hugging Face 上で SafetensorsおよびGGUF形式で公開されています。
SGLang での起動
python -m sglang.launch_server \
--model-path LiquidAI/LFM2.5-VL-3B \
--speculative-algorithm DSPARK \
--speculative-draft-model-path LiquidAI/LFM2.5-VL-3B-DSpark \
--speculative-draft-attention-backend flashinfer \
--speculative-dspark-block-size 9 \
--disable-radix-cache
起動後は http://localhost:30000/v1 のOpenAI互換エンドポイントにクエリを送信します。SGLangはDSParkサポート付きのビルド(PR #40651)が必要です。
llama.cpp での起動
llama-server -m models/LFM2.5-VL-3B-F16.gguf \
--mmproj models/mmproj-LFM2.5-VL-3B-F16.gguf \
-md LFM2.5-2.6B-DSpark-F16.gguf \
--spec-type draft-dspark --spec-draft-n-max 8 --spec-draft-n-min 0 \
-fa on -ngl 99 -c 8192
対応するllama.cppビルド(PR #29339)が必要です。
MLX-VLM での起動
mlx_vlm.server --model LiquidAI/LFM2.5-VL-3B --draft-model LiquidAI/LFM2.5-VL-3B-DSpark
対応するMLX-VLMビルド(PR #2280)が必要です。ブロックサイズはサイドカーメタデータから読み込まれます。
スペキュラティブデコーディングは厳密一致であり、ターゲットモデルが提案されたトークンを毎回検証するため、greedy出力はターゲット単体と同一です。レスポンスごとのタイミングには draft_n / draft_n_accepted が報告されます。