# RAFT: Reward rAnked FineTuning for Generative Foundation Model Alignment

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FNkazVObQqPsGYrTglxoB%2Fimage.png?alt=media&#x26;token=c2df3abe-8f74-44c6-be01-f754fd6d0bb7" alt=""><figcaption></figcaption></figure>

## 阅读总结报告

### 1. 研究背景

生成性基础模型（Generative Foundation Models）在大量无监督训练数据中可能会产生隐含偏见，导致次优样本、偏差结果和不公平现象，可能带来严重后果。因此，将这些模型与人类伦理和偏好对齐是确保其在现实世界应用中负责任和有效部署的关键步骤。以往的研究主要采用基于人类反馈的强化学习（Reinforcement Learning from Human Feedback, RLHF）来解决这个问题，但RL算法的低效性和不稳定性常常成为成功对齐的重大障碍，需要开发更健壮和简化的方法。

### 2. 过去方案和缺点

以往的方法，如RLHF，通过使用人类反馈信息指导的奖励模型来微调生成模型。然而，RL算法的学习方式是通过与环境的试错互动，通常比监督学习不稳定且效率低。此外，RLHF中的奖励模型评估可能只关注特定方面，可能忽视生成输出的质量。还有研究尝试在视觉生成模型上执行RLHF，但需要对这些模型进行大量适应才能对齐。

<figure><img src="https://1203660092-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVIbHxVNUonwDG5X6HrVv%2Fuploads%2FEqqz5ggihB9VpF7eCUTr%2Fimage.png?alt=media&#x26;token=51504e8f-60fa-4323-a251-dc5376b5dab8" alt=""><figcaption></figcaption></figure>

### 3. 本文方案和步骤

本文提出了一个新的框架——奖励排名微调（Reward rAnked FineTuning, RAFT），旨在有效对齐生成模型。RAFT利用奖励模型和足够数量的样本，选择高质量样本，丢弃表现出不良行为的样本，然后通过在这些过滤后的样本上进行微调来增强模型。RAFT的过程分为三个步骤：1) 从生成模型中采样一批样本；2) 使用奖励模型对样本进行评分并过滤以获得高奖励的子集；3) 通过在步骤2中过滤的子集上进行微调来改进生成模型。

### 4. 本文创新点与贡献

RAFT框架提供了与主要的PPO算法相比的优势，包括：

* 基于类似SFT的训练，提供增强的稳定性和鲁棒性；
* 减少了内存负担，因为数据生成和模型微调是解耦的；
* 灵活地训练任意生成模型，只要有一个作为质量度量的奖励模型；
* 优先考虑偏好而非价值，对奖励缩放具有抵抗力。

### 5. 本文实验

实验使用LLaMA-7B模型和HH-RLHF数据集进行，展示了RAFT在奖励学习和其他自动化指标上的有效性。实验结果表明，RAFT能够有效提高模型性能，并且在大型语言模型和扩散模型上都取得了良好的效果。

### 6. 实验结论

RAFT能够有效地优化LLMs，同时保持适度的困惑度（perplexity），并且在多样性指标上优于PPO对齐模型。此外，RAFT在训练过程中的困惑度相对稳定，而PPO模型的困惑度通常会随着奖励的增加而迅速恶化。

### 7. 全文结论

RAFT是一个简单但有效的对齐框架，它通过奖励模型迭代地从最佳策略中学习，提供了一种新的对齐生成模型的方法。RAFT的解耦特性使其在数据资源和处理上具有灵活性，并且由于其基于偏好的目标清晰且可解释，有助于减轻奖励黑客问题。作者希望RAFT框架能够丰富RLHF的工具箱，促进基础生成模型对齐的进一步研究和改进。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://elwood.gitbook.io/foundation-model-sec/others/raft-reward-ranked-finetuning-for-generative-foundation-model-alignment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
