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 强依赖词级时间戳做精确断句, 关闭会触发匀速估算退化路径,得不偿失。
60 lines
1.9 KiB
YAML
60 lines
1.9 KiB
YAML
# audio2text — GPU 生产配置(NVIDIA 3090 24G)
|
||
# 模型按之前指定选型,质量优先:
|
||
# ASR = whisper large-v3-turbo(8x 速度,质量接近 large-v3)
|
||
# 翻译 = NLLB-200-distilled-1.3B(质量最好)
|
||
# ASR 与翻译不共驻:翻译时卸载 Whisper 独占显存跑大 batch。
|
||
|
||
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: large-v3-turbo # 8x 速度,质量接近 large-v3
|
||
device: cuda
|
||
compute_type: float16 # 3090 FP16,速度与显存兼顾
|
||
language: en
|
||
word_timestamps: true
|
||
vad_filter: true
|
||
batch_size: 32 # BatchedInferencePipeline:每批解码 32 个 30s 音频块,拉长单次 GPU 解码掩盖 CPU 特征提取间隙
|
||
beam_size: 2 # turbo 鲁棒,beam=2 留一个候选做保险(vs beam=5 候选数↓ 解码步数↓,加速明显质量损失小)
|
||
|
||
translation:
|
||
model: facebook/nllb-200-distilled-1.3B # 质量最好
|
||
device: cuda
|
||
src_lang: eng_Latn
|
||
tgt_lang: zho_Hans
|
||
batch_size: 32 # 不共驻时显存独占,大 batch 填充 GPU
|
||
max_length: 256
|
||
sort_by_length: true # 按句子长度排序后分批,减少批内 padding 浪费
|
||
|
||
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"
|