成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

騰訊語音合成技術:模型優化與推理加速實踐

人工智能
隨著人工智能技術的不斷進步,語音合成技術在游戲和娛樂領域扮演著越來越重要的角色。本次分享題目為“騰訊游戲知幾語音合成大模型推理加速實踐”,主要介紹騰訊在語音合成領域的產品展示、模型結構分析、推理加速方案以及未來展望。

一、背景-產品展示

首先,讓我們來看一下騰訊自研的知音語音大模型在語音合成領域的應用展示。該模型能夠提供更自然、韻律豐富且實時性更強的語音合成體驗。其兩大顯著優點如下:

  • 聲音復刻:僅需 10 秒音頻即可完成聲音復刻。
  • 實時性能:通過加速優化,其實時率約為 0.085。

圖片

我們的產品主要分為三種形態:

  • 文本問答:
    輸入方式:玩家通過文本輸入問題或指令。
    輸出方式:系統利用人工智能技術處理后,返回相應的文本回答。
  • 語音交互:
    輸入方式:玩家通過語音與 AI 語音助手進行交流。
    輸出方式:系統經過 AI 處理后,以語音形式回應玩家。
  • 多模態 NPC(非玩家角色):
    輸入方式:玩家可以通過文本或語音與 NPC 進行互動。
    輸出方式:系統經過 AI 處理后,NPC 可以返回文本、語音、肢體動作、面部表情和口型動作等多種形式的數據,提供更加豐富和自然的交互體驗。

這三種產品形態分別涵蓋了文本、語音以及多模態交互,旨在為用戶提供多樣化且高度沉浸式的互動體驗。

二、模型結構選型與分析

接下來,我將詳細講解我們語音合成模型的結構選型和分析。傳統的語音合成方案通常包括以下步驟:

  • 輸入文本。
  • 通過聲學模型生成梅爾譜圖(Mel-spectrogram)。
  • 通過聲碼器(Vocoder)將梅爾譜圖轉換為語音。

然而,這種傳統方案存在一個顯著缺點:需要大量的訓練語料。在游戲場景中,例如 NPC(非玩家角色),往往難以獲取如此大量的訓練數據。因此,我們的研究方向轉向了基于語言模型的解決方案。

1. 語音合成大模型結構

新方案的主要流程如下:

  • 輸入文本:
    輸入一段文本。
  • Tokenization:
    對輸入文本和需要克隆的語音分別進行 Token 化處理,生成文本 Token 和語音 Token。
  • 連接與編碼:
    將文本 Token 和語音 Token 連接在一起。
    通過旋轉位置編碼(Rotary Position Encoding)對文本和音頻分別進行編碼,生成最終的嵌入向量(Embedding)。
  • 自回歸模型(AR Model):
    將嵌入向量輸入到 AR 模型中,逐步生成第一層音素 Token。
    AR 模型的結構與傳統的自然語言處理大模型(如 GPT 類模型)類似,采用 Transformer 架構。
  • 非自回歸模型(NAR Model):
    將 AR 模型生成的音素 Token 輸入到 NAR 模型中,生成所有語音 Token。
    Codec Decoder:
    最后,通過 Codec Decoder 將語音 Token 轉換為最終的語音輸出。

圖片

2. 面臨的挑戰

高并發場景的挑戰:在高并發環境下,模型需要高效處理大量請求。

實時率要求:特別是在游戲場景中,需要實時處理語音并觸達玩家,對實時率的要求非常高。

針對上述挑戰,第三部分我們將詳細介紹模型推理的加速方案,以提高系統的并發處理能力和實時性能。

三、模型推理加速方案

在選擇加速方案時,我們首先考慮借鑒自然語言處理(NLP)領域的一些成熟加速方法,并將其應用到語音合成大模型上。在 NLP 領域的大模型中,已經有許多成熟的推理加速方法,這些方法可以分為工程上的優化(KV Cache,prefix KV Cache,flash attention,flash decode和page attention)和偏算法上的優化(投機采樣,int4/int8 量化等)。這給我們帶來了非常多的啟發。

