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的端到端延遲控制提供了可複用的方法論。