大模型对齐用的偏好数据怎么采集和建模?
面试怎么回答
偏好数据的基本单元是提示加两个或多个候选回答,再加偏好结果、维度评分和标注理由。来源包括用户的点赞点踩、重新生成的选择和编辑后的版本,用不同模型和参数生成多个回答主动采集,专家标注,以及强模型初标加人工复核。建模上分提示表、回答表(记录生成模型和版本)、比较事实表(偏好结果、维度评分、标注者、标注方式)和标注者维表,方便按场景、模型版本和标注质量筛选。质量上要有明确的标注规范和优先级,多人标注算一致率,用已知答案样本考核标注者,随机化顺序避免位置偏差,注意长度偏好,用户反馈要去噪,数据集版本化。
先把这段讲顺;面试官追问时,再展开下面的原理和细节。
详细讲解
模型微调之后,往往还要用偏好数据进一步对齐:对同一个问题,给出两个回答,标注哪个更好。RLHF、DPO 等方法都依赖这类数据。面试官问这题,想看你能不能从数据采集、标注、建模到质量控制设计一整套方案。
偏好数据长什么样
基本单元是一个「比较」:
- 提示(问题 + 上下文);
- 两个或多个候选回答;
- 偏好标注:哪个更好,或者排序;
- 可选的细节:在哪些维度更好(准确性、有用性、安全性),标注者的理由。
数据从哪里来
- 线上用户反馈:点赞点踩、重新生成后选择了哪个、用户编辑后的版本(编辑后的可以视为比原回答更好);
- 主动采集:同一个问题用不同模型、不同参数生成多个回答,让标注员比较;
- 专家标注:专业领域(法律、医疗、数据口径)由专家判断;
- 模型辅助标注:用更强的模型做初步判断,人工复核分歧和低置信度的样本。
数据建模
可以按数仓的思路建表:
- 提示表:提示 ID、内容、来源、场景分类、难度;
- 回答表:回答 ID、提示 ID、生成的模型和版本、参数、内容;
- 比较事实表:比较 ID、提示 ID、回答 A、回答 B、偏好结果、维度评分、标注者 ID、标注时间、标注方式(人工、模型、用户反馈);
- 标注者维表:标注者的资质、领域、历史一致率。
这样可以灵活地按场景、按模型版本、按标注者质量筛选训练数据。
质量控制
- 标注规范:明确什么叫「更好」,给出优先级(比如安全 > 准确 > 有用 > 简洁),以及大量的示例;
- 一致性检查:同一样本让多人标注,计算标注者之间的一致率;一致率低的样本说明本身有歧义,可以剔除或单独讨论;
- 标注者质量:插入已知答案的样本检测标注质量,对一致率低的标注者重新培训;
- 偏差检查:标注者是否偏好更长的回答、是否总选第一个(位置偏差,需要随机化顺序);
- 用户反馈的噪声:点踩可能是因为不满意答案本身而不是回答质量,用户反馈数据需要清洗和去噪后再使用。
用好数据
- 覆盖不同场景和难度,避免偏好数据集中在简单问题;
- 比较的两个回答差异要有意义,太接近的样本信息量低;
- 数据集版本化,记录构建规则。