1. KV Cache

為了將 KV Cache 技術應用于語音合成大模型,我們需要確保 Attention Mask 的設計滿足特定條件。這些條件使得 KV Cache 能夠有效地緩存之前的計算結果,從而減少冗余計算并提高推理速度。

(1)使用 KV Cache 的條件

  •  Attention 輸出的第 n 行只與第 n 個 Query (Q)相關:這意味著每個 Token 的輸出只依賴于當前 Token 的 Query 和之前所有 Token 的 Key (K) 和 Value (V)。
  • 第 1 到第 n 個 Token 的 Attention 計算包含第 1 到第 n-1 個 Token 的Attention 計算:這意味著每次計算新的 Token 時,可以復用之前 Token 的 K 和 V 值,而不需要重新計算。
  • 每次 Attention 的計算都使用前面的 K 和 V:每次生成新的 Token 時,只需計算新 Token 的 K 和 V 值,并結合之前緩存的 K 和 V 值進行計算。


圖片

(2)語音 AR 模型中的 Attention Mask 設計

在語音自回歸(AR)模型中,Attention Mask 的設計通常滿足上述條件,因此可以有效地使用 KV Cache。注意力掩碼(attention_mask)和掩碼后的 QK 矩陣(Mask(QK))的變化過程:左側展示了一個注意力掩碼的例子,其中每個元素表示對應位置的 token 是否參與注意力計算。中間展示了掩碼后的 Q*K 矩陣,其中非零元素表示有效的注意力權重。當生成第 n 個 token 時,注意力掩碼會發生相應的變化,新的 token 會被加入到掩碼中。右側展示了更新后的注意力掩碼和相應的掩碼后的 Q*K 矩陣。

通過這種方式,每次生成新 token 時,只需要計算新增的部分,而不需要重新計算整個序列的注意力權重,從而大大減少了計算量,提高了推理速度。

圖片

2. GQA

在預填充(Prefill)階段,計算瓶頸是主要的限制因素。這一階段通常涉及大量的并行計算,特別是在處理初始輸入時,模型需要對整個序列進行編碼,生成所有 Token 的 Key (K) 和 Value (V) 值。這種大規模的計算需求使得計算資源成為主要瓶頸。

而在解碼(Decode)階段,內存訪問瓶頸則成為主導。在解碼過程中,模型逐步生成新的 Token,并且每次生成新 Token 時都需要訪問之前生成的所有 Token 的 K 和 V 值。頻繁的內存訪問導致了較高的延遲,使得內存帶寬成為主要的性能瓶頸。

圖片

相比于使用 KV Cache、INT8/FP8 量化等方法,選擇組量化注意力(Grouped Query Attention, GQA)可以提供更可控的壓縮率。GQA 通過將多個查詢頭(Query Heads)組合在一起,減少了模型中注意力頭的數量,從而降低了計算復雜度和內存訪問量。這種方法可以在保證模型效果的同時,顯著提高推理效率。

具體來說,通過將注意力頭數量從 16 減少到 4,我們不僅減少了模型的計算復雜度,還降低了內存訪問的需求。實驗結果顯示,這種優化可以使推理耗時降低  20%。這表明,GQA 是一種有效的手段,能夠在保持模型性能的同時,顯著提升推理速度。

圖片

3. BPE

在引入 KV Cache 機制后,AR 模型被劃分為兩個主要階段:預填充(Prefill)階段和解碼(Decode)階段。預填充階段負責初始化模型的狀態,并為后續的解碼過程準備必要的上下文信息;而解碼階段則基于這些上下文信息逐個生成音頻樣本或 token。對于生成一段時長為 10 秒的高質量音頻而言,采用傳統方法通常需要 AR 模型產生大約 500 個 token。

圖片

