肖彬:大模型推理框架升级之路.docx

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

大模型推理框架升级之路

肖彬

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)

哈哈 + 关注
实名认证
内容提供者

嗨,朋友,我都会用最可爱的语言和最实用的内容,帮助你更好地理解和应对职场中的各种挑战!

1亿VIP精品文档

相关文档