概述
这极大地减少了内存和能源的使用,同时保持了惊人的高准确性。
深入探讨
传统模型将每个权重存储为 16 位数字。 BitNet 用极低位表示取代了这些。颇具影响力的 BitNet b1.58 变体使用三元权重,每个权重限制为 -1、0 或 +1,每个权重大约包含 1.58 位信息(以 3 的 2 为底的对数)。关键的想法是,模型是在这些约束下从头开始训练的,而不是随后量化的,因此它学会了对有限精度的鲁棒性。由于权重仅为 -1、0 或 +1,因此矩阵数学中昂贵的乘法会分解为加法和减法。其结果是显着降低内存带宽、能耗和延迟,0 值还可以实现稀疏性,同时在许多基准测试中与可比较大小的全精度模型相匹配。
现实世界的实施
Microsoft 的 BitNet b1.58 2B4T 在 CPU 上高效运行,无需专用 GPU 即可实现 LLM 推理。
借助 ~1.58 位权重,设备上的助手可以将功能强大的模型装入手机有限的内存中。
通过用加法代替浮点乘法,降低大容量 API 服务的推理能源和碳成本。
边缘部署(物联网、嵌入式硬件),其中三元权重使本地语言理解在紧张的功耗预算内变得可行。
1 位和三元 BitNet 模型的未来
BitNet 指出了未来,有能力的模型可以在没有数据中心 GPU 的手机、笔记本电脑和边缘设备上运行。主要瓶颈是硬件:当今的芯片是为浮点数学而构建的,因此针对仅三进制加法运算进行优化的专用加速器可以使优势成倍增加。预计会有更多原生 1 位架构、更大的 BitNet 式模型,以及集成到电池寿命和隐私至关重要的设备上助手中,这可能会重塑人工智能推理的经济性。
付诸实践
为什么这很重要
- 成本与预算. 多年来,架构决策决定着性能和运营成本。
- 更清晰的判决. 技术教育帮助团队选择正确的堆栈,而不仅仅是最新的堆栈。
- 质量控制. 更好的工程选择可以减少生产中的可靠性事故。
留意
- 优化一项基准测试可以隐藏更广泛的系统弱点。
- 基础设施和维护成本常常被低估。
- 随着系统变得更加复杂,安全性和可观察性差距可能会扩大。
后续步骤
- 在实施之前定义延迟、质量和成本目标。
- 在实际负载和数据条件下进行基准测试。
- 仪器监控错误、漂移和用户影响。
- 在扩展之前准备回滚和事件响应路径。
不断探索
常见问题
什么是 1 位和三元 BitNet 模型?
BitNet 是 Microsoft 的研究系列,表明可以使用限制为 1 位的权重(或三元情况下的三个值)来训练大型语言模型。这极大地减少了内存和能源的使用,同时保持了惊人的高准确性。
为什么 BitNet b1.58 被描述为每个权重使用大约 1.58 位?
三元权重采用三个值之一,表示三种状态需要以 3 为底的对数 2,大约为 1.58 位。
是什么让 BitNet 的矩阵运算比标准模型更便宜?
由于权重限制为 -1、0 和 +1,乘以权重可简化为加、减或忽略某个值,从而避免昂贵的浮点乘法。
在训练过程中,尽管量化步骤不可微,但 BitNet 如何更新权重?
BitNet 保留更高精度的权重主副本,并使用直通估计器通过量化传递梯度,从而实现正常的反向传播。
允许值 0(三进制,非纯二进制)能带来什么额外好处?
0 状态可以有效地关闭一些连接,从而引入可用于进一步提高效率的稀疏性。
实现 BitNet 全面效率提升的主要硬件挑战是什么?
当今的加速器是围绕浮点乘法设计的,因此需要用于基于三元加法的运算的专用硬件才能充分释放 BitNet 的速度和能源优势。