关于nlp:搜索语义模型的大规模量化实践
作者 | 把酒问青天 导读 通过近几年的技术演进,语义模型在百度搜寻场景中被宽泛地利用,耗费了大量的GPU资源,模型压缩技术也随之失去大量钻研和实际。通过兼顾推理性能、业务成果和迭代效率的优化指标,咱们胜利地将INT8量化技术大面积地利用到了搜寻场景中,极大地提高了资源效力。此外,目前大模型正在被钻研和利用,算力资源曾经成为瓶颈,如何以更低的老本进行落地是一个十分热点的问题。基于对模型压缩技术的实际和积攒,咱们可能更好地助力大模型的摸索和利用。 全文6287字,预计浏览工夫16分钟。 01 搜寻语义模型现状ERNIE: Enhanced Representation through Knowledge Integration是百度在2019年4月的时候,基于BERT模型做的进一步优化,在中文的NLP工作上失去了state-of-the-art的后果。 近年来,ERNIE 1.0/2.0/3.0等语义模型在搜寻各个重点业务场景下失去了广泛应用,包含相关性、排序等多个子方向,耗费了大量GPU资源。每个业务方向个别由多个模型组成链路来实现最终计算,整体搜寻业务所波及的模型数量多、迭代快。目前,线上全流量模型超过几百个,月级迭代近百次。语义模型的大量利用对搜寻产生了微小影响,相干业务指标对模型精度的变动十分敏感。总的来说,在模型压缩技术的工程实际中,推理性能、业务指标和迭代效率三者的优化指标该当对立思考: 1、推理性能:采纳INT8量化,ERNIE模型的性能减速均匀达25%以上。其次要影响因素蕴含输出数据量大小(batch size、sequence length等)、暗藏节点数、非标准网络结构与算子交融优化。 2、业务指标:以某相关性场景下的ERNIE模型为例,模型输入在数值上的diff率不超过1%,在离线测试集上的评估指标达到简直无损。 3、迭代效率:离线量化达小时级,流水线式疾速产出量化模型,不阻塞模型全生命周期的相干环节(如模型多版本迭代、小流量试验、全量化推全等)。 02 模型量化简述简而言之,模型量化就是将高精度存储(运算)转换为低精度存储(运算)的一种模型压缩技术。劣势如下: 更少的存储开销与带宽需要:如每层权重量化后,32位比特压缩到8比特甚至更低比特,模型占用空间变小;内存拜访带宽的压力天然也会变小。更快的计算速度:单位工夫内执行整型计算指令比浮点计算指令更多;另,英伟达安培架构芯片还有专用INT8 Tensor core。如果咱们从不同的技术角度来对待它,那么: 从映射函数是否是线性,分为线性和非线性。非线性量化计算较为简单,个别次要钻研线性量化,其公式如下: Q = clip(round(R/S) + Z),其中R: high precision float number,Q:quantized integer number,s:scale,z:zero point。 从零点对应地位辨别,线性量化又分为对称和非对称。 △1:对称与非对称量化 以矩阵乘为例,计算公式如下: = = = ( − ) ( − ) = − − + 在理论利用中,两者精度差别不大,对称量化在推理上更容易实现、计算更快。 从量化粒度上,分为逐层量化、逐组量化和逐通道量化。第一种在推理上最易实现,性能更好,个别利用在输出矩阵。第二和第三种在推理上难实现,但业务精度好,个别利用在权重矩阵。从浮点矩阵中统计最大值是否截断上,分为饱和量化和非饱和量化。个别权重采纳非饱和量化;输出/输入矩阵数据分布不平均,采纳饱和量化。从是否参加训练上,分为训练后量化(Post-Traning Quantization,PTQ)和量化感知训练(Quantization Aware Training, QAT)。从实际上看,前者性价比最高,在精度损失可承受范畴内可能疾速产出量化后模型,并取得不错的性能减速;后者须要联合训练来看,往往是在PTQ造成精度损失过大时采取的进一步伎俩。 △图2:PTQ与QAT流程 从是否在推理中动静生成尺度因子,分为在线(动静)量化和离线(动态)量化。在线量化须要在推理过程中依据理论激活计算量化参数,会影响推理速度。03 训练后量化结合实际的利用场景,咱们率先对训练后INT8量化技术进行了粗疏钻研和大规模实际。本文中波及到的硬件测试环境为GPU A10,CUDA 11.2,TensorRT8,工具链包含PaddlePaddle、PaddleInference、PaddleSlim等。 3.1 量化损失的精细化剖析低精度示意空间远远小于高精度示意空间,无论采纳何种校准办法和校准数据,量化肯定会带来不同水平上的数值误差。为了尽可能的减小误差、不影响模型业务指标,那么误差的起源和解决方案该当被全面粗疏地探索与剖析。比方,哪些算子适宜量化,每个算子量化后带来的端到端误差如何掂量,是否将误差较大的局部算子不作量化等问题。 ...