腾讯游戏知几语音合成大模型
推理加速方案
背景介绍
语音合成模型结构分析
语音合成模型推理思路
未来展望
01
背景介绍
背景-产品展示
01、王者荣耀小妲己“游戏知识问答” 02、和平第五人的『AI语音助手』
03、天涯明月刀『绝智阿暖』智能NPC
范闲 老头 云悠悠 英语男 英语女
原音
CFer你好呀!喜欢姐姐的AK四七吗?
不喜欢的话还有M四A一和AN九四哦.
姐姐的ASMR你受得了吗?I love
you my sweetheart~
你在开什么玩笑?我才不会上
当 呢。
背景-产品展示
TTS:更自然、韵律丰富、更实时
• 采用LM方案 -- 自研知音语音大模型
• 10s音频完成声音复刻
• 通过加速优化,实时率~0085.
Audio Decoder
Language Model
Text Encoder Audio Encoder
喜欢我在你耳边
说话的感觉吗?
02
模型结构选型与分析
输入文本
声学模型
FastSpeech/Tacotron
声码器
hifigan/wavernn
传统方案 基于语言模型的新方案
语音合成大模型结构
输入文本
LM
Model
12 43 … 9
Semantic Token |
Acoustic Token �st
12 43 … 9
LM Model/
NAR Model
12 43 … 9
…71 21 68
16 52 … 3
…
Acoustic
Token
12 43 … 9
…71 21 68
16 52 … 3
… Codec Decoder
语音合成大模型结构
面临的挑战:
1.高并发场景
2.实时率问题
03
模型推理加速方案
推理加速方案-借鉴与选择
是否能将NLP领域的LLM 推理加速方法应用到语音合成大模型上?
• kv cache
• flash decode
• prefix kv cache
• flash attention
• 投机采样
• Int4/int8 量化• page attention
• …….
LLM 中的kv cache:
推理加速方案-kv cache
Step 2,without kv cache:
Step 1:
Step 2,with kv cache:
推理加速方案-kv cache
当attention mask使得attention的计算满足以下条件时,就能使用kv cache
• attention output的第n行只与第n个q相关
• 第1~n个token的attention的计算包含第1~n-1个token的attention计算
• 每次attention的计算都用前面k和v
语音ar模型中 attention mask与attention 计算满足kv cache的使用
生成第n
个token
attention_mask
attention_mask Mask(Q*K)
Mask(Q*K)
推理加速方案-kv cache
对于prefill阶段来说是典型的计算受限场景,计算的瓶颈占据主导。而到了decode 阶段,就是典型
的访存受限场景,访存的瓶颈占据主导
推理加速方案-GQA
相比 kv cache int8/fp8 等量化方式, 选择GQA压缩率更可控,可以在保证效果的同时,
选择更少的head num
将head num从16减少到4 ,推理耗时降低20%
推理加速方案-GQA
有了kv cache后,语音合成模型中AR模型也分为prefill阶段和decode阶段,
合成10秒的音频需要AR模型生成500个token
同样的音频时长,
如何减少token生
成的数量?
推理加速方案-BPE
在NLP中,采用类似BPE子词算法进行分词防止OOV问题
BPE首先将词分成单个字符,然后依次用另一个字符替换频率最高的一对字符,直到
循 环次数结束
推理加速方案-BPE
10s音频需生成token数从500个
token下降到约170个token
在语音合成大模型中,将BPE算法应用在推理加速上,一次AR模型decode
出一个BPE的code,对应多个audio token
为了能直接使用NLP BPE,将audio token先映射到唯一的unicode 上,每
一个字符对应一个audio code。
推理加速方案-BPE
方案二:
在语音合成大模型中batch的两种方法
方案一:
推理加速方案-批处理
推理使用方案二:
优点:在类似emb的算子需要分别对
text和audio 特征做处理时更简单
缺点:推理的decode阶段attention
计 算 需 要 每 次 传 入 padding
attention mask,在推理框架中比较
复杂
优点:attention推理计算,不需要自
定义 padding attention mask,可 无
缝使用LLM推理框架
缺点:在类似emb的算子需要分
别对text和audio 特征做处理时
更复杂
推理加速方案-批处理
在语音合成大模型中batch的两种方法
训练使用方案一:
朴素批处理:
连续性批处理:
推理加速方案-连续性批处理
结合腾讯Trpc微服务框架,在语音合成大模型中实践
continuous batching推理
推理加速方案-连续性批处理
语音合成大模型无压力的实时率从优化到,吞吐可达到1秒
2500token
推理加速方案-效果
将投机采样应用到语音合成大模型中
将NAR模型改造成流式输出结构
尝试更多非transformer的网络架构
未来规划
D
THANKS