私有化语音模型(CPU 版)交付测试报告模板
项目名称: _______________________
模型版本: ASR:v____ / TTS:v____
测试时间: ________________________
测试执行: ________________________
验收结论: □ 通过 □ 有条件通过 □ 驳回
0. 测试摘要(Executive Summary)
| 测试类别 | 结果 | 说明 |
|---|---|---|
| 性能指标 | □ 通过 □ 警戒 □ 不通过 | 最大稳定并发:____ 路 |
| 稳定性 | □ 通过 □ 警戒 □ 不通过 | 72h 稳定运行,无降频/泄漏 |
| 精度指标 | □ 通过 □ 轻微损失 □ 不通过 | 与 GPU 基准对比差异:____ |
| 兼容性 | □ 通过 □ 风险 □ 不通过 | 指令集要求:AVX2 / AVX512 |
| 风险评估 | □ 可上线 □ 谨慎上线 | CPU 资源瓶颈:是/否 |
1. 部署架构说明(Architecture Overview)
说明 CPU 环境下 ASR/TTS 服务的部署方式:单机多实例 / 多机集群 / 是否使用网关(Nginx、Envoy)等。
(架构图占位)
2. 硬件与运行环境(Environment Baseline)
| 维度 | 配置详情 | 关键检查项 |
|---|---|---|
| CPU 型号 | __________________ | x86_64 / ARM64 |
| 物理核 / 逻辑核 (HT) | ____ / ____ | 是否开启超线程 |
| 指令集支持 | AVX2 / AVX512 / VNNI | 是否实际启用(影响 5–10× 性能) |
| 内存 | ____ GB | 是否存在带宽瓶颈 |
| 操作系统 | __________________ | 内核版本:________ |
| 部署方式 | Docker / 裸机 | 是否启用 CPU 绑核 |
| CPU 主频 | 基准:____ GHz | 压测是否降频 |
3. 模型加载性能(Model Loading)
| 维度 | 测试结果 |
|---|---|
| 模型大小 | ______ GB |
| 首次加载耗时 | ______ 秒 |
| 是否常驻内存 | □ 是 □ 否 |
| 重启不可用窗口 | ______ 秒 |
| 多实例加载情况 | 是否占满内存 / 是否复用权重 |
4. 性能测试(Performance Benchmark)
4.1 单路基准性能(Single Stream Baseline)
| 指标 | ASR | TTS |
|---|---|---|
| 单路 CPU 占用 | ____ %(单核) | ____ % |
| 单路内存占用 | ____ MB | ____ MB |
| RTF(实时率) | ____(≤0.1 视为实时) | — |
| 合成倍速 | — | ____ 倍(≥10 倍) |
| 首包延迟 | ____ ms | ____ ms |
4.2 并发阶梯压力测试(Concurrency Ladder Test)
| 并发路数 | CPU 总占用 | CPU 主频 | ASR RTF | ASR P99 | TTS P99 首包 | 吞吐量 | 状态 |
|---|---|---|---|---|---|---|---|
| 1 | |||||||
| 5 | |||||||
| 10 | |||||||
| 20 | |||||||
| 30 |
性能拐点(RTF/P99 开始恶化)出现于: ____ 路
最大安全并发(CPU ≤ 80%): ____ 路
单物理核最大承载能力: ____ 路/核
4.3 混合负载测试(Noisy Neighbor)
验证在存在严重 CPU 抢占时(如 Java/Python 业务进程)ASR/TTS 的服务质量。
已整合工程细节,但用甲方验收结构呈现。
测试背景(自动填写)
-
基线负载:模拟语音服务稳定并发 ____ 路(约占 CPU 50%)
-
干扰负载工具:
stress-ng/sysbench -
注入干扰目标:将 CPU 推高至 95% ± 3%
测试结果(填写表)
| 测试项 | 结果 |
|---|---|
| 基线状态(无干扰) | RTF = ____,P99 = ____ ms |
| 干扰启动后 CPU 总占用 | ____ %(目标 95%) |
| RTF 波动情况 | 从 ____ → ____(变化倍数:×____) |
| P99 延迟抖动 | 从 ____ ms → ____ ms |
| 语音服务表现 | □ 正常 □ 有卡顿 □ 丢请求 □ 频繁超时 |
| CPU 降频情况 | □ 无 □ 有,从 ____GHz → ____GHz |
| 上下文切换(cswch/s) | ____(显著/轻微/无变化) |
| 是否需要 CPU 隔离(cpuset/cgroup) | □ 必须 □ 建议启用 □ 可不启用 |
标准结论模板(自动附带)
在 CPU 被大量抢占的情况下,ASR/TTS 服务的性能(RTF、P99)出现:
□ 轻微波动(可接受)
□ 中度恶化(建议绑核)
□ 严重恶化(必须绑核,否则无法满足 SLA)
5. 稳定性与健壮性(Stability & Robustness)
5.1 72 小时长稳测试
| 指标 | 结果 |
|---|---|
| CPU 是否降频 | □ 无 □ 有(____ → ____ GHz) |
| 内存是否泄漏 | □ 正常 □ 泄漏(增长 ____ %) |
| FD/句柄增长 | 正常 / 异常 |
| Crash / 重启 | 无 / ____ 次 |
| 服务探活 | 全通过 / 异常 |
5.2 异常输入处理
| 测试项 | 期望 | 实测结果 |
|---|---|---|
| 超长音频(>1h) | 拒绝/分段 | |
| 超长文本(>1w 字) | 限制/报错 | |
| 纯噪声/损坏音频 | 快速报错 | |
| 突发流量(100 req/s) | 队列/丢弃 |
5.3 故障注入(Failover)
| 注入故障 | 预期行为 | 实测 |
|---|---|---|
| 杀掉主进程 | 自动拉起 | |
| 网络闪断 | 超时重试 | |
| 磁盘写满 | 服务可用+告警 | |
| CPU 100% 占用 | 不整体卡死 |
6. 精度(Accuracy)
| 指标 | CPU 模式 | GPU 基线 | 差异 |
|---|---|---|---|
| ASR WER | ____% | ____% | ±____ |
| TTS MOS | ____ | ____ | ±____ |
| 量化模式 | FP32 / FP16 / Int8 | — | — |
| CPU 特有问题 | □ 无 □ 底噪 □ 金属音 □ 断字 |
7. 风险评估与上线建议
7.1 关键风险项
-
CPU 性能瓶颈:并发 > ____ 路出现明显恶化
-
指令集缺失风险:无 AVX2/512 性能下降 ____ %
-
与业务混跑风险:CPU 抢占导致 RTF × ____ 倍恶化
-
模型加载窗口期:加载耗时 ____ 秒
7.2 上线配置建议(Best Practices)
-
Docker 绑核示例:
--cpuset-cpus="0-10" --cpu-quota=100000 -
限流策略: CPU>90% 时拒绝新请求
-
部署模式:
-
ASR/TTS 分离
-
多实例 + LB
-
模型常驻内存
-
8. 最终验收结论(Final Acceptance)
| 项目 | 结果 | 备注 |
|---|---|---|
| 功能 | □ 通过 □ 有条件通过 □ 拒收 | |
| 性能 | □ 通过 □ 有条件通过 □ 拒收 | |
| 稳定性 | □ 通过 □ 有条件通过 □ 拒收 | |
| 精度 | □ 通过 □ 有条件通过 □ 拒收 | |
| 综合评估 | □ 推荐上线 □ 限制上线 □ 不建议上线 |
最终意见: