Hadamard 变换

分类: 深度学习基础

type:: concept aliases:: Hadamard Transform, Hadamard Rotation, 哈达玛变换

  • Hadamard 变换

  • 定义

  • 使用 Hadamard 矩阵对向量进行正交变换,目的是均匀化权重/激活分布中的异常值,使后续量化更有效

  • 数学形式

x^=Hnx,Hn{1,+1}n×n,HnHn=nI\hat{\mathbf{x}} = H_n \mathbf{x}, \quad H_n \in \{-1, +1\}^{n \times n}, \quad H_n H_n^\top = n I

其中 HnH_nnn 阶 Hadamard 矩阵,可通过 O(nlogn)O(n \log n) 的快速算法计算。

  • 核心要点

  • 在 LLM 量化中用作预处理,消除权重矩阵中的异常值(outlier)

  • Quarot/Quip# 等方法依赖输入和/或输出旋转来获得好的量化效果

  • LLVQ 证明 24 维 Leech 格在不使用 Hadamard 旋转时仍优于 8 维 E8 格 + 双向旋转

  • 正交变换不改变信息内容,只改变分布形状

  • 代表工作

  • Quip#: 使用输入 + 输出 Hadamard 旋转

  • LLVQ: 证明高维格可减少对 Hadamard 旋转的依赖

  • 相关概念

  • 向量量化

  • PTQ

  • SmoothQuant