一次讲清本地大模型语音识别三件套:Vulkan 为什么是加速主线,而说话人识别为何成为唯一短板
把 whisper.cpp、sherpa-onnx、llama.cpp 三套引擎整合到一起再用 Electron 包成桌面应用这个技术思路本身并不复杂。真正考验工程功力的是面向完全不懂技术的最终端用户怎样让这些引擎尽可能“一键加速”同时还不能增加任何安装门槛。最近即将上架微软商店的倾语AI就是一个典型的案例。这篇文章就来拆解它在 GPU 加速选型上的几层考虑以及一个暂时不得不接受的局限。考虑一为什么语音识别不用 CUDA 而用 Vulkanwhisper.cpp 做语音识别时可供选择的 GPU 后端很多。但倾语AI 的团队最后把主线压在了 Vulkan 上理由非常充分普适性从 2016 年后的几乎所有显卡包括 Intel 核显、AMD 集显和独显、NVIDIA 独显其驱动程序中均已内置 Vulkan 运行时。用户装好系统就能用不用再装任何依赖。零部署成本CUDA 的方案需要用户手动下载和安装巨大且版本敏感的工具包任何一次驱动升级或环境冲突都会导致应用无法启动。这对于普通用户来说是完全不可接受的。所以 Vulkan 是能让你爸你妈打开电脑也能直接获得 GPU 加速的唯一选择。考虑二大模型优化同样用 Vulkan保持技术栈统一llama.cpp 同样对 Vulkan 提供良好支持。当语音转写的原始文本需要本地大模型来润色、提取要点时这个引擎仍能在同一套 Vulkan 环境中高效运行而不需要用户额外配置。考虑三无奈之处说话人识别模块为什么只能跑 CPU说话人识别选择的是 sherpa-onnx功能上它能以较高的准确度区分出不同说话人。但是sherpa-onnx 目前不支持 Vulkan它的 GPU 加速路径只有 CUDA 以及 DirectML特定平台。在用户设备上让应用直接调用 CUDA 加速近乎不可能因此这一段推理只能回落至 CPU。这就意味着在整个离线处理流程中当语音识别和大模型都在亮晶晶地跑着 Vulkan 加速时唯独说话人识别成了性能的瓶颈点。这并非设计者不想解决而是出于“首先保证功能完整可用”的务实考量——whisper.cpp 没有提供说话人日志功能而 sherpa-onnx 是当前最成熟且跨平台的开源选项只能先顶上再期待未来底层框架的演进。应用层怎么做用户体验的弥补倾语AI 在应用层做了几点很实际的补偿支持 CPU、GPU 混合推理可以尽量利用其它模块的 GPU 空隙去抵消一部分等待时间后处理允许用户直接手动调整说话人标签和合并说话人纠正算法可能的错误而且所有历史导出保留本地就算识别过程稍微多花了一点时间也不影响最终文档的反复编辑和导出。上线在即实践出真知5 月 12 日早上 9 点倾语AI 将准时在微软商店上线开放下载。如果你好奇这样一套“Vulkan 主线 一个 CPU 短板”的端侧语音架构在实际使用中到底体验如何也想知道它生成的会议纪要、访谈整理是否真的能省下你手工排版的时间不妨趁早去下载一个试试。官网地址https://www.cingyuai.com#语音识别#whispercpp#Vulkan加速#sherpaOnnx#llamacpp#离线语音转文字#说话人识别#端侧AI#倾语AI#隐私计算#桌面应用开发#微软商店上新