AI News HubLIVE
站内改写

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