乌兰察布市网站建设_网站建设公司_Python_seo优化
2026/1/14 16:32:09 网站建设 项目流程

在看FlashAttention的一个issue时,问了大模型推荐了这篇文章,解决了我长期以来对量化方面存在的几个疑问的点。

  1. w8a8,w4a8这么多的量化手段到底是什么意思?
    W指权重,A指激活值。权重就是模型训练好后固定下来的,可以理解成大模型的记忆,也即神经网络的配置。A是在实际推理过程中的激活值。W4A8就是指权重用int4量化,激活值用W8A8量化。二者的区别在于,权重是静态的,在模型训练好后就不变了。激活值是动态的,是碎输入值的变化而变化的。因此采用W更小的方式会更加节省权重存放的显存占用,使用更小的A可以加速推理计算和节省推理中占用的现存,当前受硬件和模型效果的约束,A一般不会压缩到8以下。
  2. per-channel, per-tensor, per-token的区别
    上述指的是我们的量化的范围,有一个基本的尝试就是量化并不是直接压缩数据,这样会从高精度浮点空间下降到低精度整型空间。因此还需要一个scale变量来进行缩放,以实现仍然在浮点空间存放。scale的存在决定了如果scale的范围更大,用一个scale表示的误差就会更大。一方面会受到某个局部值的影响;另一方面范围越大越可能出现溢出等问题,造成精度损失。但范围越小,需要的scale变量越多,计算开销越大。
    因此需要平衡好合适的计算范围,以实现满足计算要求的同时尽量降低计算开销。per-tensor就是对整个tensor进行一次量化。而per-channel将其分割成多个channel(维度),对每个维度进行独立的量化,就可以实现更好的量化效果。per-token将范围进一步缩小到单个token,量化效果更好,开销更大。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询