99国产精品欲av蜜臀,可以直接免费观看的AV网站,gogogo高清免费完整版,啊灬啊灬啊灬免费毛片

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

使用 NVIDIA Triton 和 TensorRT-LLM 部署 TTS 應(yīng)用的最佳實(shí)踐

0
分享至

針對基于 Diffusion 和 LLM 類別的 TTS 模型,NVIDIA Triton 和 TensorRT-LLM 方案能顯著提升推理速度。在單張 NVIDIA Ada Lovelace GPU 上,F(xiàn)5-TTS 模型每秒可生成長達(dá) 25 秒的音頻;Spark-TTS 在流式合成場景下,首包延遲可低至 200 余毫秒。

Text-to-Speech (TTS) 是智能語音技術(shù)的核心組成部分。隨著大模型時代的到來,TTS 模型的參數(shù)量和計算量持續(xù)增長,如何高效利用 GPU 部署 TTS 模型,構(gòu)建低延遲、高吞吐的生產(chǎn)級應(yīng)用,已成為開發(fā)者日益關(guān)注的焦點(diǎn)。

本文將圍繞兩款 Github 社區(qū)流行的 TTS 模型——F5-TTS[1] 和 Spark-TTS[2]——詳細(xì)介紹運(yùn)用NVIDIA Triton推理服務(wù)器和 TensorRT-LLM 框架實(shí)現(xiàn)高效部署的實(shí)踐經(jīng)驗,包括部署方案的實(shí)現(xiàn)細(xì)節(jié)、具體使用方法及最終的推理效果等。開發(fā)者可根據(jù)不同的應(yīng)用場景選擇合適的方案,并可利用性能分析工具調(diào)整配置,以最大化利用 GPU 資源。

方案介紹

當(dāng)前主流的 TTS 大模型大致可分為兩類:非自回歸擴(kuò)散模型和自回歸 LLM 模型。非自回歸擴(kuò)散模型因其解碼速度快,易于實(shí)現(xiàn)高吞吐性能;而自回歸 LLM 模型則以更佳的擬人效果和對流式合成的天然支持為特點(diǎn)。實(shí)踐中,常有方案將兩者結(jié)合,先使用自回歸 LLM 生成語義 Token,再利用非自回歸擴(kuò)散模型生成音頻細(xì)節(jié)。


圖1: TTS 部署方案結(jié)構(gòu)

F5-TTS

F5-TTS 是一款非自回歸擴(kuò)散 TTS 模型,它基于 DiT (Diffusion Transformer) 和 Flow-matching 算法,移除了傳統(tǒng)非自回歸 TTS 模型中的 Duration 模塊,使模型能直接學(xué)習(xí)文本到語音特征的對齊。

其推理加速方案利用NVIDIA TensorRT-LLM加速計算密集的 DiT 模塊,并采用 NVIDIA TensorRT 優(yōu)化 Vocos 聲碼器,最后通過 NVIDIA Triton 進(jìn)行服務(wù)部署。

方案地址:

https://github.com/SWivid/F5-TTS/tree/main/src/f5_tts/runtime/triton_trtllm

Spark-TTS

Spark-TTS 是一款自回歸 LLM TTS 模型,它采用經(jīng)過擴(kuò)詞表預(yù)訓(xùn)練的 Qwen2.5-0.5B LLM 來預(yù)測 Speech Token,并基于 VAE Decoder 重構(gòu)最終音頻。

其部署方案通過 NVIDIA TensorRT-LLM 加速基于 LLM 的語義 Token 預(yù)測模塊,并借助 NVIDIA Triton 串聯(lián)其余組件,支持離線合成與流式推理兩種模式。

方案地址:

https://github.com/SparkAudio/Spark-TTS/tree/main/runtime/triton_trtllm

方案性能

我們從 WenetSpeech4TTS 測試集[3] 中選取了 26 組 Prompt Audio 和 Target Text 音頻文本對,在 Zero-shot 音色克隆任務(wù)上測試了模型的推理性能。測試細(xì)節(jié)如下:



F5-TTS

針對 F5-TTS,我們在 Offline 模式下(即直接在本地進(jìn)行推理,不涉及服務(wù)部署和請求調(diào)度)測試了 TensorRT-LLM 推理方案的性能:

測試結(jié)果如下(Batch Size 固定為 1,因當(dāng)前 F5-TTS 版本暫不支持 Batch 推理;Flow-matching 推理步數(shù)固定為 16):



