本文是LLM系列文章,针对《LLM in a flash: Efficient Large Language Model Inference with Limited Memory》的翻译。
摘要
大型语言模型(LLM)是现代自然语言处理的核心,在各种任务中提供卓越的性能。然而,它们的大量计算和内存需求带来了挑战,尤其是对于DRAM容量有限的设备。本文通过将模型参数存储在闪存中,但将其按需带到DRAM中,来解决高效运行超过可用DRAM容量的LLM的挑战。我们的方法包括构建一个考虑闪存特性的推理成本模型,指导我们在两个关键领域进行优化:减少从闪存传输的数据量和读取更大、更连续的数据块。在这个以硬件为基础的框架中,我们介绍了两种主要技术。首先,“窗口化”通过重复使用先前激活的神经元来战略性地减少数据传输,其次,根据闪存的顺序数据访问强度量身定制的“行-列绑定”增加了从闪存读取的数据块的大小。这些方法共同实现了运行高达可用DRAM两倍大小的模型,与CPU和GPU中的原始加载方法相比,推理速度分别提高了4-5倍和20-25倍。我们将稀疏性感知、上下文自适应加载和面向硬件的设计相结合,为在内存有限的设备上有效推断LLM铺平了道路。