LLM 研究方向(二): LLM Alignment--RLHF、DPO

目录

1. 大模型对齐算法token-level

2. 模型对齐 model alignment

2.1 LLM alignment concept 概念

2.2 LLM alignment target 目标

2.3 LLM alignment method architecture方法框架

2.3.1 设计和训练阶段

2.3.2 监督学习和人类反馈

2.3.3 规则和约束

2.3.4 强化学习和奖励建模

2.3.5 测试与评估

2.3.6 Future researches and challenges

3. LLM Alignment Model

3.1 RLHF (Reinforcement Learning from Human Feedback)

3.2 DPO (Direct Preference Optimization)

3.3 TDPO (token-level direct preference optimization)

4. 扩展1: 多模态对齐

4.1 MmAP

5. 扩展2: 表征工程对齐语言模型


1. 大模型对齐算法token-level

  • RLHF
  • DPO
  • TDPO

2. 模型对齐 model alignment

2.1 LLM alignment concept 概念

模型对齐指的是机器学习模型的行为与人类意图、价值观和期望一致。特别是在LLM (GPT-3、GPT-4等)中,对齐是为了模型不仅能执行技术上准确的任务,还能再实际应用中符合人类的伦理和社会标准。

2.2 LLM alignment target 目标

  • 安全性:避免模型产生有害或危险的行为。
  • 可靠性:确保模型在各种情况下都能稳定地表现出预期行为。
  • 伦理性:确保模型地决策和行为符合社会和道德规范,不侵犯用户隐私或做出歧视性地决定。

2.3 LLM alignment method architecture方法框架

2.3.1 设计和训练阶段
  • 数据选择和预处理。确保用于训练地数据集多样且无偏,反映出各种可能地使用情境和人群。
  • 公平性和去偏技术。应用技术减少或消除训练数据中地偏见,确保模型输出公平。
2.3.2 监督学习和人类反馈
  • 人类反馈回路:通过收集和利用人类反馈不断调整和改进模型。RLHF就是一个典型地方法,通过人类反馈指导模型学习。
  • 监督学习:通过人类标注地数据来指导模型地训练,使其输出符合预期。
2.3.3 规则和约束
  • 规则嵌入:在模型中嵌入特定规则和约束,确保其行为符合特定规范和标准。
  • 惩罚机制:对不符合预期的输出设置惩罚机制,使模型倾向于生成符合要求的结果。
2.3.4 强化学习和奖励建模
  • reward建模:使用奖励模型来量化输出的质量和符合度,通过奖励函数指导模型生成符合期望的输出。
  • 强化学习:通过强化学习(i.e. PPO)微调模型,使其输出逐步改进,符合人类意图。
2.3.5 测试与评估
  • 多样化测试:使用多样化测试集评估模型性能,确保其在不同场景下都能表现出色。
  • 用户调研与反馈:通过用户研究和实际反馈了解模型在现实应用中的表现,并进行相应的调整。
2.3.6 Future researches and challenges
  • 偏见和公平性:如何在模型中彻底消除偏见,确保其决策和行为对所有人群公平。
  • 透明性和可解释性:提升模型的透明性和可解释性,使其决策过程清晰可理解。
  • 动态适应:模型需要在不断变化的环境中保持对齐,适应新出现的需求和挑战。

3. LLM Alignment Model

3.1 RLHF (Reinforcement Learning from Human Feedback)

2017,Deep Reinforcement Learning from Human Preferences. RLHF是一种用于训练LLM的技术,使其行为更符合人类期望。该方法通过RL和人类反馈相结合来实现模型对齐。

RLHF LLM Alignment algorithm:

1. 初始化模型训练:首先预训练一个大语言模型LLM,使其具备人本生成能力。标准的语言模型训练方法有最大似然估计 MLE。

2. 收集人类反馈:为了让模型的行为更加符合人类期望,需要收集人类反馈。通过用来收集反馈的做法包括:

        - 人工标注:人类评估员对模型生成的文本进行评分或选择更符合期望的文本。

        - 比较选择:提供两种或多种模型生成的文本,让人类评估员选择更好的一个。

3. 训练reward model:使用收集到的人类反馈训练一个奖励模型 (reward model)。这个奖励模型根据输入文本生成一个评分,反应文本与人类期望的契合程度。

        1) 奖励模型:如神经网络Transformer、支持向量机SVM等

        2) 输入input:如模型生成的文本、上下文信息等

        3) 输出output:从人类用户那里收集到的反馈数据:如评分(1-5),定性评估(好、坏)。

        4) Loss 函数:均方误差MSE、交叉熵损失。