如上表所示,與原生 PyTorch 實(shí)現(xiàn)(默認(rèn)啟用 SDPA 加速)相比,NVIDIA TensorRT-LLM 方案在 Ada Lovelace GPU 上實(shí)現(xiàn)了約 3.6 倍的加速,每秒可生成的音頻時長從 7 秒提升至 25 秒。

Spark-TTS

對于 Spark-TTS,我們在 Client-Server 模式下(即客戶端向服務(wù)器發(fā)送請求)測試了端到端推理服務(wù)的性能。測試結(jié)果如下(Offline 模式不統(tǒng)計首包延遲,Streaming 模式首包音頻長度為 1 秒):



上表結(jié)果中,LLM 模塊默認(rèn)啟用了 TensorRT-LLM 的 inflight batching 模式。為模擬多路并發(fā)場景,我們基于 Python asyncio 庫實(shí)現(xiàn)了一個異步并發(fā)客戶端。此部署方案在 Ada Lovelace GPU 上,每秒可生成約 15 秒音頻,流式模式下的首包延遲低至 200 余毫秒。

快速上手

本節(jié)將指導(dǎo)您如何快速部署和測試 F5-TTS 與 Spark-TTS 模型。在此之前,建議您先克隆對應(yīng)的代碼倉庫,并進(jìn)入 runtime/triton_trtllm 目錄操作。

F5-TTS

詳細(xì)步驟請參考 F5-TTS/src/f5_tts/runtime/triton_trtllm/README.md 和 run.sh 腳本。

1. 最簡部署 (Docker Compose):這是啟動 F5-TTS 服務(wù)最快捷的方式。

# 根據(jù)您的模型選擇,例如 F5TTS_BaseMODEL=F5TTS_Base docker compose up

(注意:F5TTS_v1_Base 的支持可能仍在開發(fā)中,請檢查項目 README)

2. 手動部署與服務(wù)啟動:如果您需要更細(xì)致地控制部署流程,可以使用 run.sh 腳本分階段執(zhí)行。

# 腳本參數(shù):  [model_name]# 例如,執(zhí)行階段0到4,使用 F5TTS_Base 模型bash run.sh 0 4 F5TTS_Base

這個命令會依次執(zhí)行以下主要步驟:

  • Stage 0:下載 F5-TTS 模型文件。
  • Stage 1:轉(zhuǎn)換模型權(quán)重為 TensorRT-LLM 格式并構(gòu)建引擎。
  • Stage 2:導(dǎo)出 Vocos 聲碼器為 TensorRT 引擎。
  • Stage 3:構(gòu)建 Triton 推理服務(wù)器所需的模型倉庫。
  • Stage 4:啟動 Triton 推理服務(wù)器。

3. 測試服務(wù):服務(wù)啟動后,您可以使用提供的客戶端腳本進(jìn)行測試。

  • gRPC 客戶端 (數(shù)據(jù)集 Benchmark):

# 示例命令,對應(yīng) run.sh stage 5# 具體參數(shù)(如 num_task, dataset)請根據(jù)需求調(diào)整python3 client_grpc.py --num-tasks 1 --huggingface-dataset yuekai/seed_tts --split-name wenetspeech4tts --log-dir ./log_f5_grpc_bench

  • HTTP 客戶端(單句測試):

# 示例命令,對應(yīng) run.sh stage 6# audio, reference_text, target_text 請?zhí)鎿Q為您的測試數(shù)據(jù)python3 client_http.py --reference-audio ../../infer/examples/basic/basic_ref_en.wav \\                       --reference-text "Some call me nature, others call me mother nature." \\                       --target-text "I don\\'t really care what you call me. I\\'ve been a silent spectator, watching species evolve, empires rise and fall. But always remember, I am mighty and enduring."

4. OfflineTensorRT-LLM基準(zhǔn)測試:如果您希望直接測試 TensorRT-LLM 在 Offline 模式下的性能(不通過 Triton 服務(wù)),可以執(zhí)行 run.sh 中的 Stage 7。

