llama.cppプロジェクトはビルドb10750をリリースし、シーケンス位置のインデックス付けとn-gram履歴のルックアップを改善するためにキーバリューセルの管理をリファクタリングしました。

  • `get_prev_tokens()`関数が再構築され、各ubatchで全ての使用済みセルを走査する代わりに直接ルックアップを実行するように変更されました。
  • 内部インデックスは現在`std::set`に`(pos, cell)`ペアを格納し、新しい`seq_pos_tok_le`メソッドを通じて対数時間の取得を可能にしています。
  • この変更により、従来のウィンドウルックアップとM-RoPEギャップフォールバックロジックの必要性が排除されました。
  • 71kコンテキストにおけるQwen3.8-Flash-Next UD-Q4_K_XLでのベンチマーク結果、トークン生成速度が69.3から72.7 t/sへ4.9%向上し、プレフィルパフォーマンスは変更なし。

この最適化は推論中の計算オーバーヘッドを削減し、ロングコンテキストシナリオにおけるより高速なテキスト生成を実現します。