SmoothQuant: 让大型语言模型更轻更快更便宜 2024-06-12 作者 C3P00 大型语言模型(LLM)在各种任务上展现出卓越的性能,但其庞大的体积和巨大的计算量也让它们成为了资源消耗的大户。例如,GPT-3模型拥有1750亿个参数,需要至少350GB的内存来存储和运行,仅推理就需要8台48GB A6000 GPU或5台80GB A100 GPU。巨大的计算和通信开销也导致了推理延迟,这在实际应用中难以接受。 量化是一种很有前景的降低LLM成本的方法。通过将权重和激活值用低位整数表示,我们可以减少GPU内存需求,并加速计算密集型操作,例如线性层中的通用矩阵乘法(GEMM)和注意力机制中的批量矩阵乘法(BMM)。例如,INT8量化可以将GPU内存使用量减半,并将矩阵乘法的吞吐量提高近一倍。 然而,与CNN模型或BERT等较小的Transformer模型不同,LLM的激活值难以量化。当LLM的参数量超过67亿时,激活值中会系统性地出现大量值,导致量化误差增大,精度下降。 SmoothQuant 是一种针对LLM的无训练、精度保持、通用型后训练量化(PTQ)解决方案,它可以实现LLM的8位权重、8位激活值(W8A8)量化。SmoothQuant基于一个关键观察:权重易于量化,而激活值则不然。 SmoothQuant的原理 SmoothQuant通过离线迁移量化难度,将激活值中的异常值平滑化,从而使模型更容易被量化。具体来说,SmoothQuant提出了一种数学等效的逐通道缩放变换,可以显著平滑通道间的幅度,使模型更容易被量化。 SmoothQuant的优势 高精度: SmoothQuant能够保持LLM的精度,即使在最激进、最高效的量化设置下,也能与FP16模型的性能相媲美。 高效率: SmoothQuant可以显著加速推理速度,并减少内存使用量,例如,在OPT-175B模型上,SmoothQuant可以实现1.56倍的加速和2倍的内存节省。 易于实现: SmoothQuant易于集成到各种框架中,例如PyTorch和FasterTransformer。 可扩展性: SmoothQuant可以应用于各种LLM架构,包括OPT、BLOOM、GLM、MT-NLG、Llama-1/2、Falcon、Mistral和Mixtral模型。 SmoothQuant的应用 SmoothQuant可以将大型模型(如OPT-175B. 的推理所需GPU数量减半,同时还能提升推理速度,甚至可以将530B的模型部署到单个8-GPU节点上。✅ 总结 SmoothQuant为降低LLM的部署成本提供了便捷的解决方案,它可以显著提高LLM的效率,并推动LLM在更多领域的应用。 参考文献 SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models GitHub – mit-han-lab/smoothquant: [ICML 2023] SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models
大型语言模型(LLM)在各种任务上展现出卓越的性能,但其庞大的体积和巨大的计算量也让它们成为了资源消耗的大户。例如,GPT-3模型拥有1750亿个参数,需要至少350GB的内存来存储和运行,仅推理就需要8台48GB A6000 GPU或5台80GB A100 GPU。巨大的计算和通信开销也导致了推理延迟,这在实际应用中难以接受。
量化是一种很有前景的降低LLM成本的方法。通过将权重和激活值用低位整数表示,我们可以减少GPU内存需求,并加速计算密集型操作,例如线性层中的通用矩阵乘法(GEMM)和注意力机制中的批量矩阵乘法(BMM)。例如,INT8量化可以将GPU内存使用量减半,并将矩阵乘法的吞吐量提高近一倍。
然而,与CNN模型或BERT等较小的Transformer模型不同,LLM的激活值难以量化。当LLM的参数量超过67亿时,激活值中会系统性地出现大量值,导致量化误差增大,精度下降。
SmoothQuant 是一种针对LLM的无训练、精度保持、通用型后训练量化(PTQ)解决方案,它可以实现LLM的8位权重、8位激活值(W8A8)量化。SmoothQuant基于一个关键观察:权重易于量化,而激活值则不然。
SmoothQuant的原理
SmoothQuant通过离线迁移量化难度,将激活值中的异常值平滑化,从而使模型更容易被量化。具体来说,SmoothQuant提出了一种数学等效的逐通道缩放变换,可以显著平滑通道间的幅度,使模型更容易被量化。
SmoothQuant的优势
SmoothQuant的应用
SmoothQuant可以将大型模型(如OPT-175B. 的推理所需GPU数量减半,同时还能提升推理速度,甚至可以将530B的模型部署到单个8-GPU节点上。✅
总结
SmoothQuant为降低LLM的部署成本提供了便捷的解决方案,它可以显著提高LLM的效率,并推动LLM在更多领域的应用。
参考文献
GitHub – mit-han-lab/smoothquant: [ICML 2023] SmoothQuant: Accurate and Efficient Post-Training Quantization for Large Language Models