bstnxbt/dflash-mlx

Lossless DFlash speculative decoding for MLX on Apple Silicon

何を解決するか

dflash-mlx は、Apple Silicon上でLLM推論を高速化するための、予測的デコード技術であるDFlashを実装しています。自己回帰生成のボトルネックを解消するために、小さなドラフトモデルを使って複数トークンを並列に予測し、その後、大きなターゲットモデルが1回のパスで検証することで、出力品質を損なわずにトークン/秒のスループットを大幅に向上させます。

動作方法

このプロジェクトは、通常10億パラメータ程度のブロック拡散ドラフトモデルを使用して、1回のパスで16トークンを生成します。その後、より大きなターゲットモデルがこれらのトークンを1回のフォワードパスで検証します。ターゲットモデルがドラフトに同意すれば、トークンは受け入れられます。同意しない場合は、最初のエラーまでドラフトが切り捨てられ、ターゲットモデルが正しい次のトークンを提供します。

Apple Silicon向けの主要な技術的最適化には以下が含まれます:

  • テープリプレイロールバック:検証失敗時にGatedDeltaNetモデルの状態を効率的に復元するために、イノベーションテープを記録します。
  • カスタムMetalカーネル:MクラスGPU向けに最適化されたverify_qmm int4量子化行列乗算カーネルを含み、検証ステップを高速化します。
  • 階層的プレフィックスキャッシュ:RAMとSSDの2レベルキャッシュシステムで、ターゲットモデルの状態のスナップショットを保存し、再訪問されたプロンプトのプレフィルをスキップします。
  • 位置スパースプレフィル:ターゲットモデルのプレフィルを、選択されたトークンのサブセットに対して行うことで、計算量を削減します。

対象ユーザー

Apple Silicon(Mシリーズチップ)を使用し、QwenやGemmaのような大規模言語モデルを、大幅に高速な生成速度で実行したい開発者や研究者。

主な特徴

  • 損失なしの高速化:出力されるすべてのトークンはターゲットモデルと照合され、出力はターゲットモデルのグリーディデコードと完全に同一です。
  • 高い高速化効果:ベンチマークでは、モデルやプロンプト長に応じて1.3倍から4.3倍の高速化が確認されています。
  • OpenAI互換サーバー:aider、Continue、Open WebUIなどのツールと統合可能なサーバーを備えています。
  • アーキテクチャ対応:Qwen3.5、Qwen3.6、Gemma4モデルに最適化されています。
  • 統合診断機能:デバッグやパフォーマンス分析用に、詳細なメトリクスと構造化されたアーティファクトを提供します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch
  • Dispatch