ホームへ戻る

GitHub Repo

TransformersコミュニティがSAM 3のプロンプト構造の差異を報告、テキストのみの経路で幾何学的CLSトークンが欠落する可能性

10月14日のTransformersコミュニティの報告によると、SAM 3はテキストのみのプロンプトを処理する際に幾何エンコーダーをスキップし、入力構造がMetaの参照実装と異なる可能性があります。参加者は独立した再現を報告し、修正案も提出しましたが、メンテナーはまだ確認しておらず、セグメンテーション精度への影響は未測定です。

Andrew Wippler from Lancaster, USA · CC BY 2.0 · Image source
zh-Hant

TransformersにおけるSAM 3の移植版で、プロンプト構造の一貫性に疑問が生じています。10月14日に公開されたissueによると、Sam3Modelはテキストのみで、ボックスなどの幾何学的プロンプトがない場合、幾何エンコーダーをスキップします。その結果、後続のDETRエンコーダーとデコーダーにはテキストtokensだけが渡されます。報告時の環境はTransformers 5.19.0で、報告者は当時のmainブランチにも同じ経路が存在すると指摘しました。コミュニティのissue

この経路は一般的な利用方法に直接関わります。SAM 3はテキストで指定した概念に合致する画像内の物体を検出し、インスタンスおよびセマンティックセグメンテーションの結果を出力できます。Hugging Faceの公式ドキュメントにある最初の例では、画像と「ear」というテキストをprocessorに渡してからモデルを呼び出しており、ユーザーがバウンディングボックスを指定する必要はありません。したがって、この報告はドキュメントに明記された基本的な推論フローに関するものです。公式ドキュメント

報告者はモデルフックを使ってモジュール呼び出しとプロンプト長を記録しました。テキストのみのケースでは幾何エンコーダーが呼び出されず、DETRが受け取ったのは32 tokensでした。テキストとボックスを併用した場合はエンコーダーが1回呼び出され、34 tokensが渡されました。issueに記載されたMetaのコードと設定によれば、参照実装では実際の幾何学的プロンプトがなくても幾何エンコーダーが実行され、学習可能なCLS tokenが追加されます。同じテキストのみのケースでは、33 tokensになるはずです。技術的な懸念は、推論時のプロンプトシーケンスがチェックポイントの学習時の構造と異なる可能性がある点です。再現コードと参照実装の経路

同日、参加者の1人が外側の条件判定を取り除き、単体テストを追加する修正案を提出したと報告しました。別の参加者もmacOSで独立して再現したと報告しています。ただし、確認時点でissueは未解決のままで、公開の議論では想定される挙動についてメンテナーの確認が求められていました。正式に修正が完了したとはいえず、品質差を定量化できる包括的なセグメンテーション評価もありません。修正案と再現に関する議論

アノテーションやビジュアル評価のパイプラインを構築するエンジニアにとって、これはフレームワーク間の再現性を検証する際、重みと前処理だけを確認すれば十分とは限らないことを示しています。今後は、メンテナーの判断、修正が取り込まれるバージョン、画像・テキスト・後処理の閾値を固定した場合のマスクとスコアの比較を追跡する必要があります。現時点のシーケンス長に関する証拠だけでは、テキストのみのセグメンテーション結果がすべて不正確になるとは推定できません。

出典

  1. Trainer disables find_unused_parameters under any gradient checkpointing, not just reentrant #49443
  2. Transformers Trainer 開發版文件
  3. DistributedDataParallel — PyTorch 2.14 documentation
  4. Chunked prefill mishandles prefix-cache continuation — Transformers issue #49483
  5. Cache strategies — Transformers documentation
  6. SAM 3: text-only prompts drop the geometry CLS token that Meta's implementation always adds
  7. SAM3 — Transformers documentation