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 環境重現;截至查核,議題仍開放,尚未列出關聯修補。問題回報
這項差異涉及生成期間的狀態管理。官方文件將 batch_select_indices 定義為從快取選取批次索引,並將 reorder_cache 用於束搜尋的快取重排;DynamicCache 則會依模型設定建立相應的快取結構。對同時持有多種狀態的模型而言,各狀態必須維持相同的樣本對應關係,否則張量形狀即使合法,內容也可能不再屬於同一筆輸入。生成與快取文件
回報的測試不需下載模型權重,而是建立兩列快取,以不同數值標記四類狀態,再用索引 [1, 0] 交換兩列。結果顯示,批次選取只交換注意力狀態;相同索引交給 reorder_cache,四類狀態則全部符合預期。這讓問題能在快取操作層級直接定位,但尚未證明實際文字輸出會出現多大偏差。重現程式與對照結果
從上述結果推論,工程師若在自訂解碼或批次管理流程中,透過該介面重排 Falcon-H1 快取,應檢查所有狀態是否同步,並比較重排後的下一步輸出與逐筆推論結果。現有證據不能推廣為所有生成模式均受影響,也不足以認定束搜尋有相同錯誤。後續值得追蹤的是修補是否涵蓋混合快取的各種狀態、是否加入刪減與重複索引測試,以及完整模型與 GPU 路徑的驗證結果。