执行摘要
修复 CI 中语音正确性测试的 WER 断言
在 Buildkite build #80224 中,Cohere 模型的 WER 为 11.698929,低于基线 11.92,但因 torch.testing.assert_close 的双向对称检查而失败。该 PR 旨在修复这一断言语义问题,使 CI 能够正确接受改进的 WER。
建议合并。该 PR 修复了测试断言语义,逻辑清晰,代码简洁,风险很低。
无 review 讨论。PR 由维护者直接批准。
在 Buildkite build #80224 中,Cohere 模型的 WER 为 11.698929,低于基线 11.92,但因 torch.testing.assert_close 的双向对称检查而失败。该 PR 旨在修复这一断言语义问题,使 CI 能够正确接受改进的 WER。
建议合并。该 PR 修复了测试断言语义,逻辑清晰,代码简洁,风险很低。
无 review 讨论。PR 由维护者直接批准。
test_transcription_api_correctness.py 的 test_wer_correctness 函数中,将 torch.testing.assert_close(wer, expected_wer, atol=1e-1, rtol=1e-2) 替换为单向上限比较。max_wer = expected_wer + wer_atol + wer_rtol * abs(expected_wer)。assert wer <= max_wer 进行断言,失败时输出清晰的错误信息。test_long_audio_wer_correctness),因为未观察到失败。| 文件 | 模块 | 状态 | 重要度 |
|---|---|---|---|
tests/entrypoints/speech_to_text/correctness/test_transcription_api_correctness.py |
语音测试 | modified | 4.37 |
tests/entrypoints/speech_to_text/correctness/test_transcription_api_correctness.py
test-coverage
这是唯一变更的文件。将短格式 WER 断言从对称 `assert_close` 改为单向上限 `assert wer <= max_wer`。
# tests/entrypoints/speech_to_text/correctness/test_transcription_api_correctness.py
# 变更后:单向上限检查,避免因 WER 低于基线而误报
if expected_wer:
wer_atol, wer_rtol = 1e-1, 1e-2
# 按原始双向断言的公式计算最大允许 WER,保持上限一致
max_wer = expected_wer + wer_atol + wer_rtol * abs(expected_wer)
assert wer <= max_wer, (
f"WER {wer:.6f} exceeds maximum allowed {max_wer:.6f} "
f"(baseline {expected_wer:.6f})"
)
当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。
低风险。变更仅修改一个测试函数中的断言逻辑,计算方式与之前的上限保持一致。不会影响生产代码或其它测试。唯一风险是如果长格式测试未来出现类似问题,需要单独处理。
仅影响短格式语音正确性 CI 测试。不再因 WER 优于基线而失败,使 CI 更可靠。对用户无影响,对系统无影响。
当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。
参与讨论