Bit-Mass理论——容器原理

Reddit r/artificial 论文

摘要

Bit-Mass理论提出,决定模型准确率的是权重位的总数,而非计算格式。在MNIST上的实验表明,相同的Bit-Mass下,二进制网络与浮点网络性能相当。

**Bit-Mass决定信息容量,进而决定模型准确率,而非所选的计算格式。** 此处介绍的Bit-Mass理论以权重位的总数为核心量,重新审视神经网络。 在MNIST上,使用相同的203264位Bit-Mass,Float32矩阵乘法与基于XNOR加Popcount的BV32取得了完全可比的结果。 **三种训练器对比(架构784→8→10,三个周期):** - 带动量和自适应学习率的AdamW:81.3% - 普通SGD(Float32):76.0% - BV32-Hebbian(二进制):76.4% **其他核心发现:** - 在相同Bit-Mass下,Float32容器与二进制容器提供几乎相同的准确率。 - 与AdamW之间的剩余差距完全取决于动量与自适应学习率。 - 仅改变算术运算不会改善结果。 每个神经元充当32个二进制决策的容器。因此,传统的神经元视角会导致系统性误判:8个Float神经元在信息上对应256个二进制神经元。 这一见解得到了同一权重矩阵的三种等价描述(神经元视角、位视角和数据视角)的支持。 需要指出的是,这是一项此前未经同行评审的单一研究,标注为未来日期。多个实验室的独立复现仍然至关重要。 尽管如此,该理论为无反向传播的Hebbian更新为何能取得与经典SGD相同的性能提供了一致的解释。 历史上,Hebbian规则长期被认为不稳定。本研究显示,更新公式中的一个简单错误导致了超过65个百分点的性能损失。修正后,二进制方法恰好收敛到普通SGD的水平。 从架构理论角度来看,一个明确的结论是:性能提升需要要么通过更宽的层增加更多位数,要么通过动量与自适应方法更高效地利用现有位数。计算格式本身是次要的。 实验控制程度高:所有训练器使用相同的数据(50,000个MNIST样本)、相同的周期数和相同的架构。仅更新规则不同。这使得效应可以清晰隔离。 **研究的长期意义:** Bit-Mass理论实现了模型的硬件无关可比性。一个具有64个隐藏神经元的宽Float网络与一个具有2048个神经元的二进制网络具有相同的Bit-Mass。这为模型压缩和专用加速器的开发开辟了新途径。 总之,该工作为高效神经网络的讨论提供了基于事实的贡献。结果以可复现的方式记录,但在能够谈论广泛有效的范式转变之前,仍需进一步的外部验证。 📎 Source 1: https://forward-prop.nhi1.de/
查看原文

相似文章

可变位宽量化:为“更大但更小”的语言模型学习每组的精度

arXiv cs.LG

介绍了可变位宽量化(VBQ),一种训练时的方法,其中每组64个权重通过Gumbel-Softmax松弛学习自己的位宽(1、2、4、8)。VBQ发现了一种异构分配,实现了“更大但更小”的机制,例如,平均位宽1.82的1.31亿参数模型在TinyStories上的困惑度为4.2,击败了5500万FP16模型(困惑度4.4),同时存储减少3.8倍;而1.46B模型在FineWeb-Edu上与593M FP16控制模型表现相当,存储减少约3.7倍。

ThinkBit:搜索码字、重校准缩放、以推理选优

Hugging Face Daily Papers

ThinkBit 是一个严格标量的两比特量化框架,通过分层比特分配、Gumbel-softmax 码字搜索、基于知识蒸馏的缩放重校准以及量化感知训练来保留模型的推理能力。在 Qwen3-1.7B 和 14B 模型上,它以远小于 bfloat16 的体积取得了接近原模型的 MATH-500 成绩。

LittleBit:通过潜在分解实现超低比特量化

Reddit r/LocalLLaMA

LittleBit 提出了一种通过低秩潜在矩阵分解与二值化实现超低比特(低至0.1 BPW)LLM 量化的框架,配合多尺度补偿机制,在 Llama2-7B 上以 0.1 BPW 超越了现有 0.7 BPW 方法,实现约 31 倍内存压缩与最高 11.6 倍推理加速。

Boole-1.7B:一款性能超越 Bonsai-1.7B 的 1 比特 Qwen3-1.7B 模型

Reddit r/LocalLLaMA

Precision Numerics 发布 Boole-1.7B,一个基于 Qwen3-1.7B 的 1 位量化模型,权重仅 247 MB(比 BF16 小 13.9 倍),在 10 项任务评测中的平均得分达到 BF16 模型的 85.9%,超越 1 位的 Bonsai-1.7B,并接近 1.58 位的 Bonsai-1.7B。模型支持在浏览器中本地运行,也支持 vLLM 与 llama.cpp。