天貓精靈智能引擎團隊、智能合成團隊與 NVIDIA 團隊合作,通過利用 NVIDIA TensorRT 加速流式語音合成(Text-to-Speech,以下簡稱 TTS)深度學習模型,并借助 NVIDIA Triton 推理服務器在 NVIDIA T4 GPU 上進行高效部署,幫助阿里巴巴天貓精靈流式 TTS 服務將吞吐提升 50%,首包延時降低 35%,大幅提升服務運行效率,提升資源利用率。
天貓精靈(Tmall Genie)是阿里巴巴消費者人工智能一級公司,于 2017 年 9 月發布第一代天貓精靈智能終端 X1。讓用戶以自然語言對話的交互方式,實現影音娛樂、購物、信息查詢、生活服務等功能操作,成為消費者的家庭助手。目前,天貓精靈已經服務超過 3000 萬中國家庭,在三方權威統計中不僅智能音箱產品出貨量排名中國前列,其產品并已可連接 3 億以上的家庭 AIoT 生態設備。
除了智能音箱終端產品外,天貓精靈推出 AliGenie 開放平臺,旨在構建基于 AI 的多模態交互及服務系統,為多種云應用提供跨系統服務能力,實現端云協同、跨平臺多終端快速接入。該開放平臺提供高性能且高質量的語音 AI 能力,包括多種不同音色的高度擬人、高度流暢的語音合成算法等。
此外,天貓精靈基于 AliGenie 開放平臺,還提供基于芯片/模組的硬件解決方案,以及通用的熱門行業解決方案。專注生活多個領域,提供一站式解決方案。
本案例中負責實施的是天貓精靈智能引擎團隊以及天貓精靈智能合成團隊。天貓精靈智能合成團隊負責語音合成等生成式算法的研究及開發;天貓精靈智能引擎團隊主要支撐天貓精靈業務線各項業務的工程化落地,如語音識別、語義理解、語音合成、圖像處理等 AI 核心場景。
流式 TTS 是天貓精靈工作流中最為重要的 AI 環節之一。在這一場景中,天貓精靈智能引擎團隊面臨著如下挑戰:
首先流式 TTS 對于首包延時有著嚴格要求,否則用戶將會因為較長的反饋遲滯而感到不適,這就要求 TTS 工作管線的每個模塊的推理能夠高效地執行。
另一方面,團隊希望 TTS 服務的吞吐能夠達到較高水平,這就需要在服務端對收到的多個流式合成請求進行 Batching 的處理。但流式 TTS 工作管線包含聲學模型和聲碼器等多個模塊,在 GPU 上進行 Batching 操作需要正確維護和切換每個合成請求所需的模型狀態,因此需要特別設計工作管線和調度邏輯。
最后,如何盡可能提升 GPU 資源利用率是降本增效的關鍵。最直接的思路便是在一張 GPU 上部署多個模型來提升利用率。因此,如何在同一張 GPU 上對多個模型進行高效的調度和管理也成為了一個挑戰。
基于以上挑戰,天貓精靈智能引擎團隊、智能合成團隊與 NVIDIA 解決方案架構團隊合作,采用NVIDIA TensorRT對模型進行推理加速,并利用NVIDIA Triton 推理服務器在 T4 GPU 上進行在線部署,形成了一套高效的流式 TTS 推理部署方案。在提升用戶體驗的同時,大幅降低了服務成本。
首先,該方案使用 TensorRT 對流式 TTS 工作管線中的每一個模型進行優化加速。我們將訓練好的聲學模型和聲碼器,導出為 ONNX 模型格式,再使用 TensorRT 將 ONNX 模型轉換為最優化的 TensorRT Engine。使用 TensorRT 加速的 TTS 模型,能顯著提升推理執行的速度,從而盡可能壓縮首包延時。
另一方面,天貓精靈智能引擎團隊與 NVIDIA 團隊合作設計并實現了一種基于 Triton 的流式 TTS 推理部署管線。在該方案中,我們使用 Triton Custom Backend 實現串聯 TTS 各個模型的調度管線。對于管線中的每一步推理處理,會調用部署在 Triton 上的 TTS TensorRT Engine。如此一來,Triton 便可將發送到服務端的 TTS 請求,有條不紊地調度到管線中的每個模塊進行推理執行。并且,在該管線中,我們實現了適用于 GPU 平臺的流式 TTS 高效調度機制,通過在服務端 Custom Backend 中維護每個合成請求的狀態,實時地將模型輸入和狀態動態聚合為對 GPU 友好的 Batch,交由管線中各個模塊的 TensorRT Engine 進行推理,從而大幅提升管線吞吐和 GPU 利用率,同時保證了對每個合成請求的快速響應。此外,流式 TTS 中一句話的合成請求會對應多個回包,每個回包承載一個音頻塊。針對這種一收多發的推理模式,我們利用 Triton 提供的 Decoupled Responses 機制,保證一個請求的多個回包能夠正確高效地發送給對應的客戶端,使用戶能聽到完整且流暢的音頻。
最后,為了進一步提升 GPU 資源利用率,該方案利用了 Triton 的 Concurrent Model Execution 特性。該特性將部署在 Triton 上的模型或模塊,以模型實例的方式管理:一個模型可以部署多個實例,不同模型的實例也可部署在同一GPU上。因此該方案開啟了 Concurrent Model Execution 后,同一個 T4 GPU 上可部署多個 TTS 發音模型,使得多個模型實例的推理在 GPU 算力資源充足時可以達到并行執行。如此一來,GPU 算力資源可以被多個模型的并行執行充分利用起來,達到降本增效的目的。
通過使用基于 NVIDIA TensorRT 和 Triton 推理服務器的流式 TTS 推理部署方案,天貓精靈 TTS 服務的吞吐提升約 50%,首包延時降低約 35% ,幫助天貓精靈節省了業務成本,提升了用戶體驗。
-
NVIDIA
+關注
關注
14文章
4978瀏覽量
102988 -
阿里巴巴
+關注
關注
7文章
1613瀏覽量
47168 -
TTS
+關注
關注
0文章
41瀏覽量
10787 -
天貓精靈
+關注
關注
4文章
95瀏覽量
11367
原文標題:NVIDIA TensorRT 和 Triton 助力阿里巴巴天貓精靈顯著提升流式語音合成服務運行效率
文章出處:【微信號:NVIDIA-Enterprise,微信公眾號:NVIDIA英偉達企業解決方案】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論