perf: ASR GPU 利用率优化 — batch_size 16→32 + beam_size 5→2
faster-whisper 的 GPU 利用率呈尖刺波(峰=批量解码满载,谷=CPU 提取 Mel 特征 + 处理结果时 GPU 空闲),平均利用率低。瓶颈不在算力而在 CPU/GPU 未重叠。 - batch_size 16→32:拉长单次 GPU 解码时间,相对掩盖 CPU 特征提取间隙, 尖刺变宽变平,平均利用率上升。turbo FP16 仅 ~1.6GB,3090 24G 充裕。 - beam_size 5→2:turbo 模型鲁棒,候选数 5→2 大幅减少解码步数,让 GPU 峰更密、间隙更短。保留 1 个候选做歧义发音保险,质量损失小。 - beam_size 从硬编码提到 config 可调,CPU/CPU 模板/GPU/示例 四份配置对齐 - /health 增加 asr_beam_size,模型加载日志同步输出 batch+beam word_timestamps 保留 True:segmenter 强依赖词级时间戳做精确断句, 关闭会触发匀速估算退化路径,得不偿失。
This commit is contained in:
@@ -65,7 +65,8 @@ class ModelManager:
|
||||
)
|
||||
self._asr = BatchedInferencePipeline(model=whisper)
|
||||
self._current = "asr"
|
||||
logger.info("ASR 模型已就绪(batched, batch_size=%d)。", s.batch_size)
|
||||
logger.info("ASR 模型已就绪(batched, batch_size=%d, beam_size=%d)。",
|
||||
s.batch_size, s.beam_size)
|
||||
return self._asr
|
||||
|
||||
def unload_asr(self) -> None:
|
||||
|
||||
Reference in New Issue
Block a user