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

【AI】模型量化--模型量化技术基础

1. 背景

对于接触过AI模型的人来说,经常会听说一个词语模型量化,那什么是模型量化?为什么需要模型量化?有哪些常用的模型量化技术呢?模型量化有哪些挑战?本文将一一展开叙述。

2. 概念

模型量化是一种在深度学习和机器学习领域中广泛应用的技术,旨在通过减少模型中数据的表示精度来降低模型的存储需求和计算成本,同时尽量保持模型的性能。简单的说就是将模型中的权重和激活值从较高精度的数据类型(如 32 位浮点数)转换为较低精度的数据类型(如 8 位整数)的过程。

3. 为什么要量化?

3.1 减少存储需求

模型权重大小的计算公式如下:

模型大小 = 参数量 x 每个参数所占字节数

以LLAMA 13B举例,在不同的精度下,模型大小如下:
在这里插入图片描述
从上图可以看到,当模型精度越小时模型权重也越小。因此量化有助于降低模型的大小,减少存储需求,存储包括磁盘和显存。

3.2 加速推理

在深度学习中,矩阵乘法和卷积等运算占据了大量的计算量。低精度数据类型(如 8 位整数)的计算在硬件上通常可以比高精度数据类型(如 32 位浮点数)更高效地完成。以整数运算为例,硬件可以同时处理多个整数运算,利用并行计算的优势,大大提高计算速度。因此在相同硬件上,可以更快速的计算出结果。
下图是NVIDIA Hopper架构的H100的架构图,在模型推理过程中,模型权重数值和激活值在TensorCore和显存之间存在频繁的数据交换。如果能减少数据交换的大小,便可以提升模型的推理效率。因为在当前的模型推理中,制约模型推理速度的最大因素是显存带宽而非算力本身。
综上所述,通过加快计算和减少显存和TensorCore数据交换均可以加速推理。
在这里插入图片描述

3.3 其他优势

由于量化模型需要更低的存储和更高效的计算,因此附带优势包括可以有效的节省硬件成本,降低功耗,利益在价格相对低廉的硬件上部署等等。

4. 量化技术

对称量化和非对称量化确实是量化技术中两种核心方法,它们通过不同的策略将高精度数据(如浮点数)映射到低精度表示(如整数),以优化存储和计算效率。在介绍对称量化和非对称量化前需要提两个概念,也就是量化的两个重要过程,一个是量化(Quantize),另一个是反量化(Dequantize),如下图所示:
在这里插入图片描述

4.1 对称量化

1.21, -1.31, 0.22
0.83, 2.11, -1.53
0.79, -0.54, 0.84
假设对上述矩阵进行INT8量化,按照如下步骤进行:

  • 确定原始矩阵中的最大绝对值:对于给定的矩阵,找到绝对值最大的元素。在此例子中,数据绝对值的最大值是2.11。
  • 计算缩放因子(scale):由于INT8对称量化的范围为[-127, 127],缩放因子为 max_abs / 127。这里,max_abs为2.11,因此 scale = 2.11 / 127 ≈ 0.016614。
  • 对每个元素进行量化:将原始矩阵中的每个元素除以缩放因子,然后将结果四舍五入到最近的整数。得到的数值即为INT8对称量化后的值,并且应确保结果在[-127, 127]范围内。由于最大值已被正确缩放为127,其他元素的结果不会超过范围。
  • 在需要进行反量化时,使用量化后的值乘以缩放因子.
    上述矩阵的数值量化后数值如下图所示:
    在这里插入图片描述
    量化和反量化示意图如下所示:
    在这里插入图片描述
    将输入X和权重W使用对称量化,对称量化结果如下:
    在这里插入图片描述

4.2 非对称量化

1.21, -1.31, 0.22
0.83, 2.11, -1.53
0.79, -0.54, 0.84
假设对上述矩阵进行UINT8非对称量化,按照如下步骤进行:

  • 确定最大值和最小值。在此例子中,最小值是-1.53,最大值是2.11。
  • 计算缩放因子(scale):scale = (max_value - min_value) /(255) ,缩放因子为 scale =(2.11 - (-1.53))/255=(3.64) /255≈0.0142745。
  • 对每个元素x进行量化:对于每个元素x,计算量化后的q=round( (x - (-1.53)) /scale ),等价于:q=round( (x +1.53) *70.05494505 )。
  • 在需要进行反量化时,使用量化后的值乘以缩放因子.
    上述矩阵的数值量化后数值如下图所示:
    在这里插入图片描述
    量化和反量化示意图:
    在这里插入图片描述
    将输入X和权重W使用非对称量化,非对称量化结果如下:
    在这里插入图片描述

4.3 对称量化和非对称量化对比

4.3.1 优势

在这里插入图片描述

4.3.1 总结

在这里插入图片描述

相关文章:

  • 深入理解 window.postMessage:跨域通信的解决方案与实战
  • ERROR:This version of pnpm requires at least Node.js vXXX 的解决方案
  • TCPDF 任意文件读取漏洞:隐藏在 PDF 生成背后的危险
  • 方法区和堆的区别
  • echarts 环形图 指定区域从右侧中心点展开
  • 批量将手机照片修改为一寸白底证件照的方法
  • 24.贪心算法2
  • 描述Python中的类和对象
  • 【无标题】docker-compose ps 和dokcer ps的区别
  • 【软考自学】初级程序员笔记
  • 【算法与数据结构】Dijkstra算法求单源最短路径问题
  • 业务应用和大数据平台的数据流向
  • 量子计算的数学基础:复数、矩阵和线性代数
  • JVM之JVM的组成
  • 【一起学Rust | 框架篇 | Tauri2.0框架】在Tauri应用中设置Http头(Headers)
  • 如何加固织梦CMS安全,防webshell、防篡改、防劫持,提升DedeCMS漏洞防护能力
  • PT9010S 单触控双输出 LED 调光调色温 IC
  • 大模型压测方法
  • AI驱动的前端自动化测试:提升效率,保障质量
  • 架构师论文《论湖仓一体架构及其应用》
  • 手机网站排名优化软件/山东网络优化公司排名
  • 做个小网站大概多少钱/网络事件营销
  • 绿植租摆网站建设/如何制作自己的链接
  • 旅游局网站的建设情况/百度搜索引擎使用技巧
  • 图片转视频在线制作/西安网站优化推广方案
  • 做美工的网站/推广普通话手抄报文字内容