新增 Mimi 与仅用户 VAP 对比并统一流式评测

This commit is contained in:
Xin Wang
2026-10-28 22:44:36 +08:00
parent 19d4e3c767
commit 6785e3a07b
55 changed files with 6160 additions and 31 deletions
+17 -4
View File
@@ -26,17 +26,30 @@ npm run dev
## 模型分数对比
点击时间轴上方的“模型分数对比”展开对比,默认收起。VAP / MaAI(紫色)、Smart Turn(青色)、Silero VAD(橙色)、LiveKit v1-mini(蓝色)和 TurnSense 1.0(玫红色)共用录音的时间刻度、缩放、播放头及判断点参考线。点击或拖动曲线区域定位播放,悬停查看当时已产生的分数;点击空心评分点定位到原标注时刻。顶部显示播放位置最近的有效评分,暂无评分时显示“—”,不将缺失数据当作 0。
点击时间轴上方的“模型分数对比”展开对比,默认收起。VAP / MaAI(紫色)、Smart Turn(青色)、Silero VAD(橙色)、LiveKit v1-mini(蓝色)和 TurnSense 1.0(玫红色)共用录音的时间刻度、缩放、播放头及判断点参考线。点击或拖动曲线区域定位播放,悬停查看当时已产生的分数;点击空心评分点定位到判断时刻。顶部显示播放位置最近的有效评分,暂无评分时显示“—”,不将缺失数据当作 0。
新增橄榄绿色 **VAP / MaAI(仅用户)**,在“选择模型”中勾选。它复用相同 MaAI `ch_kyoto` 权重,保留用户声道,将机器人输入全程置零;连续曲线约每 100 ms 更新,空心点取当前判断时刻之前最后可用的连续流评分。分数仍为 `1 - p_now[user]`,可独立切换 0.11 / 0.5 / 0.8 参考线。原双声道版及页面播放录音保留;用户声道内已有的机器人串音不因此消失。当前流式结果位于 `experiments/maai-ch-kyoto/results/streaming/cpc-user-only/`,原始独立窗口结果保留在 `results/user-only/`,复现方式和同点双声道对照见[仅用户评测说明](../../experiments/maai-ch-kyoto/仅用户评测说明.md)。
另有 **VAP / MaAI Mimi(标准双声道)**(蓝灰色)和 **VAP / MaAI Mimi(降噪双声道)**(金棕色),均输入用户与机器人原双声道,使用 FP32 Mimi 编码器、12.5 Hz(80 ms)和 20 秒上下文;两版分别使用标准/降噪 VAP 权重。分数映射、独立开关及参考阈值与 CPC 版一致。当前流式结果分别位于 MaAI 目录的 `results/streaming/mimi-standard/` 和 `results/streaming/mimi-mc/`;原独立窗口结果保留在 `results/mimi-standard/` 和 `results/mimi-mc/`;复现、权重校验及比较边界见 [Mimi 评测说明](../../experiments/maai-ch-kyoto/Mimi评测说明.md)。
- 实线阶梯曲线来自对六通完整录音的真实推理,不是用44个点插值。MaAI每100ms输入一块音频,因流式重采样缓冲,部分评分间隔为200ms;Smart Turn每200ms计算一次,并包含原标注的精确时刻。
- MaAI使用双声道连续回放、20秒KV缓存,分数为 `1 - p_now[user]`,是接话候选分数,不是校准的EOT概率。Smart Turn沿用原回测的用户声道、过去ASR定位、500ms前置音频、3秒内续说及最多8秒窗口;没有额外的结束信号、VAD停止门槛或超时放行。
- 空心点保留原44点的独立窗口回测分数。尤其MaAI的连续状态与独立窗口不同,空心点可能不落在连续曲线上。原始44点指标不会被这次时间序列覆盖。
- VAP 的四个配置统一按流式场景评估:连续处理完整录音并维护模型状态;判断点、悬停分数和准确率均取判断时刻之前最后可用的输出,不在判断点重置或插值。时间戳包含流式重采样缓冲;尚未输出或分数年龄超过两倍标称更新间隔时显示不可用,并单独计数,不补成 0。空心点应落在阶梯线上。Smart Turn 的原判断点仍保留独立窗口结果。
- Silero VAD 为用户声道逐个完整 32 ms 帧的真实 ONNX 推理,使用 `1 - speech_probability`,仅为非发声基线,不是语义 EOT 概率。时间戳为帧末;空心点取原判断时刻最后可用帧,不读取未来音频。独立环境和复现方法见 [Silero 实验说明](../../experiments/silero-vad/README.md)。
- 参考阈值只改变虚线位置,不修改人工标签。MaAI可选0.11、0.5、0.8,Smart Turn和Silero可选0.5、0.8。保存的分数不会随标注或转写编辑而重新计算。
- 参考阈值只改变虚线位置,不修改人工标签。MaAI可选0.11、0.5、0.8,Smart Turn和Silero可选0.5、0.8。编辑不会重跑模型;新增或移动 VAP 判断点时,页面立即从已有连续曲线重新取点。磁盘上的统计需保存标注后运行下述流式评估命令更新。
- “选择模型”打开可搜索、按类型分组的多选面板,支持全选可用 / 清空;无评分模型保留在列表并说明状态。首次显示 VAP、Smart Turn、TurnSense 三条,之后记住显示选择和参考阈值,切换通话、收起和刷新均保留。紧凑图例只显示已选模型与当前分数,悬停或键盘聚焦会突出对应曲线。点击图例打开阈值和模型说明,可单独查看一个模型并恢复原选择。
- 仅在展开时读取当前项目录音的评分,并核对音频SHA256。更换为本地新录音、音频变化或没有对应推理数据时,不显示旧曲线。切换通话会取消旧请求,避免前一段数据覆盖当前段。
评分数据位于各模型实验目录的 `results/score-timeline.json`。更新数据时,在两个各自的本机uv环境中运行:
VAP 前端读取 MaAI 目录的 `results/streaming/{cpc-stereo,cpc-user-only,mimi-standard,mimi-mc}/score-timeline.json`;其他模型沿用各自的 `results/score-timeline.json`。仅更新当前标注对应的 VAP 流式取点和统计,无需重跑模型:
```bash
cd experiments/maai-ch-kyoto
uv run --locked python evaluate_streaming.py all
```
每点的 `decision_ms`、实际 `score_time_ms` 和 `score_age_ms` 记录在各配置 `predictions.csv`,四版汇总见 `results/streaming/comparison-summary.json` 和 `对比分析.txt`。MaAI 的 `export_timeline.py`、`run_user_only.py all`、`run_mimi.py all` 在重新生成连续推理后也会刷新对应配置的流式结果。原独立窗口文件保留作为另一评估口径的历史记录。
如需重新生成连续推理,在两个各自的本机 uv 环境中运行:
```bash
cd experiments/maai-ch-kyoto