BitNet b1.58

分类: 量化与低秩

BitNet b1.58

定义

微软提出的 1-bit LLM 变体,将所有权重约束在 {-1, 0, 1} 三种取值,有效比特数约 1.58 bpw(log231.58\log_2 3 \approx 1.58

数学形式

W{1,0,+1}M×K,bpw=log231.58W \in \{-1, 0, +1\}^{M \times K}, \quad \text{bpw} = \log_2 3 \approx 1.58

训练时激活使用 per-tensor int8 量化,权重使用 absmean 量化(per-tensor)。

核心要点

通过 QAT(Quantization-Aware Training)训练,推理时若严格遵循训练约束则可实现无损推理

激活量化:per-tensor int8;权重量化:per-tensor absmean → {-1, 0, 1}

相比 BitNet(纯 1-bit),引入 0 值大幅提升模型表达能力,同时保持极低内存占用

实际推理需要 mpGEMM 支持非整数 bpw,否则退化为 2-bit(效率损失)

代表工作

Bitnet.cpp: 首个实现 BitNet b1.58 高效边缘推理的系统,提出 TL 和 I2_S 核

相关概念

BitNet: 前置的纯 1-bit LLM 工作

QAT: 训练范式

mpGEMM: 使三值推理高效的关键技术

PTQ: 对比路线(BitNet b1.58 不适用 PTQ)