返回首頁

GitHub Repo

Transformers 社群回報 Granite Speech 輸出縮放遺漏,可能影響採樣與微調

10 月 23 日的 Transformers 社群回報指出,Granite Speech 可能因遺漏輸出縮放,使 logits 放大八倍。回報附有 CPU 重現程式,另一名參與者也確認數值差異,但實際辨識影響與正式修復仍待確認。

Marcus Qwertyus · Public domain · Image source
zh-Hant

Hugging Face Transformers 社群於 10 月 23 日收到 Granite Speech 數值異常回報:語音模型的文字輸出分數 logits,與使用相同文字權重的 Granite 語言模型相比放大八倍。回報者在比較 Transformers 與 MLX 實作時發現差異,測試環境為 Transformers 5.20.2,並指出開發分支也有相同行為。技術回報

問題指向多模態模型重構後的輸出處理。回報者追溯指出,5.9 以前的 Granite Speech 包裝完整的 GraniteForCausalLM,由它執行縮放;5.10 改用基礎 GraniteModel 並自行接上 lm_head 後,漏掉除以 text_config.logits_scaling 的步驟。IBM 公開的 Granite Speech 4.1 2B Plus 設定,確實將這個參數設為 8。模型設定

這類錯誤可能通過只比對生成文字的測試。正值等比例縮放不會改變單步最高分 token,因此貪婪解碼可能仍產生相同文字;但經 softmax 轉成機率後,分布會更集中。回報指出,採樣溫度設為 1 時,效果相當於正確縮放下的八分之一,也可能改變束搜尋分數、轉移分數及微調損失。IBM 模型卡列出的部分評估採用四束搜尋與重複懲罰,這些路徑值得另外驗證。回報分析、IBM 模型卡

10 月 24 日,另一名參與者以小型隨機模型在 CPU 上確認 Granite Speech 的八倍差異,並在特定 LlavaNext、AyaVision 文字骨幹配置中發現類似縮放遺漏。這些測試支持數值路徑有問題,但尚不能量化正式權重的語音辨識錯誤率變化。截至查核,議題仍開啟,未列出修復 PR 或發布版本。工程團隊可先固定套件與模型版本,比對 logits、損失及實際解碼結果;後續應關注修補是否涵蓋 Speech Plus,以及是否新增跨模型輸出一致性測試。重現與後續討論

來源

  1. GraniteSpeech: logits_scaling not applied since v5.10
  2. Granite Speech 4.1 2B Plus 模型卡
  3. Granite Speech 4.1 2B Plus 模型設定