NLP 領域中廣泛采用字節對編碼(Byte Pair Encoding, BPE)技術來解決 OOV 問題。BPE 算法首先將輸入文本中的每個單詞拆分成單個字符序列,隨后通過統計分析找出出現頻率最高的字符對,并用一個新的復合符號代替這對字符。這一替換步驟會重復進行,直至達到預設的最大循環次數或滿足其他停止條件為止。這種方法有效地增加了詞典容量的同時,保持了相對較小的詞匯表大小,有助于提高模型訓練效率及泛化能力。

圖片

為了直接使用 NLP BPE,先將原始音頻數據轉換成一系列離散化的 audio token,然后將這些 token 與唯一的 Unicode 字符建立一一對應關系。這樣一來,每一個特定的 Unicode 字符實際上就編碼了一個或一組相關的音頻信號片段。這種做法不僅簡化了模型結構,還極大地提升了處理效率。實驗結果顯示,通過應用上述優化策略,合成相同長度即 10 秒鐘音頻所需的 token 數量可由原來的約 500 個減少至約 170 個左右,顯著降低了計算復雜度并加速了整個生成流程。

圖片

4. 連續性批處理

LLM 中優化吞吐主要有兩種方式:

樸素批處理:每個時間步(T1 到 T8)分別獨立地處理不同的句子(S1 到 S4),并且每個句子在達到結束標記(END)之前都會被單獨處理。

連續性批處理:試圖在同一時間步內同時處理多個句子,以實現更高的并行性和效率。例如,在第一個時間步(T1),四個句子(S1 到 S4)都被處理;隨后的時間步繼續處理這些句子直到它們各自完成。

這里可以直觀的看到兩種批處理方法的區別:

左上角圖表:顯示了樸素批處理的結果,每個時間步僅處理一個句子。

右上角圖表:顯示了樸素批處理的最終狀態,每個句子都在各自的結束點停止。

左下角圖表:顯示了連續性批處理的開始階段,所有句子在第一個時間步都被處理。

右下角圖表:顯示了連續性批處理的最終狀態,不同句子在不同的時間步完成。

圖片

在大型語音合成模型中,可以采用兩種不同的批處理(batching)策略。下面分別介紹了這兩種方案及其優缺點:

  • 訓練時采用的方案一

優點:當需要對文本和音頻特征進行類似嵌入(embedding, emb)的操作時,這種方案提供了更加簡潔直接的方法。它允許模型分別處理文本和音頻數據,從而簡化了特征處理流程。

缺點:在推理階段,尤其是在解碼過程中執行注意力機制計算時,必須為每次計算提供填充注意力掩碼(padding attention mask)。這增加了推理框架實現上的復雜性,因為需要額外處理這些掩碼以確保正確地忽略掉填充部分。

  • 推理時采用的方案二

優點:該方案簡化了注意力機制在推理過程中的應用,無需為每次計算單獨定義或傳遞填充注意力掩碼。因此,它可以無縫集成到現有的大規模語言模型(LLM)推理框架中,提高了易用性和效率。

缺點:然而,在面對需要同時處理文本和音頻特征的情況時,如進行嵌入操作,這種方法可能導致處理流程變得更為復雜。由于不能像方案一那樣直接分離處理,因此可能需要設計額外的邏輯來協調不同模態之間的交互,增加了系統的整體復雜度。

圖片

這里我們介紹一下結合騰訊 Trpc 微服務框架,在語音合成大模型中實踐 continuous batching 推理的過程。該框架旨在提升模型推理性能,降低延遲并提高資源利用率。

左側的架構圖介紹的是一個典型的分布式系統結構。其中,“master”進程作為主控節點,負責任務調度和管理。從“master”分支出來的“Dispatcher”進程用于接收用戶請求并將它們分配給各個工作進程組。工作進程組包含多個“Worker”進程,它們運行在 GPU 或 CPU 上,負責實際的模型推理任務。此外,還有一個“Task”進程,其內部有一個緩沖區(buffer),用于存儲待處理的任務。這些任務經過前處理后,進入模型推理階段,最后返回結果并進行后處理。