4. 强化学习阶段:使用强化学习模型(i.e. PPO, Proximal Policy Optimization)来微调语言模型,关键步骤是以pre-trained模型作为component去构建一个更大的PPO Trainer,然后根据rewards差值去BP。具体步骤如下:

        1) 生成样本:使用当前语言模型生成一批文本样本。

        2) 计算奖励:通过奖励模型对这些生成的本文进行打分,计算每个样本的奖励值r。

        3) 优化策略:根据这些奖励值,通过强化学习算法去调整语言模型的参数,使其生成更符合人类期望的文本。

        4) 扩展:PPO paper,2017,Proximal Policy Optimization Algorithms,

        5) 迭代过程。每次迭代过程中,model生成新的文本样本,收集人类反馈,更新奖励模型,然后通过RL微调语言模型。

3.2 DPO (Direct Preference Optimization)

2023,Direct Preference Optimizaiton: Your Language Model is Secretly a Reward Model

DPO核心思想是直接利用人类偏好来优化模型生成的输出,而不是通过间接的奖励建模和强化学习过程。

DPO 方法具体流程如下:

1. 收集人类偏好数据preference收集大量人类对成对生成文本地偏好数据。即给定两个生成的文本,让人类评估员选择更好的一个!比如:

feedback_data = [

    {"text1": "生成的文本1", "text2": "生成的文本2", "preference": 1},  # preference=1表示text1更好 

    {"text1": "生成的文本3", "text2": "生成的文本4", "preference": 2},  # preference=2表示text2更好]

2. 训练偏好模型 preference model。根据人类偏好数据训练好一个模型,使其能够预测文本地偏好。

for feedback in feedback_data:

train_texts.append(feedback["text1"]) train_labels.append(1iffeedback["preference"] == 1 else 0)

train_texts.append(feedback["text2"]) train_labels.append(0iffeedback["preference"] == 1 else 1)

3. 直接优化生成模型。通过优化生成模型的输出,使其更符合人类偏好。比如:GPT-2 model根据模型的输入来获取模型输出outputs,outputs包含了以下几个主要部分:

        1) logits:模型生成的预测值,即predict text embeddings

        2) loss:如果训练时传递了标签labels index,则outputs会包含损失值,model可以根据label index指定的label text来计算loss。

        3) Preference label指定使用哪个label loss。如果训练数据label index和人工反馈的preference label一致,则现有loss=loss1-loss2不变,否则就反过来loss=loss2-loss1。总之,就是要让model再次微调,让生成的文本更靠近人工反馈文本对中期望的那一个!

3.3 TDPO (token-level direct preference optimization)

2024,Token-level direct preference optimization,核心是直接优化偏好preference

TDPO算法主要思想:

1. 直接优化偏好 (direct preference optimization)

        1) 评估指标设计。可以用基于语义相似性指标BLUEROUGH,评估生成文本与上下文本语境之间的相似度和偏好程度

        2) 奖励机制设计。设计一个基于pre-trained model的奖励函数,该函数评估生成文本在语义和语法上的流畅性和准确性!

        3) 多任务学习。将优化目标文本偏好的任务作为一个附加任务(auxiliary task)即生成任务、优化任务(优化目标文本与目标文本的相似性)共用share一个model结果。即在训练生成模型GPT时,同时再训练一个优化任务,可以结合不用的loss funciton组合。

2. token级别优化。在TDPO中,优化过程是在生成文本的每个词token级别进行的。这意味着模型在生成每个词时,考虑到整体上下文的同时,也要保持每个词与目标文本的直接关系优化。thenhow to do that

        1) 设计一个损失函数,不仅要考虑生成文本整体与目标文本之间的距离(如cross-entropy),还要考虑每个词token级别的对应关系:序列级别的损失函数 + 逐词损失函数。比如,可以用序列级别的BLUE或ROUGE分数作为整体损失的一部分,同时还使用交叉熵来优化每个词的生成。

        2) 对抗性训练,确保生成文本在句法和语义上与目标文本尽可能接近。引入一个判别器discriminator,用于评估生成本本的真实性和接近度。

        3) 逐词注意力机制。

4. 扩展1: 多模态对齐

4.1 MmAP

AAAI 2024,MmAP: Multi-Modal Alignment Prompt for Cross-Domain Multi-Task Learning,跨域多任务学习的多模态对齐提示。

1. 视觉语言模型CLIP(Contrastive Language-Image Pretraining),通过对比学习,将图像和文本嵌入到一个共同的特征空间中,使得相关联的图像和文本对pair在该空间中距离较近,而不相关的图像和文本对距离较远。它包括两个主要部分:图像编码器(如ResNet、Vision Transformer(ViT)提取图像特征)、文本编码器(GPT-2)提取文本特征。

2. 通过对比学习loss,最大化正确image embedding和text embedding之间的余弦相似度,最小化错误图文对之间的相似度。

5. 扩展2: 表征工程对齐语言模型

这类方法向语言模型地表征空间中添加扰动 perturbation,再不改变模型参数的情况下调整其生成行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天狼啸月1990

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值