游乐游手机版
首页/AI热点日报/热点详情

腾讯语音合成技术模型优化与推理加速实践

类型:热点整理2026-06-28
导读 随着人工智能技术的持续进步,语音合成在游戏与娱乐领域的重要性日益凸显。本次分享的主题是“腾讯游戏知几语音合成大模型推理加速实践”,重点涵盖腾讯在语音合成方面的产品展示、模型结构选型、推理加速方案以及未来的方向思考。先通过一段产品演示,直观感受一下真实效果。 今天的分享主要从以下四个方面展开:

导读 随着人工智能技术的持续进步,语音合成在游戏与娱乐领域的重要性日益凸显。本次分享的主题是“腾讯游戏知几语音合成大模型推理加速实践”,重点涵盖腾讯在语音合成方面的产品展示、模型结构选型、推理加速方案以及未来的方向思考。先通过一段产品演示,直观感受一下真实效果。

腾讯语音合成技术:模型优化与推理加速实践

今天的分享主要从以下四个方面展开:

  • 背景与产品展示
  • 模型结构选型与分析
  • 模型推理加速方案
  • 未来展望

01 背景-产品展示

我们先来看腾讯自研的知音语音大模型在语音合成领域的实际表现。该模型能够提供更加自然、韵律丰富且实时性更强的语音合成体验。它有两个尤为突出的优点:

  • 声音复刻:仅需10秒音频即可完成声音复刻,快速还原音色。
  • 实时性能:经过深度加速优化后,实时率大约为0.085,响应极快。

目前我们的产品包含三种形态:

  • 文本问答:玩家通过文本输入问题或指令,系统返回文本回答,实现高效信息交互。
  • 语音交互:玩家直接通过语音与AI语音助手交流,系统以语音形式实时回应,更贴近自然对话。
  • 多模态NPC:玩家可使用文本或语音与NPC互动,系统同步返回文本、语音、肢体动作、面部表情和口型等多种数据,打造丰富立体的沉浸式交互体验。

这三种形态全面覆盖文本、语音及多模态交互,目标是为用户提供多样化、高度沉浸的互动感受。

02 模型结构选型与分析

接下来,详细拆解语音合成模型的结构选型及分析思路。传统的语音合成方案通常是:输入文本 → 通过声学模型生成梅尔谱图 → 再通过声码器将梅尔谱图转换为语音。

但传统方案存在明显短板:需要大量的训练语料。在游戏场景中,特别是NPC角色,很难收集到充足的高质量训练数据。因此,我们的研究转向了基于语言模型的方案。

1. 语音合成大模型结构

新方案的主要流程如下:

  • 输入一段文本。
  • 对输入文本和需要克隆的语音分别进行Token化处理,生成文本Token与语音Token。
  • 将文本Token和语音Token拼接在一起,通过旋转位置编码对文本和音频分别编码,得到最终的嵌入向量。
  • 嵌入向量送入自回归模型(AR Model),逐步生成第一层音素Token。AR模型的结构与传统NLP大模型(如GPT系列)类似,采用Transformer架构。
  • 将AR模型生成的音素Token输入到非自回归模型(NAR Model)中,一次性生成所有语音Token。
  • 最后通过Codec Decoder将语音Token转换为最终的语音输出。

2. 面临的挑战

在高并发场景下,模型需要高效处理大量请求。尤其是游戏场景对实时率要求极高,必须实时处理语音并立即触达玩家。针对这些挑战,第三部分将重点介绍模型推理的加速方案,以提升并发处理能力和实时性能。

03 模型推理加速方案

在选择加速方案时,我们首先考虑借鉴NLP领域中已经比较成熟的加速方法,然后将其应用于语音合成大模型。NLP大模型中有不少成熟的推理加速技术,比如工程上的优化(KV Cache、Prefix KV Cache、Flash Attention、Flash Decode、Page Attention),以及偏算法上的优化(投机采样、Int4/Int8量化等)。这些给我们带来了很多启发。

1. KV Cache

要将KV Cache技术应用于语音合成大模型,需要确保Attention Mask的设计满足特定条件,这样KVCache才能有效缓存之前的计算结果,减少冗余计算,提升推理速度。

(1)使用KV Cache的条件

  • Attention输出的第n行只与第n个Query相关:每个Token的输出仅依赖当前Token的Query以及之前所有Token的Key和Value。
  • 第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设计

在语音自回归模型中,Attention Mask的设计通常满足上述条件,因此可以高效地使用KVCache。通过这种方式,每次生成新Token时,只需计算新增的部分,无需重新计算整个序列的注意力权重,计算量大幅减少,推理速度显著提升。

2. GQA

在预填充(Prefill)阶段,计算瓶颈是主要限制因素,因为需要对整个序列进行编码,生成所有Token的K和V值。而在解码(Decode)阶段,内存访问瓶颈成为主导,每次生成新Token都需要访问之前所有Token的K和V值,频繁的内存访问导致高延迟。

相比使用KV Cache、INT8/FP8量化等方法,选择组查询注意力(Grouped Query Attention, GQA)能提供更可控的压缩率。GQA通过将多个查询头组合在一起,减少了模型中注意力头的数量,从而降低了计算复杂度和内存访问量。实验表明,将注意力头数量从16减少到4,推理耗时可以降低20%。这种方法在保持模型效果的同时,显著提升了推理速度。

3. BPE

引入KV Cache机制后,AR模型被分为预填充阶段和解码阶段。预填充阶段初始化模型状态并准备上下文,解码阶段逐个生成音频样本或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中优化吞吐主要有两种方式:

  • 朴素批处理:每个时间步独立处理不同句子,每个句子达到结束标记才停止。
  • 连续性批处理:同一时间步同时处理多个句子,实现更高的并行性和效率。

这里可以直观看到两种批处理方法的区别。在大型语音合成模型中,可以采用两种不同的批处理策略。

训练时采用的方案一:优点是对文本和音频特征进行嵌入操作时更简洁直接;缺点是在推理阶段,尤其是解码过程中执行注意力计算时,必须提供填充注意力掩码,增加了推理框架实现的复杂性。

推理时采用的方案二:优点是简化了注意力机制在推理中的应用,无需单独定义填充注意力掩码,可以无缝集成到现有LLM推理框架中;缺点是在同时处理文本和音频特征时,处理流程更复杂,需要额外逻辑协调模态交互。

结合腾讯Trpc微服务框架,我们在语音合成大模型中实践了continuous batching推理过程,从而提升模型推理性能,降低延迟,提高资源利用率。具体架构中,master进程作为主控节点,Dispatcher接收用户请求并分配给工作进程组,Worker进程负责实际模型推理,Task进程内部有缓冲区存储待处理任务。请求通过RPC框架收集,经过二次批量处理和优先级调整,送入AR模型进行连续性推理,完成后异步返回结果并放入NAR队列,最后发送给用户。

5. 推理加速效果

通过以上一系列优化,实时率从2.09优化到0.085,吞吐量可以达到每秒2500 tokens。

04 未来展望

在未来的研发中,我们计划实施以下几项关键举措:

  • 引入投机采样技术:探索将投机采样应用于大型语音合成模型,在生成过程中提前预测最可能输出路径,从而加速音频合成并可能提升质量。
  • 改造非自回归(NAR)模型为流式输出架构:让模型一边生成音频数据一边实时输出,显著降低延迟,提升用户体验,尤其适合需要即时响应的场景。
  • 研究更多非Transformer网络架构:除了Transformer,还会探索CNN、RNN及其变体等,寻找在特定任务上效率更高或性能更好的新架构。
来源:https://www.53ai.com/news/LargeLanguageModel/2024120467120.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。