GitHub Repo
Transformersコミュニティ、Falcon-H1のキャッシュ並べ替えエラーを報告 畳み込み・循環状態がバッチとともに交換されず
Transformersコミュニティは11月7日、Falcon-H1の混合キャッシュでバッチインデックスを選択した際、注意状態の順序だけが更新される問題を報告しました。CPUでの再現コードが添付されていますが、関連する修正はまだなく、生成結果全体への影響は未検証です。

Transformersコミュニティは11月7日、Falcon-H1のキャッシュ整合性に関する問題を報告しました。DynamicCache.batch_select_indicesを呼び出してバッチの順序を入れ替えると、注意機構のkeyとvalueは移動する一方、畳み込み状態と循環状態は元の位置に残ります。報告者はTransformers 5.22.2、PyTorch 2.9.0のCPU環境で再現しました。確認時点でIssueは未解決のままで、関連する修正はまだ挙げられていません。Issue報告
この差異は、生成中の状態管理に関わります。公式ドキュメントでは、batch_select_indicesはキャッシュからバッチインデックスを選択するメソッド、reorder_cacheはビームサーチ用にキャッシュを並べ替えるメソッドと定義されています。また、DynamicCacheはモデル設定に応じたキャッシュ構造を作成します。複数種類の状態を保持するモデルでは、すべての状態でサンプルとの対応関係を保つ必要があります。そうでなければ、テンソルの形状が正しくても、その内容が同じ入力に対応しなくなる可能性があります。生成とキャッシュのドキュメント
報告のテストでは、モデルの重みをダウンロードせずに2行のキャッシュを作成し、4種類の状態にそれぞれ異なる値を設定したうえで、インデックス[1, 0]を使って行を入れ替えています。結果によると、バッチ選択で入れ替わるのは注意状態だけでした。同じインデックスをreorder_cacheに渡すと、4種類すべての状態が期待どおりに入れ替わりました。このテストによりキャッシュ操作の段階で問題を特定できますが、実際のテキスト出力にどの程度の差が生じるかは、まだ示されていません。再現コードと比較結果
この結果から推測すると、カスタムデコードやバッチ管理の処理でこのインターフェースを使ってFalcon-H1のキャッシュを並べ替えるエンジニアは、すべての状態が同期しているかを確認し、並べ替え後の次のステップの出力を、入力ごとに個別推論した結果と比較する必要があります。現時点の証拠から、すべての生成モードが影響を受けるとは言えず、ビームサーチでも同じエラーが起きると判断するには不十分です。今後は、修正が混合キャッシュの各状態を対象とするか、削除インデックスや重複インデックスのテストが追加されるか、完全なモデルとGPU経路で検証されるかが注目点です。