返回首頁

GitHub Repo

Transformers 社群回報 Grounding DINO 位置編碼偏差,句點分隔符可能改變偵測輸出

Transformers 社群於 11 月 7 日回報,Grounding DINO 在 v5 系列中將短語結尾分隔符的位置編號歸零,造成輸出偏離舊版與原始實作。回報附有 CPU 重現與修正建議,但尚無關聯修補,完整資料集上的準確率影響仍待驗證。

Marcus Qwertyus · Public domain · Image source
zh-Hant

Transformers 的 Grounding DINO 整合出現新的數值相容性回報。社群成員於 11 月 7 日提出 issue,指出 v5.0 起文字位置編號的向量化實作,會把結束短語的句點或問號設為零,偏離 v4 與原始模型的規則。作者使用 Transformers 5.18.0、CPU 環境提供重現,並表示所檢查的主分支仍保留相同程式碼。問題回報

這個細節與模型的正常用法直接相關。Grounding DINO 以文字描述指定要偵測的物體,官方文件建議用句點分隔類別,例如 a cat. a dog.,再依偵測與文字門檻處理輸出;它也可搭配 SAM 產生文字指定的分割遮罩。因此,分隔符位置的處理值得納入升級驗證。官方文件

回報指出,向量化程式尋找「前一個特殊 token」時,把目前位置也算進去,導致分隔符的位置先變成負一,再被截為零。例如 a cat. 的句點原應取得位置二,卻取得零。這些位置同時進入 BERT 位置嵌入與文字正弦嵌入,可能讓後續文字特徵及偵測分數一起改變。重現與根因分析

作者建議將累積位置結果右移一格,只取嚴格位於目前 token 之前的分隔符,保留向量化計算。其回報稱,這項調整搭配先前的嵌入型別修正及 PIL 影像前處理,可讓指定整合測試重新通過;兩千組隨機批次的遮罩與位置編號也與舊版迴圈一致。這些結果屬於提交者的局部驗證,不能據此推定整體偵測準確率下降幅度。測試結果

截至查核時,issue 仍開啟且未列出關聯 PR。工程團隊可優先比對升級前後多類別提示的輸出,固定權重、影像前處理及門檻,避免把不同來源的數值差異混在一起;後續則應關注維護者確認、回歸測試與正式版本收錄情況。

來源

  1. Grounding DINO: phrase delimiters get text position id 0 since v5.0
  2. Grounding DINO — Transformers documentation