右側的流程圖詳細描述了具體的持續批量推理過程。首先,通過 rpc 框架請求隊列收集用戶請求,然后進行二次批量處理和優先級調整。接著,這些請求被送入 AR 模型進行連續性的推理。完成推理后,異步式地返回結果,并將其放入 NAR 隊列中等待進一步處理。最后,將處理好的結果發送回用戶端。

圖片

5. 推理加速效果

實時率從 2.09 優化到 0.085,吞吐可達到 1 秒 2500tokens。

圖片

四、未來展望

在未來的研究與開發中,我們計劃實施以下幾項關鍵舉措以進一步優化語音合成技術。

  • 引入投機采樣技術:我們將探索將投機采樣方法應用于大型語音合成模型的可能性。通過這種技術,可以在生成過程中提前預測并選擇最有可能的輸出路徑,從而加速音頻合成過程,并可能提高最終合成音頻的質量。
  • 改造非自回歸(NAR)模型為流式輸出架構:為了實現更低延遲和更高效的音頻生成,我們打算對現有的 NAR 模型進行調整,使其支持流式輸出模式。這樣,模型能夠一邊生成音頻數據一邊實時輸出,極大地提升了用戶體驗,特別是在需要即時響應的應用場景中。
  • 研究更多非 Transformer 網絡架構:雖然 Transformer 架構在許多方面表現優異,但我們認為探索其他類型的神經網絡結構同樣重要。這包括但不限于卷積神經網絡(CNN)、循環神經網絡(RNN)及其變體等。我們的目標是發現那些在特定任務上具有優勢且能提供更高效率或更好性能的新架構。
責任編輯:姜華 來源: DataFunTalk
相關推薦

2009-08-21 15:28:23

C#英文

2023-11-19 23:36:50

2020-09-03 11:22:35

音頻騰訊云AI

2022-12-05 07:17:14

人工智能語音合成

2023-01-05 09:33:37

視覺模型訓練

2023-01-06 11:05:36

人工智能作業幫語音技術

2022-12-09 09:52:47

AI深度學習

2023-01-31 15:27:13

數據治理數據管理

2022-05-22 22:26:54

模型編譯

2023-02-20 13:50:39

AI 領域建模大數據

2023-02-20 13:45:31

數據分析騰訊 Alluxio

2022-11-29 08:00:00

Soul智能語音人工智能

2024-08-27 09:35:47

2024-09-09 08:31:15

2023-10-10 09:45:35

自動駕駛技術

2024-10-21 16:41:17

2016-09-29 17:56:51

騰訊云微信智能語音

2020-10-14 10:01:47

零信任
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日本中文字幕在线视频 | 激情一区二区三区 | 国产精品污www一区二区三区 | 天天天久久久 | 免费人成激情视频在线观看冫 | 久久国产亚洲 | 成人午夜视频在线观看 | 福利影院在线看 | 九九热精品免费 | 91麻豆产精品久久久久久夏晴子 | 黄色毛片黄色毛片 | av黄色国产 | 日韩成人中文字幕 | 国产精品久久久久aaaa九色 | 日本天堂一区二区 | 欧美美女爱爱 | 成人在线视频网 | av乱码| 黄网站在线播放 | 日韩一区精品 | 国产精品免费看 | 国产一区二区三区在线 | 九九免费观看视频 | 美女久久| 少妇久久久| h视频在线播放 | 国产乱码精品一区二区三区中文 | 亚洲国产精品一区二区第一页 | 成人激情视频免费观看 | 黄网免费| 国产高清精品一区二区三区 | 午夜视频免费在线 | 欧美不卡视频 | 午夜免费在线电影 | 午夜久久久久久久久久一区二区 | 亚洲网在线 | 日韩精品在线免费观看视频 | 免费观看一级特黄欧美大片 | 艹逼网| 亚洲免费精品 | 色网在线看|