尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Whisper 语音转录如何提速4倍:faster-whisper 完整使用指南

Whisper 语音转录如何提速4倍:faster-whisper 完整使用指南 Whisper 语音转录如何提速4倍faster-whisper 完整使用指南【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper会议录音转写排队等、8GB 小显存机器跑不动 large-v2是语音转录落地的两个常见卡点。faster-whisper 用 CTranslate2 推理引擎重写 Whisper 语音转录在保持相同准确率的前提下最高提速4倍开启 INT8 量化后显存占用还能省近4成。本文带你三步跑通、调好参数并给出上生产与避坑的完整路径。推理引擎优化CTranslate2 带来哪些收益这节说清楚 faster-whisper 快的原因它没改模型算法只把整套推理搬到了 CTranslate2 这个专为 Transformer 设计的引擎上收益来自三处优化。8位整数量化权重从 16 位压到 8 位模型体积和显存占用大幅下降这是显存省近4成的直接来源。操作融合把相邻的矩阵运算合并成单次内核调用减少显存读写往返。动态批处理自动把相邻音频块打包并发解码把 GPU 利用率吃满。配置只涉及两项设备与量化精度。from faster_whisper import WhisperModel # 两项关键配置设备与量化精度 model WhisperModel( large-v3, devicecuda, compute_typeint8_float16 )快速上手三步完成第一次语音转录这节是一个最小完整示例一条安装命令、一个模型实例、一次调用20 行以内跑完。pip install faster-whisper # 已内置 PyAV 解码无需另装 FFmpegfrom faster_whisper import WhisperModel # 1. 初始化GPU FP16显存紧张把 float16 换成 int8_float16 model WhisperModel(large-v3, devicecuda, compute_typefloat16) # 2. 调用转写beam_size5 是精度与速度的默认平衡点 segments, info model.transcribe(meeting.mp3, beam_size5) # 3. 遍历才会真正执行每行输出 [起点 - 终点] 文本 for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})结果从segments读它是生成器迭代时逐段输出起止秒数和文本info.language与info.language_probability给出检测到的语言及置信度。注意不迭代它就不会转写想一次跑完就list(segments)。参数调优compute_type、beam_size 与 batch_size 怎么选这节给你一张参数对照表照着填就不会踩性能坑默认值可在 transcribe.py 里核对。参数作用推荐值调错的代价compute_type权重精度GPUint8_float16CPUint8停在 fp32/fp16 白占显存精度几乎不涨beam_size搜索候选束数5默认调小变快但错字变多调大纯浪费时间batch_size并行解码块数GPU 8~16太大显存溢出太小吃不满 GPUcpu_threadsCPU 推理线程数物理核数如 8超过核数反被线程调度拖慢vad_filterSilero VAD 切掉静音长音频开 True关掉后静音也进解码白烧时间word_timestamps词级时间戳字幕场景开 True实时场景开着会拖慢出字两套对照配置GPU 一套devicecudacompute_typeint8_float16吞吐优先batch_size168GB 显存降到 8。CPU 一套devicecpucompute_typeint8cpu_threads对齐物理核数官方基准用 8 线程batch_size不必动。性能基准13 分钟音频的耗时与显存对比这节把官方基准整理成两张表看完你就知道该选哪档精度。测试环境GPU 为 RTX 3070 Ti 8GBCUDA 12.4CPU 为 i7-12700K 8 线程对象都是 13 分钟音频。GPUlarge-v2 模型实现精度耗时显存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperint859s2926MBfaster-whisperbatch_size8int816s4500MBCPUsmall 模型实现精度耗时内存openai/whisperfp326m58s2335MBfaster-whisperfp322m37s2257MBfaster-whisperint81m42s1477MB解读GPU 上 int8 是性价比最高的日常档比原版快 2.4 倍、显存省 35%batch_size8把 13 分钟压到 16 秒适合批量任务但要 4.5GB 显存。CPU 侧 int8 比 fp32 快约 1.5 倍、内存省 1/3是 16GB 内存机器的首选。生产部署Docker 镜像与自定义模型转换这节给你上生产的最短路径6 行 Dockerfile 加一条模型转换命令仓库 docker/Dockerfile 里就是这份内容。FROM nvidia/cuda:12.3.2-cudnn9-runtime-ubuntu22.04 WORKDIR /root RUN apt-get update -y apt-get install -y python3-pip COPY infer.py jfk.flac ./ RUN pip3 install faster-whisper CMD [python3, infer.py]自定义微调模型一条命令转成 CTranslate2 格式再按本地路径加载ct2-transformers-converter --model openai/whisper-large-v3 --output_dir whisper-large-v3-ct2 --copy_files tokenizer.json preprocessor_config.json --quantization float16model WhisperModel(./whisper-large-v3-ct2) # 直接加载本地目录两种场景各一句话带过实时流式把音频切成 5~10 秒块循环调用transcribebeam_size降到 3 压低延迟即可。批量流水线一个模型实例配num_workers2多线程并发调用transcribe就能真并行代价是内存翻倍。避坑指南显存、CUDA 与结果不稳定排查这节是三个高频问题的直接解法出问题按顺序对。显存爆掉先查哪里先查compute_type是不是还停在 fp16/fp32换int8_float16显存直接省近4成再查batch_size从 16 降到 8 是最快的降压手段。两步都不够才考虑换 small 档模型。CUDA 环境报错 cuBLAS/cuDNN 找不到新版 ctranslate2 只支持 CUDA 12 cuDNN 9别手动装库直接用镜像nvidia/cuda:12.3.2-cudnn9-runtime-ubuntu22.04。CUDA 11 的老机器把 ctranslate2 固定到 3.24.0 即可绕开。同一句话有时转对有时转错确认temperature保持默认的 0此时 beam search 是确定性的只要温度非零就会采样出不同结果。语言检测偶尔判错时直接在transcribe里传language参数锁死语种。批量转写会议录音、给视频上字幕、8GB 小显存机器跑大模型这些场景直接用 faster-whisper 替换原版 Whisper准确率不变最高快4倍显存省近4成。源码就在 faster-whisper 仓库pip 装完即可上手 【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表