在存储驱动大语言模型底层神经网络的数值权重时,大多数现代AI模型依赖于16位或32位浮点数的精度。但这种精度往往会导致巨大的内存占用(最大模型可能需要数百GB内存)以及在响应提示时所需处理复杂矩阵乘法所消耗的大量运算资源。
现今,Microsoft 的 General Artificial Intelligence 团队的研究人员发布了一种全新的神经网络模型,该模型只使用三个不同的权值:-1、0 或 1。在此前 Microsoft Research 于2023年发表的工作基础上,新模型的“ternary”架构降低了整体复杂性,并带来了显著的计算效率优势,使其能够在简单的桌面CPU上高效运行。尽管权重精度大幅降低,研究人员仍宣称该模型“能够在广泛任务中实现与同等规模先进开放权重、全精度模型相媲美的性能”。
关注你的权重
简化模型权重的概念在AI研究中并非全新。多年来,研究人员一直在尝试利用量化技术将神经网络权重压缩至更小的内存空间。近年来,最极端的量化尝试集中于所谓的 “BitNets”,这种方法将每个权重表示为一个Bit ( 表示 +1 或 -1 )。
新的 BitNet b1.58b 模型没有达到那种极端——这种三元系统被称为 “1.58-bit”,因为这是表示三个数值所需的平均位数 ( log(3)/log(2) )。但它通过成为“首个以原生方式、在大规模训练下实现1-bit大语言模型的开源模型”而与以往的研究区别开来,研究人员写道,该模型基于包含4万亿 tokens 的训练数据集构建了一个拥有20亿 tokens 的模型。
这里的“原生”至关重要,因为许多以往的量化尝试只是对使用全精度大浮点数预先训练好的模型进行事后尺寸缩减。研究人员写道,这种训练后量化可能会导致与原始模型相比出现“显著的性能下降”。与此同时,其他原生训练的 BitNet 模型规模较小,“可能尚未达到大型全精度模型的能力”。
规模是否重要?
减少模型内部权重复杂度最明显的优势是降低内存需求。与同等参数规模的其他开放权重模型需要大约2到5GB内存不同,BitNet b1.58 模型仅需0.4GB内存即可运行。
但这种简化的权重系统也使得模型在推理时运行更为高效,其内部操作更多地依赖简单的加法指令,而较少使用计算成本高昂的乘法指令。研究人员估计,这些效率提升使得 BitNet b1.58 模型相比类似的全精度模型,能耗下降了85%到96%。
通过使用专为 BitNet 架构设计的高度优化内核,BitNet b1.58 模型的运行速度也比标准全精度 Transformer 上运行的相似模型快了数倍。研究人员写道,该系统足够高效,单个CPU即可达到“媲美人类阅读速度(每秒5至7个Token)”的速度(你可以在多款ARM和x86 CPU上下载并运行这些优化内核,或通过该网络演示进行体验)。
关键的是,研究人员表示这些改进并未以牺牲在各种测试推理、数学及“知识”能力的基准测试中的性能为代价(尽管这一说法尚未被独立验证)。在多个常见基准测试上的平均结果表明,BitNet“在能力上几乎与同类领先模型持平,同时提供了显著提高的效率”。
尽管内存占用更小,BitNet 在许多基准测试中的表现仍与“全精度”权重模型相似。
尽管这一“概念验证”型 BitNet 模型取得了显著成功,研究人员写道,他们尚未完全理解为什么这种极简化的权重设定能使模型表现如此出色。“深入探讨大规模1-bit训练为何能奏效的理论基础仍然是一个未解之谜,”他们写道。而且,仍需要更多研究使这些 BitNet 模型在整体规模和上下文窗口“记忆”方面与当今最大的模型竞争。
尽管如此,这项新研究展示了一种潜在的替代方案,适用于那些因运行在昂贵且强大的GPU上而面临硬件及能耗飙升问题的AI模型。或许现今的“全精度”模型就像浪费大量能量和资源的肌肉车,而一款精致的小型车也许就能交付类似的效果。