全参数微调的显存使用量和推理一样多,大模型不再只是大型科技公司的玩具了。在大模型方向上,科技巨头在训更大的模型,学界则在想办法搞优化。最近,优化算力的方法又上升到了新的高度。
大型语言模型(LLM)彻底改变了自然语言处理(NLP)领域,展示了涌现、顿悟等非凡能力。然而,若想构建出具备一定通用能力的模型,就需要数十亿参数,这大幅提高了 NLP 研究的门槛。在 LLM 模型调优过程中通常又需要昂贵的 GPU 资源,例如 8×80GB 的 GPU 设备,这使得小型实验室和公司很难参与这一领域的研究。
人们正在研究参数高效的微调技术(PEFT),例如 LoRA 和 Prefix-tuning,为利用有限资源对 LLM 进行调优提供了解决方案。然而,这些方法并没有为全参数微调提供实用的解决方案,而全参数微调已被公认为是比参数高效微调更强大的方法。
在上周复旦大学邱锡鹏团队提交的论文《Full Parameter Fine-tuning for Large Language Models with Limited Resources》中,研究人员提出了一种新的优化器 LOw-Memory Optimization(LOMO)。
通过将 LOMO 与现有的内存节省技术集成,与标准方法(DeepSpeed 解决方案)相比,新方法将内存使用量减少到了之前的 10.8%。因此,新方法能够在一台具有 8×RTX 3090 的机器上对 65B 模型进行全参数微调,每个 RTX 3090 具有 24GB 内存。
论文链接:https://arxiv.org/abs/2306.09782
在该工作中,作者分析了 LLM 中内存使用的四个方面:激活、优化