LLM - 理解 多模态大语言模型(MLLM) 的 对齐微调(Alignment) 与相关技术 (五)

欢迎关注我的CSDN:https://spike.blog.csdn.net/

本文地址:https://spike.blog.csdn.net/article/details/142354652

免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。


完备(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 个关键步骤,即:

  1. 有监督的微调(Supervised Fine-Tuning, SFT),即微调预训练模型,实现初步期望的输出行为。在 RLHF 设置中,微调模型被称为策略模型(Policy Model)。注意,这一步可能会被跳过,因为 监督策略模型 π S F T \pi^{SFT} πSFT,可以是指令微调的模型。

  2. 奖励建模,即使用 偏好对(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θ 与策略模型结构相似。

  3. 强化学习,即采用 近端策略优化(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 相关步骤:

  1. 有监督的微调(Supervised Fine-Tuning, SFT)
  2. 训练 奖励模型(Reward Model, RW)
  3. 通过 近端策略优化(Proximal Policy Optimization, PPO),在奖励模型上,进行强化学习。

蓝色箭头通过这些数据训练模型。在第 2 步中,A~D是模型输入的样本,由标注者进行排序。即:

相关推荐
开源社6 分钟前
一场开源视角的AI会议即将在南京举办
人工智能·开源
FreeIPCC6 分钟前
谈一下开源生态对 AI人工智能大模型的促进作用
大数据·人工智能·机器人·开源
机器之心24 分钟前
全球十亿级轨迹点驱动,首个轨迹基础大模型来了
人工智能·后端
z千鑫25 分钟前
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
人工智能·pytorch·深度学习·aigc·tensorflow·keras·codemoss
EterNity_TiMe_26 分钟前
【论文复现】神经网络的公式推导与代码实现
人工智能·python·深度学习·神经网络·数据分析·特征分析
机智的小神仙儿42 分钟前
Query Processing——搜索与推荐系统的核心基础
人工智能·推荐算法
AI_小站1 小时前
RAG 示例:使用 langchain、Redis、llama.cpp 构建一个 kubernetes 知识库问答
人工智能·程序人生·langchain·kubernetes·llama·知识库·rag
Doker 多克1 小时前
Spring AI 框架使用的核心概念
人工智能·spring·chatgpt
Guofu_Liao1 小时前
Llama模型文件介绍
人工智能·llama
思通数科多模态大模型1 小时前
10大核心应用场景,解锁AI检测系统的智能安全之道
人工智能·深度学习·安全·目标检测·计算机视觉·自然语言处理·数据挖掘