Learning from Students: Applying t-Distributions to Explore Accurate and Efficient Formats for LLMs
作者: Jordan Dotzel, Yuzong Chen, Bahaa Kotb, Sushma Prasad, Gang Wu, Sheng Li, Mohamed S. Abdelfattah, Zhiru Zhang
分类: cs.LG, cs.CV
发布日期: 2024-05-06 (更新: 2024-06-10)
备注: Accepted to ICML 2024
🔗 代码/项目: GITHUB
💡 一句话要点
针对LLM量化,提出Student Float (SF4)格式,优化精度与效率权衡。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大语言模型 量化 低精度计算 Student's t-分布 浮点格式 模型压缩 硬件加速
📋 核心要点
- 现有LLM量化方法在精度和效率之间难以平衡,低精度整数格式虽高效但精度低,NF4等格式精度高但面积开销大。
- 论文核心思想是发现LLM权重和激活分布符合Student's t-分布,并据此设计理论最优的Student Float (SF4)格式。
- 实验表明,SF4优于NF4,例如在LLaMA2-7B上平均精度提升0.76%。同时,通过超常支持增强E2M1,在精度和面积上实现了更好的权衡。
📝 摘要(中文)
为了满足大语言模型(LLM)对低延迟和功耗的严格要求,通常采用低精度整数格式。然而,最近涌现的Normal Float (NF4)等格式虽然提高了模型精度,但也增加了芯片面积。本文首先对30个网络的LLM权重和激活进行大规模分析,得出结论:大多数分布遵循Student's t-分布。然后,推导出一种新的理论最优格式,Student Float (SF4),它在现代LLM上优于NF4,例如,在LLaMA2-7B上,跨任务的平均精度提高了0.76%。以此格式作为高精度参考,进一步提出通过超常支持增强E2M1的两种变体,以提高模型精度。最后,通过评估11种数据类型的模型精度和硬件复杂度,探索了质量和效率的边界。发现了一条由INT4、E2M1和具有超常支持的E2M1组成的帕累托曲线,它们在模型精度和芯片面积之间提供了连续的权衡。例如,具有超常支持的E2M1使Phi-2的精度提高了高达2.19%,而面积开销仅为1.22%,从而使更多基于LLM的应用能够以四位运行。
🔬 方法详解
问题定义:论文旨在解决大语言模型(LLM)量化过程中精度与效率难以兼顾的问题。现有方法,如低精度整数格式(INT4),虽然能满足低延迟和功耗的需求,但会显著降低模型精度。而诸如NF4等新型浮点格式,虽然提升了精度,却增加了芯片面积,导致硬件成本上升。因此,如何在保证模型精度的前提下,尽可能降低硬件开销,是本研究要解决的核心问题。
核心思路:论文的核心思路是基于对LLM权重和激活值分布的深入分析,发现它们普遍遵循Student's t-分布。基于这一发现,论文推导出一种新的浮点格式,称为Student Float (SF4),该格式针对Student's t-分布进行了优化,从而在相同的比特数下,能够更精确地表示LLM中的数值,进而提升模型精度。这种设计思路旨在通过更有效地利用有限的比特资源,实现精度和效率的平衡。
技术框架:论文的技术框架主要包括以下几个阶段:1) 大规模数据分析:对30个不同的LLM的权重和激活值进行统计分析,验证其分布特性。2) SF4格式推导:基于Student's t-分布的特性,推导出理论上最优的SF4格式。3) E2M1增强:提出两种基于超常支持的E2M1变体,进一步优化精度。4) 实验评估:在多个LLM和任务上,对不同数据类型的精度和硬件复杂度进行评估,构建精度-效率帕累托曲线。
关键创新:论文最重要的技术创新点在于提出了Student Float (SF4)格式。与现有方法(如NF4)相比,SF4格式是基于对LLM权重和激活值分布的更精确建模(Student's t-分布)而设计的,因此能够更有效地利用有限的比特资源,从而在相同的比特数下实现更高的模型精度。此外,通过超常支持增强E2M1也是一个创新点,它在INT4和SF4之间提供了一个更灵活的精度-效率权衡方案。
关键设计:SF4格式的关键设计在于其指数和尾数的分配,需要根据Student's t-分布的参数进行优化,以最大化数值表示的精度。超常支持的E2M1变体,关键在于如何有效地利用额外的比特来表示更小或更大的数值,从而提高模型的动态范围和精度。此外,实验评估中,选择合适的LLM和任务,以及设计合理的硬件复杂度评估指标,也是关键的设计细节。
🖼️ 关键图片
📊 实验亮点
实验结果表明,提出的SF4格式在LLaMA2-7B模型上,跨任务的平均精度比NF4提高了0.76%。此外,通过超常支持增强的E2M1格式,使Phi-2模型的精度提高了高达2.19%,而面积开销仅为1.22%。这些结果表明,该研究提出的量化方法能够在保证模型精度的前提下,有效地降低硬件开销,从而为LLM的广泛应用提供了新的可能性。
🎯 应用场景
该研究成果可广泛应用于大语言模型的部署和推理加速,尤其是在资源受限的边缘设备上。通过选择合适的量化格式(如INT4、E2M1或SF4),可以在精度、功耗和芯片面积之间进行权衡,从而满足不同应用场景的需求。例如,对于对精度要求较高的任务,可以选择SF4或超常支持的E2M1;对于对功耗要求极高的任务,可以选择INT4。
📄 摘要(原文)
The increasing size of large language models (LLMs) traditionally requires low-precision integer formats to meet strict latency and power demands. Yet recently, alternative formats such as Normal Float (NF4) have increased model accuracy at the cost of increased chip area. In this work, we first conduct a large-scale analysis of LLM weights and activations across 30 networks and conclude that most distributions follow a Student's t-distribution. We then derive a new theoretically optimal format, Student Float (SF4), that improves over NF4 across modern LLMs, for example increasing the average accuracy on LLaMA2-7B by 0.76% across tasks. Using this format as a high-accuracy reference, we then propose augmenting E2M1 with two variants of supernormal support for higher model accuracy. Finally, we explore the quality and efficiency frontier across 11 datatypes by evaluating their model accuracy and hardware complexity. We discover a Pareto curve composed of INT4, E2M1, and E2M1 with supernormal support, which offers a continuous tradeoff between model accuracy and chip area. For example, E2M1 with supernormal support increases the accuracy of Phi-2 by up to 2.19% with 1.22% area overhead, enabling more LLM-based applications to be run at four bits. The supporting code is hosted at https://github.com/cornell-zhang/llm-datatypes.