GitHub Repo
TransformersコミュニティがWhisperの実行時再現を追加報告、単一要素のEOSリストでタイムスタンプ生成が中断する可能性
10月13〜14日のTransformersに関する議論で、Whisperのタイムスタンプ生成を有効にし、単一要素のEOSリストを渡すと型エラーが発生する可能性が指摘された。報告者は実際の音声を使ったテストを追加したが、修正のマージと正式リリースへの影響はまだ確認されていない。

Transformersコミュニティでは10月13日、Whisperのタイムスタンプ生成に関する問題が報告され、14日には実際のモデルで再現した結果が追加された。報告された環境はWindows、Python 3.13.1、Transformers 5.19.0.dev0。生成時にreturn_timestamps=Trueとeos_token_id=[50257]を同時に設定すると、タイムスタンプ処理器がTypeErrorを送出し、文字起こしが中断する可能性がある。これは特定のパラメーターの組み合わせに関する実行時の報告であり、正式リリースでの影響範囲はまだ明らかになっていない。issueとディスカッション
問題は生成段階のスコアマスキングにある。報告によると、WhisperTimeStampLogitsProcessorはEOS token IDをそのままスライス境界として使用するが、Pythonのリストはスライスインデックスとして使えない。公式ドキュメントでは、logits processorは生成スコアを調整するものと説明されている。また、Whisperのタイムスタンプ処理器は、タイムスタンプ出力の有効な構造を制約する。したがって、技術的な確認ポイントは、生成設定がモデル固有の処理器にどう渡されるか、そして各レイヤーが前提とするデータ型に一貫性があるかどうかだ。生成ユーティリティのドキュメント
今回の議論は、オープンソースプロジェクトが修正の根拠として求める証拠も浮き彫りにした。メンテナーは、問題が実際の利用で発生したものかを尋ね、コーディングエージェントによる静的解析上の指摘がレビューの負担になっているとして、まず一般的なモデルで実行した証拠を示すよう求めた。その後、報告者はopenai/whisper-tinyと実際の音声を使い、元のコードでは失敗し、変更後は成功することを再現したと述べた。また、関連するテストファイルの49件のテストが通過したとも報告した。これらは現時点では作者による説明である。メンテナーと作者の返信
Whisper Tinyのモデルカードには、return_timestamps=Trueを使ってセグメント単位のタイムスタンプを取得する方法が記載されており、デプロイ担当者が検証できる明確な機能経路がある。共通の生成設定をラップしているチームは、自分たちのバージョンで整数のEOSと単一要素のリストが同じように動作するかを比較し、タイムスタンプ出力も確認できる。作者は、単一要素の入力を正規化する修正を提出したと述べている。今後はメンテナーによる確認、マージ状況、リリースバージョンを追う必要があるが、これだけでデフォルトの文字起こし処理全般に問題があるとは結論づけられない。モデルカード