GitHub Repo
Transformers 社群提出 T5 注意力修補,張量布局可能讓 SDPA 退回較慢核心
10 月 12 日的 Transformers 社群回報指出,T5 系列的位置偏置張量可能阻止 SDPA 使用融合核心,造成嵌入運算效能退步。修補提案已附 AMD、NVIDIA 測試,但尚未合併,改善幅度仍須依實際工作負載驗證。

Hugging Face Transformers 社群於 10 月 12 日提出 T5 系列的效能回歸回報:改用縮放點積注意力(SDPA)後,位置偏置的記憶體布局可能讓執行環境退回 MATH 核心。回報者固定 PyTorch 環境、逐步定位 Transformers 提交,指出引入 T5 SDPA 支援的變更,在 Radeon 8060S 上讓兩款 T5 嵌入模型的短句編碼耗時增加約 7.4% 至 7.7%。問題回報
原因分析指向 compute_bias:它透過維度排列建立非連續張量,再將位置偏置當作 attn_mask 傳入 SDPA。回報中的核心診斷顯示,遮罩最後一維的 stride 為 12,無法滿足所測融合核心的要求;加入 .contiguous() 後,選擇結果由 MATH 改為 EFFICIENT_ATTENTION。這讓效能問題落在張量布局與核心派送之間,而非模型權重本身。診斷與重現程式
同日提交的修補提案修改八個模型檔案,讓位置偏置以連續布局回傳。作者測試顯示,在半精度、批次大小八、輸入長度 2,048 的 sentence-t5-base 編碼案例中,Radeon 8060S 第一輪平均耗時由 272.67 降至 132.01 毫秒,RTX 5090 則由 34.19 降至 16.94 毫秒。不過,生成任務的改善較小,部分注意力路徑仍使用 MATH;不能將長輸入編碼結果直接套用到所有 T5 服務。修補提案與測試
PyTorch 官方文件說明,SDPA 會依輸入自動選擇實作,各融合核心也有輸入限制;更換核心可能產生浮點數差異。因此,工程師評估升級時,應同時檢查實際核心、延遲與輸出,而不只確認設定是否寫成 SDPA。SDPA 文件
截至查核時,提案仍未合併,也未有維護者審查。作者提供的生成 token 與嵌入相似度檢查支持局部相容性,但測試使用 Windows 與開發版 PyTorch;後續應追蹤正式版本修補、Linux 重現,以及不同長度與填補比例下的效益。提案狀態