GitHub Repo
Transformersコミュニティ、SynthIDのデバイス間でのウォーターマーク差異を報告。同じシードでも検出シグナルを再現できない可能性
10月11日のTransformersコミュニティの報告によると、CPUとApple MPSでは、同じキーとシードを使っても異なるSynthIDテキストウォーターマークのサンプリングテーブルが生成される。小規模なテストでは、デバイスをまたいでスコアを付けると、ウォーターマークなしのベースライン近くまで低下する可能性が示された。ただし、完全な検出器と新しいパッケージでの検証はまだ行われていない。

Transformersコミュニティは10月11日、SynthID-Textでデバイス間の再現性に関する問題を報告した。同じキーと乱数シードを使っても、CPUとApple MPSでは異なるウォーターマーク信号に対応する可能性がある。報告には最小再現コードが添えられており、検証環境はTransformers 4.46.3、PyTorch 2.8.0、Apple M3 Pro。現時点でissueはオープンのままで、関連する修正案はない。コミュニティの報告
SynthIDの実装では、トークン列とキーを基にインデックスを計算し、あらかじめ作成したサンプリングテーブルからg-valuesを取得して、生成時のトークン確率を調整する。そのため、生成側とスコアリング側で同一のテーブルを再構築する必要がある。キーとシードを保存するだけでは、ハードウェアをまたいだ一貫性を保てない可能性がある。Transformers技術ドキュメント
報告によると、CPUとMPSのサンプリングテーブルの一致率は約50.19%で、同じトークン列に対するg-valuesの一致率は約49%だった。報告者はさらに、Qwen2.5-1.5B-Instructを使い、それぞれ400トークンからなるウォーターマーク付き出力を10件テストした。MPSでスコアを付けた場合の平均g-scoreは0.59~0.66だったが、CPUでスコアを付けると0.49~0.50に下がり、ウォーターマークなしの対照群に近づいた。ただし、これは信号の統計的テストであり、ベイズ検出器やCUDAはテストしていないため、完全な検出システムの見逃し率を直接推定することはできない。テストと制約
PyTorchの公式ドキュメントでは、シードが同じでもCPUとGPUで再現可能な結果が得られるとは限らないと、もともと説明されている。そのため、工学的な観点からは、ウォーターマークの導入時にサンプリングテーブルの一貫性を生成側と検出側の互換性チェックに含め、デバイスとパッケージのバージョン情報を記録しておく必要がある。PyTorchの再現性に関する説明
報告者は、まずCPU上でテーブルを作成してから対象デバイスに移す方法を提案している。ただし、これによりCPU以外の環境で既存のテーブルが変わるため、過去のテキストとの互換性に対処する必要がある。報告者はv5.19.0でも同じ初期化方法が使われていると指摘しただけで、このバージョンでの実測は行っていない。今後は、デバイス間の回帰テスト、旧テーブルを選択する仕組み、完全な検出器による検証結果に注目したい。修正の方向性