OpenAssistant Conversations – Democratizing Large Language Model Alignment


TL;DR

本文发布了一个通过全球众包构建的大规模、多语言、人工标注的对话数据集——OpenAssistant Conversations,旨在通过开放高质量的人类反馈数据,推进大型语言模型对齐技术的研究民主化。

关键定义

本文提出或使用的核心概念包括:

  1. 对话树 (Conversation Tree, CT):一种核心数据结构,用于表示对话。树的根节点是初始提示(prompt),每个节点代表对话中的一条消息。一个节点可以有多个子节点,代表对该消息的不同回复,从而形成对话的分支。从根节点到任意节点的路径构成一个完整的对话线程。

  2. 对话角色 (Prompter & Assistant):为避免混淆,本文定义了对话中的两个角色。\(prompter\) 负责发起对话和提出后续问题/指令,而 \(assistant\) 负责提供回复。这两个角色原则上可以由人类用户或机器扮演。

  3. 消息树状态机 (Message Tree State Machine):一个管理对话树在数据收集中进展的系统方法。对话树会经历不同状态,如“初始提示审查”、“生长中”、“已完成”或“因低质量而中止”,以确保数据收集流程的系统性和质量控制。

相关工作

当前,最先进的大型语言模型(LLM)对齐技术,如监督微调(SFT)和基于人类反馈的强化学习(RLHF),严重依赖高质量的人类反馈数据。然而,这类数据的创建成本高昂,且通常为少数大型研究机构所私有,并不公开。

虽然存在一些开放获取的指令数据集,但它们大多是利用语言模型自动生成的合成数据,在复杂性、创造性和质量上受到限制。这导致对齐研究的进展被少数能承担大规模数据收集的机构所垄断,阻碍了该领域的包容性和多样化发展。

本文旨在解决这一关键问题:缺乏一个大规模、高质量、多语言且完全开放的人类生成与标注的对话数据集,以支持更广泛的社区进行语言模型对齐研究。

本文方法

本文的核心贡献是通过一次大规模的全球众包活动,创建并发布了 OpenAssistant Conversations 数据集。

数据格式

数据集由一系列对话树(CT)组成。每个对话树的根节点是初始提示,后续节点交替扮演 \(prompter\) 和 \(assistant\) 的角色。每个父节点可以有多个子回复,形成树状分支结构。这种结构允许一条初始指令衍生出多条不同的对话路径。每个消息节点都附带元数据,如用户提供的质量标签、时间戳和语言信息。\(assistant\) 的回复还带有一个排序值(rank),表示其相对于其他兄弟回复的优劣。

Refer to caption

数据收集

数据收集通过一个专门的 Web 应用进行,有超过 13,500 名志愿者参与。整个过程被分解为五个独立的微任务,以提高效率并减少因用户流失造成的数据损失。

  1. 创建提示 (Create a prompt):用户提交一个初始提示,作为新对话树的根。
  2. 扮演助理回复 (Reply as assistant):用户针对 \(prompter\) 的请求提供详细、有用的回答。
  3. 扮演提问者回复 (Reply as prompter):用户继续对话,可以提出澄清问题、修改意图或转换话题。
  4. 标注提示或回复 (Label a prompt or reply):用户对消息进行多维度评估,包括是否为垃圾信息、是否遵循指南(如包含仇恨言论、个⼈身份信息等),以及在质量、创造性、幽默性等多个维度上进行五分制打分。
  5. 排序助理回复 (Rank assistant replies):用户对同一提示下的多个 \(assistant\) 回复进行优劣排序。

质量控制

为确保数据质量,本文采取了多管齐下的方法:

数据集构成

最终发布的数据集包含 161,443 条消息,分布在 66,497 个对话树中,涵盖 35 种不同语言,并附有 461,292 条质量评分。其中,人类提交的消息有 152,867 条。

Refer to caption

实验结论

为了验证数据集的有效性,本文基于 Pythia、LLaMA 和 Falcon 等开源模型,使用 OpenAssistant Conversations 数据集进行了监督微调(SFT)和基于人类反馈的强化学习(RLHF)实验。

模型性能

实验结果表明,使用 OpenAssistant Conversations 数据集进行微调的模型,在多个标准基准测试中(如 LMEH)的性能一致优于其对应的基础模型。例如,使用该数据集微调的 LLaMA-30B 模型甚至超过了更大的 LLaMA-65B 基础模型。然而,在不同基准上,RLHF 模型并不总是优于 SFT 模型。这表明数据集的有效性,同时也反映了自动评估语言模型的局限性。

模型 LMEH VEL OAIE HE
gpt-3.5-turbo (ChatGPT)   1110 0.87 0.72
EleutherAI/pythia-12b 60.33      
OpenAssistant/pythia-12b-sft-v8-7k-steps 60.28 997 0.10 0.10
tiiuae/falcon-40b 72.29      
OpenAssistant/falcon-40b-sft-top1-560 74.04 1192 0.26 0.09
OpenAssistant/falcon-40b-sft-mix-1226 74.40 1053 0.44 0.13
huggyllama/llama-65b 67.24      
OpenAssistant/oasst-sft-7e3-llama-30b 68.03 979 0.52 0.20
OpenAssistant/oasst-rlhf-3-llama-30b-5k-steps 68.51 1068 0.51 0.15

垃圾信息与毒性分析

本文使用 Detoxify 模型对数据集中的内容进行了自动毒性评估,并与人类标注进行了比较。

Refer to caption

状态 毒性 淫秽 威胁 侮辱 身份攻击 露骨 N
已删除 4.625% 1.965% 0.411% 2.085% 0.651% 1.39% 3422
已保留 0.988% 0.574% 0.102% 0.715% 0.121% 0.177% 71359

总结

本文成功创建一个大规模、高质量的开放对话数据集,并证明了其在模型对齐任务中的价值。模型在标准基准上取得了一致的性能提升。然而,本文也承认存在局限性,如奖励模型的数据收集方式与 InstructGPT 不同、数据可能存在主观和文化偏见(贡献者以男性为主),以及数据集中可能仍残留少量不安全内容。因此,发布的模型仅推荐用于学术研究,并强烈建议使用者在使用前对其进行彻底的安全性和偏见评估。