- 1、本文档共53页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
大模型推理框架升级之路
肖彬
DataFunSummit#2024
我们将从四个优化专项介绍如何优化大模型推理框架性能量化
投机采样
TTFT与TPOT的优化通信优化
01
量化
量化作为大模型最重要的性能优化手段,能有效降低显存占用,降低访存量,充分利用计算资源以下是大模型计算流程:
Weight-int8+KV_cache_int8
最早上线的一个版本,显著降低显存占用,使得模型使用较少卡启动,增大服务承载能力,降低成本50%weight跟kvcache在推理框架占用显存为大头,优先优化能有效降低成本
Activationint8
A8是在w8/kv8基础上对gemm相关计算的输入激活进行量化,能有效降低gemm运算耗时,首token耗时下降50%,成本下降15%
Weight-int4+kv_cache-int4
Int4主要目标是将显存占用压至更低,能在低端卡型上部署并支持更长的序列,支持更大的batch,成本下降30%使用了类似quorat的技术,并结合marlin算子,针对性做了优化,已在多个业务落地,后续可能会有论文输出
Communicationint8
通信量化,降低低端卡通信耗时开销,首token耗时下降30%后续会有论文产出
AttentionQKVint8
将gemm计算全线转为int8计算
Q(int8)*K(int8)-softmax-V(int8)目前处于开发中
02
投机采样
投机采样就是利用decode过程算力冗余
使用额外的技术生成多个候选token同时输送给大模型并行验证,充分使用算力且不会增加额外太多的时延
1(大模型输出的最后一个token)+4(候选token)-一次验证通过4个token需要考虑云端大batch下候选token数量限制
Clover模型结构设计路线/abs/2405.00263
使用transformerblock前几层信息预测效果不好
尝试获取全局的信息
而不是仅仅当前预测token的信息
尝试attention结构
qk之争,h表示全局信息,不断吸收token_emb效果不错
单独建一层可学习的transformerblock收集全局信息
提升不错
尝试使用前置候选token信息
辅助后续token预测
通过ht+1=concat(token_emb,ht)效果提升有限
Sample策略
我们的目标是大batch场景下投机有效,要求的候选token仅仅为4,此时sample策略就影响很大了
开源的都是固定组合的形式,如head0top1+head1top1+head2top1,head0top2+head1top1+head2top1
动态构建候选token树,较为激进的贪心搜索策略
核心策略:
1.单token级别(保证树深度)
1.prob先进行topp丢弃
2.按照top1/4长尾小概率丢弃2.tokentree级别(子节点排序依据)
1.从根节点的联合概率排序
3.每层token预算数量(保证树最大宽度,防止计算量激增)1.去除所有父节点token数
Clover收益
命中率上提升50%+,端到端推理速度提升30%+
Clover2模型结构升级/abs/2408.00264
1.loss优化
仅仅根据CrossEntropyLoss预测token偏序关系,训练多轮,过拟合会出现对一些高频token增强概率的情况
增加数据蒸馏loss使得clover能更加关注与主模型的一致性上,而不是走捷径
2.主模型预测token信息前置,提前加入transformerblock,帮助更远的预测
Clover2模型结构升级
3.Regressiveattentionblockoutputprojector结构提升后几个head预测能力
4.增加AugmentingBlock层数,增强全局信息提取能力
AugmentingBlock位于第一个head之前只会跑一次,增加层数不会导致跑多次的问题,eagle增加层就会导致每个head都多跑,耗时会暴增
这为clover提供更多可能,可以设计更加复杂的AugmentingBlock,我们尝试最简单的加层获取收益
Clover2收益
clover为rnn为主的架构,但仍然能打败eagle这种以decodelayer为主的模型结构在各个数据集上都超过eagle
命中率最大提升7.7%,端到端推理速度最大提升9.3%
03
TTFTTPOT优化
首token耗时与decode每个token间耗时的平衡
驱动来源于用户体验上优化,当一个
文档评论(0)