三元大语言模型 (LLMs) 使用三个符号中的一个来表示每个权重:-1、0 或 +1。从理论上讲,这对应于每权重约 1.58 位(log2 3)的信息论极限。在实际部署中,大多数当前系统使用“五三元位打包”技术,即将五个三元权重打包进一个字节中。由于计算机内存是按 2 的幂组织架构的,这种方法实际上将成本向上舍入至每权重 1.625 位,并将所有三个可能的值视为等概率出现。
然而,研究人员在分析 29 个不同的三元 LLM 模型时发现,这些权重并非均匀分布;相反,零值可占所有权重的 51.5%。为了利用这种不平衡,作者引入了 BITCOS,一种分布自适应布局。BITCOS 不是为每个权重分配固定数量的比特,而是使用密集存在位图来识别哪些权重是非零的,并使用压缩符号向量来存储剩余的值。这种方法允许模型的存储成本根据其特定的零密度 (z) 进行缩放,计算公式为每权重元素 `2 - z` 位。在某些测试模型上,这使有效位宽降低到每权重仅 1.485 位。
从标准打包到 BITCOS 的转变在各种硬件平台上提供了可衡量的性能提升。研究发现,在真实的零密度下,与生产环境中的最先进内核相比,提议的布局在矩阵-向量乘法中实现了高达 1.28 倍的增益。此外,端到端推理测试显示,在 CPU 上解码吞吐量提高了高达 1.18 倍,在 Intel Xe2 GPU 上提高了 1.27 倍。虽然 BITCOS 高效,但它需要专门的解包序列——针对 AVX-512 和 Intel Xe2 GPU 等架构进行了优化——以在计算过程中保持这些速度优势。一个关键的未解决问题是,如果未来的定制硅片 (ASICs) 被设计为原生支持 BITCOS 格式,那么可以获得多少效率提升,这可能会完全消除对基于软件的解包的需求。
