尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

【大模型】大模型的量化

【大模型】大模型的量化 1 模型压缩概述尽管千亿、万亿参数级别的大模型展现出惊人的能力但其部署和应用面临巨大瓶颈硬件限制动辄需要数百GB显存远超绝大多数消费级和企业级显卡的容量。模型参数量显存需求使用AdamW现实所需硬件1B20GBRTX 4090 24GB7B112~140GB双卡 A100 80G13B208~260GB四卡 A100 80G/H100 80G70B1120~1140GB八卡 A100 80G/H100 80G推理延迟参数量的巨大导致每次推理都需要巨大的计算量使得响应速度慢难以满足实时应用如对话、翻译的需求。模型参数量精度硬件Time To First Token7BFP16A100 80G50 ~ 200 ms7BINT4RTX 4090 24GB100 ~ 300 ms13BFP16A100 80G100 ~ 400 ms70B1120~1140GBA100 80G500 ~ 2000 ms能耗与成本运行大模型需要昂贵的GPU服务器和大量的电力成本极高难以规模化应用。无法端侧部署手机、物联网设备等边缘设备的计算资源和内存极其有限无法直接运行大模型。对于一些较大的模型往往需要通过一些模型压缩的技术使其能满足不同计算硬件的要求。常见的模型压缩方法有量化剪枝和蒸馏。 在实际应用中这些技术常常被组合使用从而最大程度地在保持性能的同时缩小模型体积、提升推理速度。2 模型量化模型量化是一种用于减少神经网络模型大小和计算量的技术将模型参数如权重从高精度数据类型如float32转换为低精度数据类型如int8 或 int4。模型量化通过以更少的位数表示数据可以减少模型尺寸进而减少在推理时的内存消耗并且在一些低精度运算较快的处理器上可以增加推理速度同时仍然可以保持模型的性能。量化的本质是一个映射过程将浮点数的范围[α,β][α, β][α,β]映射到整数的范围[qmin,qmax][q_{min,} q_{max}][qmin,​qmax​]。常用的量化方法包括 对称量化 symmetric quantization和 非对称量化 asymmetric quantization它们都是线性映射linear mapping的不同形式。对称量化的核心思想是将浮点数量化为整数且量化后的分布是关于零对称的。计算 ScaleScale∣Rmax∣Qmax Scale \frac{|R_{max}|}{Q_{max}}ScaleQmax​∣Rmax​∣​量化和反量化公式QRound(RScale) Q \text{Round} \left( \frac{R}{\text{Scale}} \right)QRound(ScaleR​)QClip(Q,−127,127) Q \text{Clip}(Q, -127, 127)QClip(Q,−127,127)R′Q×Scale R Q \times \text{Scale}R′Q×Scale其中 $ R_{\text{max}}$ 为待量化数据的最大值$ Q_{\text{max}} $ 为量化后的最大值此处为 127Round 表示四舍五入Clip 表示截断到指定范围。非对称量化并不是以零为中心对称的。 它将浮点数范围中的最小值β和最大值α映射到量化范围quantized range的最小值和最大值充分利用量化后的整数范围。常用的量化方法bitsandbytes 一个专为深度学习模型量化优化设计的轻量级CUDA函数库用于降低大型语言模型LLM的内存占用和计算成本支持8位和4位量化技术。GPTQ一种高效的、逐层校准的 PTQ 方法。它通过对每一层的权重进行二次逼近最小化量化误差非常适合生成式大模型能在 INT4 精度下保持良好性能。QLoRA虽然不是纯粹的量化部署技术但它将 QAT 的思想用于高效微调。它将预训练模型量化为 4位然后通过可训练的低秩适配器进行微调实现了在单张消费级显卡上微调超大模型如 65B的突破。3 模型剪枝模型剪枝是一种模型优化技术可以使神经网络更小、计算效率更高。其核心思想是从训练好的模型中识别并删除冗余或不重要的参数权重或结构神经元。这个过程减少了模型的大小并能显著加快推理速度使其非常适合在内存和处理能力有限的边缘设备上部署。剪枝的流程是“剪枝-微调-评估-再剪枝”的循环过程如下图所示神经元重要性判别 评估网络中每一个神经元或者通道、注意力头等结构化组件对于模型最终输出的“重要性”或“贡献度”。得到一个所有神经元的重要性排名列表。去除神经元 根据上一步的评估结果移除最不重要的神经元。微调 使用原始的训练数据或部分数据对剪枝后的、更小的网络进行几个周期的训练。修复因剪枝而造成的模型性能精度下降。继续剪枝 如果还没有达到预设的目标例如参数减少50%或FLOPs减少40%或精度损失超过可接受阈值则返回步骤1开始下一轮迭代。如果已经达到了满意的压缩率和性能则结束流程。4 模型蒸馏模型蒸馏Model Distillation是一种将大型、复杂模型通常称为“教师模型”的知识转移到小型、简单模型通常称为“学生模型”的技术。其核心思想是通过模仿教师模型的输出使学生模型在保持较高性能的同时显著减少模型的大小和计算复杂度。准备教师模型在一个大型数据集上训练一个高性能、高容量的大模型如 BERT-Large, GPT-3。此模型已收敛性能优异。构建学生模型设计一个结构更小、参数更少的模型如 BERT-Tiny, DistilBERT。学生模型的架构可以与教师相同等比例缩小也可以完全不同。执行蒸馏训练对于同一批训练数据让教师模型和学生模型分别进行前向传播。教师模型使用高温度 T 产生软标签。学生模型也使用相同的温度 T 产生软预测同时也会产生硬预测T1。通过反向传播和优化器只更新学生模型的参数。教师模型的参数是冻结的。输出学生模型训练完成后得到一个独立的小型学生模型用于部署。在推理时温度 T 被重置为 1。DeepSeekR1模型
返回列表