著者はMac StudioでQwen3.5-122Bモデルを日常的に使用しようとした際、深刻なパフォーマンス問題に直面しました。モデル自体は統一メモリに適合しスムーズに動作するものの、長文コンテキストの会話では、毎回のメッセージで会話全体を最初から処理する必要があり、130kトークンのコンテキストでは最初のトークン生成までに数分待たされることがありました。3週間のデバッグの末、著者はキャッシュ機構に潜む3つのバグを発見し、それぞれを修正しました。
最初のバグはシステムプロンプトのタイムスタンプに関係していました。会話のターンごとにエージェントフレームワークがシステムプロンプトに一意のメッセージIDを挿入していたため、プロンプト内容が変化し、バイト完全一致に依存するKVキャッシュが無効になっていました。修正は単純にその行を削除することでした。
2つ目のバグは中断シナリオで発生しました。ユーザーがモデルの応答中に新しいメッセージを送信すると、エージェントは生成を中断しますが、中断パスでストリーム出力された応答が保存されず、履歴にアシスタントの応答が欠落し、キャッシュの不一致が生じていました。修正後は中断パスでもストリーム応答を永続化します。
3つ目のバグはチェックポイントストアに関連していました。長いツール呼び出しのターンで、バックグラウンドフックが256トークンごとにトークンキーのないチェックポイントを書き込んでおり、これらの無用なチェックポイントがディスククォータを圧迫し、有用なチェックポイントが削除されていました。修正後は、無用なチェックポイントを優先的に削除し、必要のない書き込みを無効にしました。
修正後、同じ会話でのキャッシュヒット率が大幅に向上し、プリフィル時間が88秒から0.64秒に短縮されました。著者はまた、パフォーマンス指標を正直に報告する重要性を強調し、プリフィルとデコードを分離して測定することを推奨しています。ハイブリッドアテンションアーキテクチャのDeltaNet層により、長文コンテキストでのデコード速度低下は緩やかであり、急激な性能低下を防いでいます。最後に、現在のバージョンのメモリ余裕チェッカーは保守的すぎる可能性があると述べ、今後の最適化の必要性に言及しています。
使用したハードウェアはM3 Ultra Mac Studio、96GB統一メモリです。テスト結果によれば、プリフィルスループットは短いコンテキストで約700 tok/s、64kでは386 tok/sに低下します。デコードスループットは55 tok/sから28 tok/sへと減少します。これは、層の25%が高密度アテンションであるためですが、75%のDeltaNet層は状態サイズが一定であるため、デコード速度の低下は緩やかで、コンテキストが64倍になっても2倍の低下にとどまります。ハイブリッド設計は妥協ではなく、長文コンテキストのデコードを実用的に保つための鍵です。
著者はパフォーマンス指標について誠実であることを求め、プリフィルとデコードを混同した「スループット」の嘘を拒否します。キャッシュヒット率は、メモリキャッシュが構造的に機能しないため、ディスク復元率に基づくべきだと述べています。また、メモリ余裕チェッカーが保守的すぎるため、現在はデフォルトで無効にしており、適切な再設計が必要と指摘しています。
これらの3つのバグ修正により、Qwen3.5-122BモデルはMac Studio上で数分待ちのバッチジョブから、サブ秒応答の日常的なドライバへと変貌し、長文コンテキストで強力な対話型ローカルAIアプリケーションへの道を開きました。