Files
audio2text/config.cpu.yaml
audio2text dev a6b5c7231c 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 强依赖词级时间戳做精确断句,
关闭会触发匀速估算退化路径,得不偿失。
2026-07-06 22:28:37 +08:00

61 lines
2.0 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# audio2text — CPU 开发配置
# 模型选同系列最小尺寸,验证流程 + 贴近 GPU 生产环境:
# ASR = whisper tiny.en39M英文专用Whisper 同系列最小)
# 翻译 = opus-mt-en-zh~300MBNLLB-600M 需 ~2.4GB 内存2GB 开发机 OOM
# 故回退到最轻量英译中模型。翻译质量与 GPU 的 NLLB 有差异,但流程一致)
# 其余配置(存储、断句、输出格式)与 GPU 版完全一致,仅模型/device/compute_type 不同。
server:
host: 0.0.0.0
port: 8000
workers: 1
storage:
upload_dir: /data/uploads
work_dir: /data/.work
output_dir: /data/outputs
chunk_bytes: 1048576
chunk_session_ttl_seconds: 300
cache_retention_days: 7 # 任务产物保留天数,超期清理(字幕/中间音频/保留的原始视频+DB记录
cache_cleanup_interval_hours: 24 # 定时清理间隔(启动时跑一次,之后循环)
processing:
delete_original_after_extract: true
keep_audio: false
asr:
model: tiny.en # Whisper 同系列最小39M英文专用
device: cpu
compute_type: int8 # CPU 量化,最省内存
language: en
word_timestamps: true
vad_filter: true
batch_size: 8 # CPU 无 GPU 并行收益,保持小批
beam_size: 5 # tiny.en CPU 质量优先,保持默认 beam无加速诉求
translation:
model: Helsinki-NLP/opus-mt-en-zh # 最轻量英译中(~300MBNLLB-600M 需 ~2.4GB2GB 机 OOM
device: cpu
src_lang: eng_Latn
tgt_lang: zho_Hans
batch_size: 8 # opus-mt 轻量batch 适中
max_length: 256
sort_by_length: true # 排序分批CPU 收益小,但无害)
segmentation:
max_words_per_line: 14
max_duration_seconds: 7.0
min_duration_seconds: 1.0
max_chars_per_line: 42
logging:
level: info # debug | info | warning | error控制台最低级别
buffer_size: 2000
docs:
enabled: true
username: admin
password: "CHANGE_ME"
realm: "audio2text docs"