卷友们好,我是rumor。
大模型训练中,数据质量已经是所有人的共识了。在23年开始接触Alignment之后,我一直是人工标注流派,深信InstructGPT[1]中所描述的,先train好标注员,再train好模型。那时候各个模型的质量也都一般,合成的数据一眼就能挑到一堆毛病。
事情的转折要从sora开始,了解到那么好的效果居然大量应用了合成数据之后,我开始意识到自己还停留在上一个时代。首先大模型的能力是一直在提升的,去年还被狂吹的GPT3.5现在已经被甩了几条街了,大模型在很多任务上都可以达到人类标注员的水平;其次在大模型时代,应该多去发掘模型的价值,学会和AI协作,而不是上来就先验地觉得模型生成的数据质量不过关。
随着业内模型能力和使用熟练度的整体提升,今年数据合成的工作一波又一波,数据合成的前景非常客观:
合成Prompt:GPT系列相比竞品的一个显著优势是数据飞轮,有源源不断的用户输入。合成的Prompt则可以补足多样性上的缺陷,今年Nemotron[2]、Llama3[3]的技术报告中都有跑通他们自己的飞轮
合成Pair对:RLHF阶段由于会hack RM或者依赖人工标注的Pair对,一直很难scale up起来,而当LLM-as-Judge的方式达到一定精度时,模型就可以进行self-play,不断判别->训练,用左脚踩右脚的方式提升效果
指令合成
Prompt数据需要兼具多样性和复杂度。
对于多样性,最常见的方法是人工制定一个类目体系,比如最早的Self-Instruct[4],有175个种子任务,每个任务配一个指令和例子让模型进行合成:

Nemotron-4也采用了类似的做法,分了4个大任务:OpenQA、Writing、Closed QA、Math&Coding。对于每类任务,以多个主题词和关键词作为种子。
但人工指定 or 统计出的任务仍会有一定局限性,因此更好的方法是让模型生成任务。近期腾讯一篇工作Per