https://arxiv.org/pdf/2401.10020.pdf
这篇文章介绍了一种名为“Self-Rewarding Language Models”的算法,其核心思想是让语言模型(LLM)在训练过程中自我提供奖励信号,以实现自我改进。这种方法与传统的从人类偏好中学习奖励模型的方法不同,后者可能会受到人类表现水平的限制,并且一旦奖励模型被冻结,就不能在学习过程中继续改进。
文章中提出的算法原理包括以下几个关键步骤:
- 初始化(Initialization) :
- 使用一个预训练的基础语言模型(如Llama 2 70B)。
- 准备种子训练数据,包括指令跟随(Instruction Fine-Tuning, IFT)数据和LLM-as-a-Judge指令跟随数据(Evaluation Fine-Tuning, EFT)。
- 自我指令创建(Self-Instruction Creation) :
- 生成新的提示(prompt),用于模型生成候选响应。
- 使用模型自身(LLM-as-a-Judge)来评估这些候选响应的质量,并为其分配奖励分数。
- 指令跟随训练(Instruction Following Training) :
- 使用种子IFT和EFT数据进行初始训练。
- 通过AI反馈(AI Feedback, AIFT)来增强训练数据,这包括偏好对(preference pairs)和/或仅正面示例(positive examples only)。
- 迭代训练(Iterative Training) :
- 通过迭代过程,每个后续模型都使用前一个模型生成的偏好数据进行训练,从而实现自我改进。
- 模型序列(Model Sequence)定义为M1, ..., MT,每个模型t使用由t-1th模型创建的增强训练数据进行训练。
- 评估(Evaluation) :
- 使用GPT-4作为评估器,通过AlpacaEval 2.0 leaderboard格式评估模型的指令跟随能力和奖励建模能力。
文章中强调,这种方法允许模型在迭代训练过程中不仅提高其生成响应的能力,而且作为自己的奖励模型,其奖励建模能力也在不断提高。这意味着模型能够在后续迭代中为自己提供比前一迭代更高质量的偏好数据集,从而有可能获得超越仅基于原始人类编写的种子数据训练的奖励模型和LLM。
这种自我奖励的方法为模型提供了持续改进的潜力,打破了通常将奖励模型固定的做法,从而提高了学习模型自我改进的上限。