# 此命令對應(yīng) run.sh stage 7# 環(huán)境變量如 F5_TTS_HF_DOWNLOAD_PATH, model, vocoder_trt_engine_path, F5_TTS_TRT_LLM_ENGINE_PATH# 通常在 run.sh 腳本頂部定義,請確保它們已正確設(shè)置或替換為實(shí)際路徑。batch_size=1model=F5TTS_Base # 示例模型名稱split_name=wenetspeech4ttsbackend_type=trtlog_dir=./log_benchmark_batch_size_${batch_size}_${split_name}_${backend_type}# 確保以下路徑變量已設(shè)置,或直接替換# F5_TTS_HF_DOWNLOAD_PATH=./F5-TTS (示例)# F5_TTS_TRT_LLM_ENGINE_PATH=./f5_trt_llm_engine (示例)# vocoder_trt_engine_path=vocos_vocoder.plan (示例)rm -r $log_dir 2>/dev/null# ln -s ... # 符號鏈接通常在 run.sh 中處理,按需創(chuàng)建torchrun --nproc_per_node=1 \\benchmark.py --output-dir $log_dir \\--batch-size $batch_size \\--enable-warmup \\--split-name $split_name \\--model-path $F5_TTS_HF_DOWNLOAD_PATH/$model/model_1200000.pt \\--vocab-file $F5_TTS_HF_DOWNLOAD_PATH/$model/vocab.txt \\--vocoder-trt-engine-path $vocoder_trt_engine_path \\--backend-type $backend_type \\--tllm-model-dir $F5_TTS_TRT_LLM_ENGINE_PATH || exit 1

Spark-TTS

詳細(xì)步驟請參考 Spark-TTS/runtime/triton_trtllm/README.md 和 run.sh 腳本。

1. 最簡部署 (Docker Compose):

docker compose up

2. 手動部署與服務(wù)啟動:使用 run.sh 腳本進(jìn)行分階段部署。

# 腳本參數(shù): [service_type]# service_type 可為 'streaming' 或 'offline',影響模型倉庫配置# 例如,執(zhí)行階段0到3,部署為 offline 服務(wù)bash run.sh 0 3 offline

此命令會執(zhí)行:

  • Stage 0:下載 Spark-TTS 模型。
  • Stage 1:轉(zhuǎn)換模型權(quán)重并構(gòu)建 TensorRT 引擎。
  • Stage 2:根據(jù)指定的 service_type (streaming/offline) 創(chuàng)建 Triton 模型倉庫。
  • Stage 3:啟動 Triton 推理服務(wù)器。

3. 測試服務(wù) (Client-Server 模式):服務(wù)啟動后,可使用客戶端腳本進(jìn)行測試。

  • gRPC 客戶端 (數(shù)據(jù)集 Benchmark):此命令對應(yīng) run.sh 中的 stage 4。

# 示例:測試 offline 模式,并發(fā)數(shù)為2# bash run.sh 4 4 offline# 其核心命令如下:num_task=2mode=offline # 或 streamingpython3 client_grpc.py \\    --server-addr localhost \\    --model-name spark_tts \\    --num-tasks $num_task \\    --mode $mode \\    --huggingface-dataset yuekai/seed_tts \\    --split-name wenetspeech4tts \\    --log-dir ./log_concurrent_tasks_${num_task}_${mode}

  • 單句測試客戶端: 此命令對應(yīng) run.sh 中的 stage 5。

  • Streaming 模式 (gRPC):

# bash run.sh 5 5 streaming# 其核心命令如下:python client_grpc.py \\    --server-addr localhost \\    --reference-audio ../../example/prompt_audio.wav \\    --reference-text $prompt_audio_transcript \\    --target-text $target_audio_text \\    --model-name spark_tts \\    --chunk-overlap-duration 0.1 \\    --mode streaming

  • Offline 模式 (HTTP):

# bash run.sh 5 5 offline# 其核心命令如下:python client_http.py \\    --reference-audio ../../example/prompt_audio.wav \\    --reference-text $prompt_audio_transcript \\    --target-text $target_audio_text \\    --model-name spark_tts

兼容 OpenAI 格式的 API

許多開源對話項目 (如 OpenWebUI)[4] 已支持 OpenAI 格式的 TTS API。為方便開發(fā)者集成,我們提供了兼容 OpenAI API 的服務(wù),用法如下:

git clone https://github.com/yuekaizhang/Triton-OpenAI-Speech.gitcd Triton-OpenAI-Speechdocker compose upcurl $OPENAI_API_BASE/audio/speech \\    -H "Content-Type: application/json" \\    -d '{    "model": "spark_tts",    "input": $target_audio_text,    "voice": "leijun",    "response_format": "pcm"    }' | \\sox -t raw -r 16000 -e signed-integer -b 16 -c 1 - output3_from_pcm.wav

總結(jié)

無論是 F5-TTS 或是 Spark-TTS,都可以看到 NVIDIA Triton 推理服務(wù)器和 TensorRT-LLM 框架可以大幅提升 TTS 模型的推理速度,也方便開發(fā)者進(jìn)行模型部署。我們將持續(xù)增加對更多語音多模態(tài)模型的部署支持。

除了 TTS,NVIDIA 技術(shù)團(tuán)隊也為多種社區(qū)流行的多模態(tài)模型開發(fā)了最佳實(shí)踐,詳細(xì)方案介紹以及教程,請參閱 mair-hub[5] 項目。

近期我們還將舉辦一場和該主題相關(guān)的在線研討會,歡迎大家報名參加,共同交流和探討。



活動地址:

https://scrm.nvidia.cn/mF/websiteEditorLandingPage/page/0050a3cc15a248489910cdf136d819ad?pushId=tnwrNs5X6CMJXbYNT4Fbwg1

引用鏈接

[1] F5-TTS:

https://github.com/SWivid/F5-TTS

[2] Spark-TTS:

https://github.com/SparkAudio/Spark-TTS

[3] WenetSpeech4TTS:

https://arxiv.org/abs/2406.05763

[4] OpenWebUI:

https://github.com/open-webui/open-webui

[5] mair-hub 項目:

https://github.com/nvidia-china-sae/mair-hub

作者



張悅鎧

張悅鎧是 NVIDIA 解決方案架構(gòu)師,碩士畢業(yè)于約翰霍普金斯大學(xué),導(dǎo)師為 Shinji Watanabe 教授,主要研究方向為語音識別。NVIDIA 中文語音識別解決方案主要開發(fā)者,對基于 GPU 的語音識別服務(wù)部署及優(yōu)化有豐富經(jīng)驗。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相關(guān)推薦
熱點(diǎn)推薦
大度!梅西被波爾圖球員穿襠后,反而微笑著與對方擁抱

大度!梅西被波爾圖球員穿襠后,反而微笑著與對方擁抱

雷速體育
2025-06-20 08:58:36
“抱歉,我家住在0.5環(huán)”,女孩曬滿墻獎狀質(zhì)問差生,卻自討沒趣

“抱歉,我家住在0.5環(huán)”,女孩曬滿墻獎狀質(zhì)問差生,卻自討沒趣

熙熙說教
2025-06-19 20:02:36
魔獸:孩子小學(xué)作業(yè):你的父親最擅長什么?魔獸世界!

魔獸:孩子小學(xué)作業(yè):你的父親最擅長什么?魔獸世界!

魔獸世界研究所
2025-06-17 19:56:27
特朗普同意參戰(zhàn),普京很無奈,伊朗向中方求援,英媒:中國出手了

特朗普同意參戰(zhàn),普京很無奈,伊朗向中方求援,英媒:中國出手了

文雅筆墨
2025-06-19 20:06:05
汪峰拋棄森林北,寧靜放棄小鮮肉!?

汪峰拋棄森林北,寧靜放棄小鮮肉!?

八卦瘋叔
2025-06-20 12:09:34
餐館無償為拾荒老人提供8年午餐,店快倒閉時,老人搬來一個箱子

餐館無償為拾荒老人提供8年午餐,店快倒閉時,老人搬來一個箱子

五元講堂
2025-06-18 15:02:24
李嘉誠再次給出神預(yù)測!不出5年,90%的家庭恐難逃這5大現(xiàn)實(shí)難題

李嘉誠再次給出神預(yù)測!不出5年,90%的家庭恐難逃這5大現(xiàn)實(shí)難題

詩詞中國
2025-06-18 13:14:10
突發(fā)!伊朗凌晨發(fā)射2噸高爆15馬赫導(dǎo)彈,結(jié)果下一刻遭遇恥辱一幕

突發(fā)!伊朗凌晨發(fā)射2噸高爆15馬赫導(dǎo)彈,結(jié)果下一刻遭遇恥辱一幕

暮云晨記
2025-06-20 06:35:03
伊朗戰(zhàn)火下的真相:一位在伊朗的中國人發(fā)聲,這些都別信!

伊朗戰(zhàn)火下的真相:一位在伊朗的中國人發(fā)聲,這些都別信!

科學(xué)傭人
2025-06-19 06:08:06
長途自駕游思路打開了!給愛車買張“火車票”目的地見

長途自駕游思路打開了!給愛車買張“火車票”目的地見

北青網(wǎng)-北京青年報
2025-06-19 07:31:08
李連杰的名字沒了,《鏢人》爭議不斷,吳京400億票房夢要碎了

李連杰的名字沒了,《鏢人》爭議不斷,吳京400億票房夢要碎了

影視高原說
2025-06-19 07:55:34
“劃清界限”,越南通報全球

