当前位置: 首页 > news >正文

大语言模型的“模型量化”详解 - 01:原理、方法、依赖配置

基本介绍

随着大语言模型(LLM, Large Language Models)的广泛应用,从推理加速到边缘部署,模型量化(Quantization) 已成为模型压缩和加速的核心技术之一。本文将从基础原理、常用方法、工程落地和注意事项等多个方面,系统介绍大语言模型中的模型量化技术。

什么是模型量化?

模型量化是一种**将高精度浮点数(如 FP32)转换为较低位数表示(如 INT8、INT4、BF16 等)**的技术,目的是减小模型体积、加快推理速度、降低内存/显存使用,同时尽量保持模型精度。

简单来说,就是用更“紧凑”的方式来表示模型中的权重和激活值。

为什么需要量化?

  • 📉 减少显存/内存使用:如 INT8 相比 FP32 可减少约 75% 的存储开销;
  • 🚀 加速推理速度:低位计算指令可以被更快执行,尤其在 GPU / CPU / NPU 上;
  • 🧳 便于部署:适合部署在边缘设备、手机、浏览器等低资源场景;
  • 💰 降低成本:节省云计算资源,提升模型服务的吞吐能力。

量化的类型分类

PS:只介绍一部分
请添加图片描述

按数值精度分类

请添加图片描述

常见量化方法详解

逐层 vs 逐通道(Per-layer vs Per-channel)

  • Per-layer:整个权重矩阵使用一个 scale,简单但可能失真较多。
  • Per-channel:每个通道单独 scale,精度更高。

对称 vs 非对称量化

  • 对称量化:正负值以相同尺度映射,适合分布中心在0附近的数据;
  • 非对称量化:独立定义零点和 scale,适合偏移分布的数据。

动态 vs 静态量化

  • 动态量化:推理时动态计算激活范围(如 transformer 的 Linear 层);
  • 静态量化:提前统计激活的分布,适合固定输入场景。

工程实践:量化 LLM 的工具链

请添加图片描述

量化效果评估指标

请添加图片描述

实践中的挑战与建议

  • 不要直接量化 LayerNorm、Embedding、Softmax 层;
  • INT4/INT2 精度损失明显,推荐配合重排(reorder)或微调(LoRA/QLoRA);
  • 激活量化容易导致退化,建议逐层检验;
  • 量化策略需根据业务目标选择:精度优先 or 性能优先;
  • 注意目标硬件支持情况(如 GPU、ARM、NPU)

参考资料

  • 官方资料:https://github.com/ggml-org/llama.cpp/tree/master/examples/main
  • llama.cpp
  • 量化部署资料:https://github.com/ymcui/Chinese-LLaMA-Alpaca/wiki/llama.cpp%E9%87%8F%E5%8C%96%E9%83%A8%E7%BD%B2
  • 量化效果:https://github.com/ggml-org/llama.cpp/blob/master/examples/quantize/README.md

在这里插入图片描述

克隆项目

需要借助 llama.cpp 进行量化

git clone https://github.com/ggerganov/llama.cpp.git
cd llama

拉取项目:
在这里插入图片描述

安装依赖

确保下面的依赖都是有的:

pip install torch transformers sentencepiece

编译工具

我们需要编译llama.cpp的工具,才可以进行量化处理:
下面是官方的编译文档,需要的话可查看:
https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md

这里我们执行进行操作:

# 此时在 llama.cpp 目录下 进行编译
mkdir build
cd build
cmake ..
cmake --build . --config Release

开始编译:
在这里插入图片描述

过程是比较漫长的:
在这里插入图片描述

相关文章:

  • python基础语法测试
  • 面向高可靠场景的RISC-V低功耗MCU硬件安全设计
  • 迭代器模式:统一数据遍历方式的设计模式
  • 系统重装——联想sharkbay主板电脑
  • JAVA设计模式——(四)门面模式
  • 系统架构师2025年论文《系统架构风格》
  • Python----深度学习(神经网络的过拟合解决方案)
  • 【无人机】无人机光流模块Optical Flow设置(三),光流测距一体传感器的配置。凌启科技的光流测距一体模块的测试。
  • 数字化转型避坑指南:中钧科技如何用“四个锚点”破解转型深水区
  • .NET 6 WPF 利用CefSharp.Wpf.NETCore显示PDF文件
  • 如何确定置信水平的最佳大小
  • 深入理解分布式事务:从ACID与CAP理论到六大落地实现方案详解
  • Dart Flutter数据类型详解 int double String bool list Map
  • 0-1背包的运算规则
  • rabbitmq-spring-boot-start版本优化升级
  • MyBatis-Plus 使用 Wrapper 构建动态 SQL 有哪些优劣势?
  • Dbeaver连接达梦数据库
  • wails generate 的用法
  • 什么是量子计算?它能做什么?
  • 【android bluetooth 框架分析 03】【Bta 层详解 1】【Bluetooth Application Laye 介绍】
  • 苗旋已任民航局空管局局长、党委副书记
  • “下一个高增长市场,还是中国”,龚正市长会见参加上海车展的国际企业高管
  • 航空货运三巨头去年净利合计超88亿元,密切关注关税政策变化和市场反应
  • 秭归“橘颂”:屈原故里打造脐橙全产业链,创造12个亿元村,运输用上无人机
  • 张又侠董军分别与印尼国防部长会见会谈
  • 细说汇率 ⑬ 美元进入“全是坏消息”阶段