在当前的自然语言处理(NLP)领域,微调预训练的大型语言模型(LLMs)已经成为了标准做法。然而,随着LLMs的规模不断扩大,由于需要进行反向传播(BP)来计算一阶(FO)优化器的梯度,如随机梯度下降(SGD)和Adam,导致内存开销巨大,成为一个显著的挑战。这种挑战在内存效率至关重要的应用中尤为突出,如设备上的训练。
为了解决这个问题,一篇名为《Revisiting Zeroth-Order Optimization for Memory-Efficient LLM Fine-Tuning: A Benchmark》的论文提出了一种基于零阶(ZO)优化的方法,以减少LLM微调过程中的内存成本。该论文由Yihua Zhang、Pingzhi Li、Junyuan Hong、Jiaxiang Li、Yimeng Zhang、Wenqing Zheng、Pin-Yu Chen、Jason D. Lee、Wotao Yin、Mingyi Hong、Zhangyang Wang、Sijia Liu和Tianlong Chen等学者共同撰写,并在ICML 2024会议上进行了展示。
这篇论文的主要贡献在于,它提出了一种全新的方法来减少LLM微调过程中的内存开销,而无需依赖传统的一阶优化器。具体而言,该论文提出了一种基于零阶优化的方法,该方法通过避免反向传播来计算梯度,从而显著减少了内存的使用。
与传统的零阶随机梯度下降(ZO-SGD)方法不同,该论文扩展了对各种零阶优化技术的研究,并通过对五个LLM系列(Roberta、OPT、LLaMA、Vicuna和Mistral)、三个任务复杂性和五种微调方案进行全面的、前所未有的基准研究,以评估这些技术的有效性。
这项研究揭示了一些以前被忽视的优化原理,强调了任务对齐的重要性,前向梯度方法的作用,以及算法复杂性和微调性能之间的平衡。此外,该论文还引入了几种新颖的零阶优化增强方法,包括块下降、混合训练和梯度稀疏性。
该研究为实现更高效的LLM微调提供了一个有希望的方向。通过使用零阶优化器,可以显著减少内存开销,从而使得在资源受限的环境中进行LLM微调变得更加可行。这对于推动NLP领域的发展具有重要意义,因为它使得研究人员和开发人员能够更有效地利用计算资源,并更快地获得更好的结果。
然而,值得注意的是,该研究也存在一些局限性。首先,尽管该研究在减少内存开销方面取得了显著进展,但零阶优化器的性能可能仍然无法与一阶优化器相媲美。这可能是因为零阶优化器在计算梯度时使用的是噪声估计,而不是精确的梯度计算。
其次,该研究的基准测试可能存在一定的局限性。虽然它涵盖了五个LLM系列、三个任务复杂性和五种微调方案,但仍然可能存在其他未被考虑的因素或情况,这些因素或情况可能会影响零阶优化器的性能。
最后,该研究的实用性可能受到一些实际因素的限制。例如,在实际应用中,可能需要对现有的LLM微调管道进行重大修改,以适应零阶优化器的使用。此外,零阶优化器可能不适用于所有类型的NLP任务或数据集。