“劃清界限”,越南通報全球

小陸搞笑日常
2025-06-20 05:09:00
特朗普威脅出兵,不到24小時,中方亮明態(tài)度,伊朗拒絕任何談判

特朗普威脅出兵,不到24小時,中方亮明態(tài)度,伊朗拒絕任何談判

掌青說歷史
2025-06-19 15:43:47
國足迎來降薪,徐亮直播間鳴不平,如果降薪自己將去國外打球!

國足迎來降薪,徐亮直播間鳴不平,如果降薪自己將去國外打球!

史書無明
2025-06-19 22:13:01
總決賽歷史第20次搶七!上一次就在9年前的今天...

總決賽歷史第20次搶七!上一次就在9年前的今天...

直播吧
2025-06-20 11:19:16
0.00000005克可致命!400克殺死全人類!浙江有醫(yī)院1個月接診90人

0.00000005克可致命!400克殺死全人類!浙江有醫(yī)院1個月接診90人

FM93浙江交通之聲
2025-06-19 22:21:23
勁爆!特斯拉甩出單顆2500TOPS王炸芯片!比上一代直接翻了5倍!小鵬3顆芯片2200TOPS算力又落后了?

勁爆!特斯拉甩出單顆2500TOPS王炸芯片!比上一代直接翻了5倍!小鵬3顆芯片2200TOPS算力又落后了?

大白聊IT
2025-06-20 12:12:26
步行者3-3雷霆!賽后聽聽各界媒體專家怎么說,不靠哨子要飯

步行者3-3雷霆!賽后聽聽各界媒體專家怎么說,不靠哨子要飯

二月侃事
2025-06-20 13:33:10
“男怕夏至,女怕冬至”,明日夏至,提醒男人:4事不做,3物不吃

“男怕夏至,女怕冬至”,明日夏至,提醒男人:4事不做,3物不吃

神牛
2025-06-20 06:43:00
62歲韋唯現(xiàn)狀:車禍脊柱斷裂,前夫去世,三個混血孩子已回國

62歲韋唯現(xiàn)狀:車禍脊柱斷裂,前夫去世,三個混血孩子已回國

深析古今
2025-06-19 17:17:30
2025-06-20 16:15:00
NVIDIA英偉達(dá)中國 incentive-icons
NVIDIA英偉達(dá)中國
英偉達(dá)(中國)官方賬號
3098文章數(shù) 1379關(guān)注度
往期回顧 全部

科技要聞

余承東:HarmonyOS 6啟動開發(fā)者Beta

頭條要聞

伊朗10名核科學(xué)家被"特殊武器"暗殺 以高官披露細(xì)節(jié)

頭條要聞

伊朗10名核科學(xué)家被"特殊武器"暗殺 以高官披露細(xì)節(jié)

體育要聞

印城最穩(wěn)之人!西卡雙手隔扣杰威霸氣側(cè)漏

娛樂要聞

“小鞏俐”周顯欣,如今49歲模樣大變

財經(jīng)要聞

寶能汽車接盤威馬?“正交接資產(chǎn)”

汽車要聞

五項訂車禮/四款車型 一汽奧迪A5L正式開啟預(yù)售

態(tài)度原創(chuàng)

藝術(shù)
家居
數(shù)碼
房產(chǎn)
軍事航空

藝術(shù)要聞

故宮珍藏的墨跡《十七帖》,比拓本更精良,這才是地道的魏晉寫法

家居要聞

山水之間 墨染風(fēng)雨云間

數(shù)碼要聞

自研玄戒O1芯片加持!小米平板7S Pro 12.5英寸圖賞

房產(chǎn)要聞

坑慘2000多人!恒大財富海南高管被曝非吸12.6億元!

軍事要聞

以方:有能力摧毀伊朗所有核設(shè)施

無障礙瀏覽 進(jìn)入關(guān)懷版 主站蜘蛛池模板: 仁寿县| 甘孜| 洱源县| 乌鲁木齐市| 五华县| 莱阳市| 台湾省| 墨江| 南岸区| 松桃| 鄯善县| 波密县| 沙田区| 屏东县| 吴忠市| 无极县| 平定县| 康平县| 肃宁县| 洛浦县| 璧山县| 阳江市| 宝丰县| 穆棱市| 沧州市| 桃园市| 武汉市| 溧水县| 大厂| 曲阜市| 洛阳市| 于田县| 来凤县| 怀宁县| 南投市| 莱阳市| 台北市| 长岛县| 山丹县| 卢氏县| 新河县|