Together AI如何构建全球最快的语音转文本技术栈
Together AI通过将语音识别视为端到端系统问题,而非单纯的GPU推理问题,在Artificial Analysis榜单上实现了最快的语音转文本速度。本文详细介绍了其优化策略:包括针对真实音频形状的TensorRT多配置文件引擎、条件CUDA图消除CPU往返、共享内存减少数据拷贝、事件驱动I/O处理流式传输,以及通过gc.freeze()消除垃圾回收尾延迟。
文章情报
要点
- Together AI通过全路径系统优化,而非仅关注GPU推理,实现了最快的语音转文本性能。
- 核心技术包括TensorRT多配置文件编码器、条件CUDA图解码器、零拷贝共享内存和事件驱动I/O。
- 通过gc.freeze()冻结预分配状态,消除了Python垃圾回收引起的尾延迟尖峰。
- 优化后,NVIDIA Parakeet-TDT 0.6B v3模型可在10秒内转录约20小时的语音。
为什么重要
这条新闻值得关注,因为Together AI通过全路径系统优化,而非仅关注GPU推理,实现了最快的语音转文本性能。
技术影响
可能影响模型选型、推理成本、产品能力和评测基准。
Together AI在Artificial Analysis的语音转文本(ASR)性能排名中拔得头筹,其核心是将ASR视为一个完整的系统问题,而非仅仅优化GPU推理。这一理念贯穿于整个技术栈,从模型编译到数据路径,再到运行时行为,均进行了针对性的优化。
编码器优化:针对真实音频形状的TensorRT多配置文件
ASR模型的编码器承担了大部分计算负载(约占权重的95%),需要处理从200毫秒到30秒不等的音频输入。传统的单一配置文件引擎会导致短音频段在填充后性能下降。Together AI采用TensorRT多配置文件引擎,为不同音频长度范围生成多个优化计划,并在运行时选择最佳配置。这避免了形状不匹配问题,在小输入场景下性能提升数倍。
解码器优化:条件CUDA图消除CPU瓶颈
解码器的循环中,每次迭代需要检查token是否为空白符,这一分支操作原本需要CPU从GPU读取数据,导致频繁的CPU-GPU同步。Together AI使用条件CUDA图节点,将分支逻辑移至GPU端,整个解码循环(包括条件判断、发射和状态更新)被捕获为单个CUDA图。此举使解码速度提升2至3倍。
数据路径优化:减少拷贝与进程边界
音频预处理通常涉及多个进程(如解码、重采样、VAD等),导致大量数据拷贝。Together AI通过合并进程边界,并采用持久化Unix域套接字和共享内存减少数据移动。对于大文件,共享内存实现真正的零拷贝数据路径,避免内核往返。
流式传输优化:事件驱动I/O
针对流式语音识别,Together AI摒弃了传统的每连接一线程模型,改用单线程epoll事件驱动机制。这大幅降低了调度压力和GIL竞争,确保了流式传输的低延迟和高稳定性。
运行时优化:gc.freeze()消除尾延迟
在压力测试中,p95延迟偶尔出现200毫秒的尖峰。问题根源在于Python的垃圾回收器(GC)扫描预分配的长期对象。通过在启动后调用gc.freeze(),将这些对象排除在GC扫描之外,尖峰消失,系统吞吐更平滑。
Together AI的ASR栈现已在生产环境中运行,支持NVIDIA Parakeet-TDT 0.6B v3和OpenAI Whisper Large v3等模型。其中Parakeet v3支持25种欧洲语言,基于170万小时音频数据训练。这些优化不仅提升了速度,也为语音AI的端到端延迟控制提供了可复用的方法论。