它探讨了如何在内存受限的设备上高效运行大型语言模型(LLM)。以下是文档的主要内容总结:

  1. 引言:介绍了大型语言模型(如GPT-3、OPT和PaLM)在各种自然语言处理任务中表现出的强大性能。然而,这些模型的高计算和内存需求,在资源有限的设备上运行时存在挑战。一般方法是将整个模型加载到动态随机存取内存(DRAM)中进行推理,但这限制了能运行的最大模型大小​​。
  2. 闪存与LLM推理:研究了存储系统(如闪存、DRAM)的特点及其对LLM推理的影响。闪存在大块顺序读取时表现最佳,但对小块随机读取的性能较差。文章提出了两种主要策略来提高闪存的读取吞吐量:读取更大的数据块和利用存储堆栈和闪存控制器内的并行性​​。
  3. 从闪存加载:讨论了在计算内存远小于模型大小的设备上进行推理的挑战。提出了减少闪存I/O操作的延迟、增加数据块大小以提高闪存吞吐量和高效管理加载到内存中的数据的策略​​。
  4. 减少数据传输:利用前馈网络(FFN)模型中固有的稀疏性,通过迭代传输只有必要的非稀疏数据从闪存到DRAM进行处理​​。
  5. 提高传输吞吐量:通过增大数据块的大小来提高闪存的数据吞吐量。例如,通过将OPT和Falcon模型的上投影的列和下投影的行捆绑在一起存储,可以整合数据以便于读取​​。
  6. DRAM中的优化数据管理:对于DRAM中的数据传输,提出了一种备用的内存管理策略,包括预分配所有必要的内存和建立高效管理的数据结构​​。
  7. 结果:实验设置旨在优化个人设备上的推理效率。使用了两种不同的硬件配置进行评估,包括Apple M1 Max和配备NVIDIA GeForce RTX 4090显卡的Linux机器。实验结果显示,所提出的方法在OPT 6.7B和Falcon 7B模型上都取得了显著的改善​​。
  8. 相关工作:概述了大型语言模型高效推理方面的相关研究,包括模型压缩技术和选择性执行等方法。本研究的工作重点是减少从闪存到内存的数据传输​​。
  9. 结论:本研究提出了一种结合硬件特性和机器学习的新方法,以在内存受限的设备上高效运行大型语言模型。通过发展推理成本模型和引入“窗口化”和“行列捆绑”等创新技术,实现了显著减少数据加载和提高内存使用效率的目标。研究成果展示了在CPU上比传统加载方法快4-5倍,在GPU上快20-25倍的推理速度
  10. 原文阅读:LLM in a flash Efficient Large Language Model Inference with Limited Memory