欢迎关注我的CSDN:https://spike.blog.csdn.net/
免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。
完备(Full-Fledged) 的 多模态大语言模型(MLLM) 经历 3 个阶段的训练,即 预训练(Pre-training)、指令微调(Instruction-Tuning) 和 对齐调优(Alignment Tuning)。每个训练阶段都需要不同类型的数据,并且实现不同的目标。本篇介绍,对齐微调(Alignment Tuning) 部分。
对齐微调 (Alignment Tuning) ,通常用于需要将模型与特定人类偏好对齐的场景中,例如,在响应中包含更少的幻觉。目前,基于人类反馈的强化学习(Reinforcement Learning with Human Feedback, RLHF) 和 直接偏好优化(Direct Preference Optimization, DPO) 是对齐微调的两种主要技术。依次介绍这两种技术的主要思想,提供用于解决实际问题的示例,最后,给出相关数据集的汇总。
Alignment tuning is more often used in scenarios where models need to be aligned with specific human preferences, e.g. response with fewer hallucinations. Currently, Reinforcement Learning with Human Feedback (RLHF) and Direct Preference Optimization (DPO) are two main techniques for alignment tuning. In this section, we introduce the main ideas of the two techniques in sequence and offer some examples of how they are utilized in addressing practical problems, and finally, give a compilation of the related datasets.
RLHF 使用强化学习算法,将 大语言模型(LLMs) 与 人类偏好 对齐,在训练循环中,以人类注释作为监督,参考 InstructGPT 中的示例,RLHF 主要包含 3 个关键步骤,即:
-
有监督的微调(Supervised Fine-Tuning, SFT),即微调预训练模型,实现初步期望的输出行为。在 RLHF 设置中,微调模型被称为策略模型(Policy Model)。注意,这一步可能会被跳过,因为 监督策略模型 π S F T \pi^{SFT} πSFT,可以是指令微调的模型。
-
奖励建模,即使用 偏好对(Preference Pairs) 训练奖励模型,输入 多模态的提示(例如,图像和文本) x x x 和 响应对 ( y w , y l ) (y_{w},y_{l}) (yw,yl),奖励模型 r θ r_{\theta} rθ 学习给予首选响应 y w y_{w} yw 更高的奖励,相比于 y l y_{l} yl,根据以下训练目标:
L ( θ ) = − E x , y w , y l [ l o g ( σ ( r θ ( x , y w ) − r θ ( x , y l ) ) ) ] L(\theta)=-E_{x,y_{w},y_{l}}[log(\sigma(r_{\theta}(x,y_{w}) - r_{\theta}(x,y_{l})))] L(θ)=−Ex,yw,yl[log(σ(rθ(x,yw)−rθ(x,yl)))]其中 D = { ( x , y w , y l ) } D = \{(x, yw, yl)\} D={(x,yw,yl)} 是由人类标注的对比数据集。在实践中,奖励模型 r θ r_{\theta} rθ 与策略模型结构相似。
-
强化学习,即采用 近端策略优化(Proximal Policy Optimization, PPO) 算法来优化 RL 策略模型 π ϕ R L \pi^{RL}{\phi} πϕRL。通常,在训练目标中,每个令牌添加 KL 惩罚,以避免偏离原始策略太远,从而得到训练目标:
L ( ϕ ) = − E x ∼ D , y ∼ π ϕ R L ( y ∣ x ) [ r θ ( x , y ) − β D K L ( π ϕ R L ( y ∣ x ) ∣ ∣ π R E F ( y ∣ x ) ) ] L(\phi)=-E{x \sim D, y \sim \pi_{\phi}^{RL}(y|x)}[r_{\theta(x,y)}-\beta D_{KL}(\pi_{\phi}^{RL}(y|x) || \pi^{REF}(y|x))] L(ϕ)=−Ex∼D,y∼πϕRL(y∣x)[rθ(x,y)−βDKL(πϕRL(y∣x)∣∣πREF(y∣x))]其中 β \beta β 是 KL 惩罚项的系数。通常,RL 策略 π ϕ R L \pi_{\phi}^{RL} πϕRL 和参考模型 π R E F \pi^{REF} πREF 都是从监督模型 π S F T \pi^{SFT} πSFT 初始化的。通过这个调整过程,所获得的 RL 策略模型预计将与人类偏好对齐。
研究人员已经探索了使用 RLHF 技术进行更好的多模态对齐。例如,LLaVA-RLHF 收集人类偏好数据,根据 LLaVA 调整模型,以减少幻觉。
DPO 使用简单的二元分类损失,从人类偏好标签中学习,与基于 PPO 的 RLHF 算法相比,DPO 无需学习显式的奖励模型,从而将整个流程简化为两个步骤,即人类偏好数据收集和偏好学习。学习目标如下:
L ( ϕ ) = − E ( x , y w , y l ) ∼ D [ l o g σ ( β l o g π ϕ R L ( y w ∣ x ) π R E F ( y w ∣ x ) ) − β l o g π ϕ R L ( y l ∣ x ) π R E F ( y l ∣ x ) ) ] L(\phi)=-E_{(x,y_w,y_l) \sim D}[log\sigma(\beta log \frac{\pi_{\phi}^{RL}(y_{w}|x)}{\pi^{REF}(y_{w}|x)}) - \beta log \frac{\pi_{\phi}^{RL}(y_{l}|x)}{\pi^{REF}(y_{l}|x)})] L(ϕ)=−E(x,yw,yl)∼D[logσ(βlogπREF(yw∣x)πϕRL(yw∣x))−βlogπREF(yl∣x)πϕRL(yl∣x))]
RLHF-V 通过纠正模型响应中的幻觉,收集 细粒度(段落级) 偏好数据对,使用获得的数据执行密集 DPO。或者,通过提示 GPT-4V 收集偏好数据,通过 DPO 将偏好监督蒸馏到指令调整模型中。
相关数据集,对齐调整的数据收集要点是收集对模型响应的反馈,即决定哪个响应更好。通常,收集这类数据的成本更高,而且这一阶段使用的数据显示通常甚至比前一阶段还要少,即:
- LLaVA-RLHF,包含 10K 个基于诚实度和有用性从人类反馈中收集的偏好对,主要用于减少模型响应中的幻觉。
- RLHF-V,包含 5.7K 个通过段落级幻觉纠正收集的细粒度人类反馈数据。
- VLFeedback,利用人工智能对模型响应提供反馈,数据集包含了超过 380K 个由 GPT-4V 根据有用性、忠实度和伦理问题评分的比较对。
对齐调整的数据集汇总,对于输入/输出模态,I
: 图像,T
: 文本:
参考论文:
InstructGPT 的 RLHF 相关步骤:
- 有监督的微调(Supervised Fine-Tuning, SFT)
- 训练 奖励模型(Reward Model, RW)
- 通过 近端策略优化(Proximal Policy Optimization, PPO),在奖励模型上,进行强化学习。
蓝色箭头通过这些数据训练模型。在第 2 步中,A~D是模型输入的样本,由标注者进行排序。即: