十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Voxtral音频LLM完全解析:transcribe.cpp如何实现转写+翻译一体

Voxtral音频LLM完全解析:transcribe.cpp如何实现转写+翻译一体 Voxtral音频LLM完全解析transcribe.cpp如何实现转写翻译一体【免费下载链接】transcribe.cppggml speech-to-text inference for 16 model families项目地址: https://gitcode.com/GitHub_Trending/tr/transcribe.cpptranscribe.cpp是一个基于 ggml 的 C/C 语音转写speech-to-text推理库本文将完整解析它如何把 Mistral 的Voxtral 音频大模型Audio LLM移植为本地可运行的语音转写 语音翻译一体工具一条命令输入 16 kHz WAV 音频即可自动识别语言、输出文字还能把德语、法语等语音直接翻译成目标语言文本。支持 Whisper 级精度LibriSpeech WER 低至 1.56%、Metal / Vulkan / CUDA 多后端加速以及 2.98 GB 起的 Q4_K_M 量化模型让本地语音识别在消费级硬件上跑得又快又准。一、Voxtral 是什么Mistral 的音频LLM家族Voxtral是 Mistral 推出的离线音频大模型Audio-LLM与 Whisper 这类编码器 强制解码的传统 ASR 不同它走的是音频 Token 注入文本大模型的新路线音频编码器直接复用Whisper-large-v3的双向编码器32 层d_model1280负责把原始波形变成声学特征投影器Projector把每 4 帧连续特征拼接压缩30 秒音频块生成375 个音频 Token文本解码器Ministral-3B 或 Mistral-Small-24B 因果语言模型音频 Token 在audio_token_id24位置被散射进文本嵌入由 LLM 自回归生成文字。这条路线的关键收益文本侧是通用 LLM所以除了转写天然支持翻译、问答等指令式任务——这正是 transcribe.cpp 把转写 翻译做成一体的底气。transcribe.cpp 目前移植了两个 Voxtral 离线变体详见 docs/models/voxtral.md变体参数规模文本解码器支持语言Q8_0 WER (LibriSpeech test-clean)voxtral-mini-3b-25074.7BMinistral-3B30 层8 种语言 自动检测1.87%voxtral-small-24b-250724.3BMistral-Small-24B40 层8 种语言 自动检测1.56%两个变体共享同一套编码器、投影器、log-mel 前端和 tekken 分词器只有文本解码器不同——选小的跑得快选大的精度更高。二、transcribe.cpp 如何把音频LLM跑起来transcribe.cpp 的核心工作是把 Voxtral 的 PyTorch 权重转成GGUF格式并用 ggml 计算图在 C 中逐层复现实现位于 src/arch/voxtral/核心文件包括 encoder.cpp、decoder.cpp、model.cpp。移植中最隐蔽的几个工程难点完整推导见 docs/porting/families/voxtral.md前端特征对齐Whisper 风格 log-mel128 维 mel、slaney 滤波组在进程内计算与参考实现的WhisperFeatureExtractor误差低至平均 4.1e-84 倍帧分组投影器的每 4 帧拼接是纯 reshape 而非权重转换器用downsample_factor4元数据承载C 端在喂给proj.linear_1前完成tekken 分词器Mistral 的 BPE 分词没有现成 merge 表transcribe.cpp 从 mergeable ranks反推出 269,443 条合并规则精确复刻分词布局提示词模板转写/翻译的控制 Token 布局由 mistral-common 定义C 端逐 Token 复现保证与参考实现字节级一致。数值验证上3B 变体对参考实现做了43 个检查点张量的逐层比对全部落在容差内且 BF16 转写字节级一致24B 则按端到端 WER 验收1.56% vs 参考 1.57%。容差配置固定在 tests/tolerances/voxtral.json。三、一条命令的语音翻译--translate 的魔法 这是 Voxtral 2507 家族在 transcribe.cpp 中最重要的差异化能力——语音到文本翻译注意是语音→目标语言文本不是语音→语音# 德语语音 → 英文文本 build/bin/transcribe-cli \ -m models/Voxtral-Mini-3B-2507/Voxtral-Mini-3B-2507-Q8_0.gguf \ --translate --target-language en samples/german.wav原理很优雅运行时通过 instruct 模板合成提示词Translate this to English.再让音频 LLM 直接生成译文。仓库内置的 samples/german.wav 实测输出为流畅的英文翻译这一能力在移植验收表中被标记为MUST PASS且已通过。模型覆盖英语、法语、德语、西班牙语、意大利语、葡萄牙语、荷兰语、印地语8 种语言支持自动检测或显式--language提示例如# 显式语言提示BCP-47 语言码 build/bin/transcribe-cli -m .../Voxtral-Mini-3B-2507-Q8_0.gguf \ --language de samples/german.wavFLEURS 多语言基准下3B Q8_0 各语言 WER 介于 2.56%意语到 8.93%印地语之间24B 全面更优德语 3.29% vs 4.71%。四、快速上手三步跑通本地转写与翻译第 1 步构建 transcribe.cppcmake -B build cmake --build buildApple Silicon 自动启用 MetalLinux 加-DTRANSCRIBE_VULKANONNVIDIA 卡加-DTRANSCRIBE_CUDAON。第 2 步准备 16 kHz 单声道 WAVffmpeg -i input.mp3 -ar 16000 -ac 1 output.wav第 3 步选择量化模型运行量化3B 大小3B WER24B 大小24B WERQ4_K_M2.98 GB1.94%14.30 GB2.11%Q8_05.00 GB1.87%25.81 GB1.56%BF169.37 GB1.88%48.54 GB1.56% 实用建议内存 ≤16 GB 选Q4_K_MWER 仅升 0.07%追求精度选Q8_0BF16/F16 与 Q8_0 精度基本相同除非做数值实验否则不必使用。两点使用提示单次输入最长约2.9 小时音频131,072 Token 上下文上限超长会返回TRANSCRIBE_ERR_INPUT_TOO_LONG而非静默截断24B 是 GPU 级模型批量推理建议batch ≤ 8超配会显式报错绝不产出静默的错误结果。五、性能实测M4 Max 上有多快⚡官方基准asr-publication-v2 profileApple M4 MaxMetal 后端模型11 秒音频 (jfk)35 秒音频 (dots)3B Q4_K_M0.77 秒14.3× 实时2.09 秒16.9× 实时3B Q8_00.86 秒12.8× 实时2.51 秒14.1× 实时24B Q4_K_M3.96 秒2.8× 实时12.93 秒2.7× 实时3B 模型在 CPU 上也能跑到 1.8–2.5× 实时老笔记本Ryzen 4750U上 Vulkan 约 1× 实时。完整数据见 docs/models/voxtral-mini-3b-2507.md 和 docs/models/voxtral-small-24b-2507.md可用uv run scripts/bench/run.py --profile --models voxtral-mini-3b-2507复现。六、Voxtral Realtime流式转写的补充拼图 除离线 2507 家族外transcribe.cpp 还移植了 Mistral 的Voxtral-Mini-4B-Realtime-2602详见 docs/models/voxtral-realtime.md架构与 2507 完全不同因果编码器 滑动窗口恒定内存支持任意长音频的流式转写每 80 ms 音频输出一个文本 Token12.5 Hz延迟可在80 ms ~ 2.4 s间调节离线路径默认启用1-gram 投机解码静音段命中率极高转写结果与不开投机时字节级一致。选型口诀要翻译、要精度 → 2507 家族要流式、要低延迟 → Realtime。七、延伸阅读项目关键路径 家族总览docs/models/voxtral.md变体卡片含下载矩阵docs/models/voxtral-mini-3b-2507.md、docs/models/voxtral-small-24b-2507.mdC 移植实现src/arch/voxtral/编码器、解码器、权重加载移植研究笔记docs/porting/families/voxtral.md权重转换器scripts/convert-voxtral.py模型元数据与精度记录catalog/voxtral-mini-3b-2507.json测试音频samples/jfk.wav、samples/german.wav一句话总结transcribe.cpp 让 Voxtral 音频LLM 走出了 GPU 服务器——GGUF 单文件模型 ggml 全平台后端 逐张量数值验证把本地转写 语音翻译做成了一条transcribe-cli命令的事。【免费下载链接】transcribe.cppggml speech-to-text inference for 16 model families项目地址: https://gitcode.com/GitHub_Trending/tr/transcribe.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表