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