· 标题:OpenChat: Advancing Open-source Language Models with Mixed-Quality Data
· 链接: https://arxiv.org/abs/2309.11235
· 代码: https://github.com/imoneoi/openchat
· 模型: https://huggingface.co/openchat
· 演示: https://openchat.team/zh
Motivation
- 目前的SFT和RLHF方法都忽略了训练数据的质量,或是需要昂贵的人工标注
- 探索一个新的可能的微调方案,让开源的LLMs可以使用简单的混合数据(高质量混合中等质量)提升效果(而非定制化的偏好数据)
- 所谓混合数据,就是把GPT3.5(中等质量)和GPT4(高质量)的数据混合在一起。 ShareGPT dataset,3.5和4的数据分别采样128个对话,使用GPT4来打分
Contribution
- 提供了一个小数据集,包含高质量对话数据,和一个大数据集,包含次优的对话数据。且并不是偏好数据
-
提出了一个新的嗯OpenChat framwork来平衡混合质量数据:Class Conditioned-RLFT(C-RLFT)
Conditioned-RLFT
Key Idea
- 定义了 class-conditioned dataset and reward,使用来自GPT3.5和4的两个公开数据集,手工定义很粗糙的reward(coarse-grained reward):
-
通过C(onditioned)-RLFT来做微调,主要包括两个关键因素:
(1)用明显的prompt tokens来区别不同的训练样本。
- 本质上还是考虑到①目前开源的LLMs性能甚至比次优数据GPT3.5还要差,②(1)中的数据构造方式能帮助模型区别高质量回答和低质量回答
Experiment $ Analysis
- 效果1:在AlpacaEval,MT-bench上表现达到了13b模型的巅峰,Vicuna-bench上仅次于llama2-chat,openchat-13b是基于llama2基座微调的。相比较大于13b的模型也毫不逊色。 Table 1
- 效果2:单独拉出来MT-bench上的表现,openchat-13甚至比llama-2-70b都要强,比好几个大于13b的模型都强。另外单独分析AGIEval的acc,可以看到虽然openchat-13b在Vicuna-bench上次于llama2-chat,但llama2-chat还是有比较大的能力不均衡问题的,不如openchat-13b的能力全面 Fig 2
- 消融实验:如果without coarse-grained reward的设定,把所有数据都当做同等reward来训练,可以看到性能都有所下降;如果without condition的Prompt提示,无法分别那种回答来自低质量数据,也会损害性能。另外也分别在全量数据集、3.5、4的这3个数据集上分别SFT,效果都不如论文的方案。 image.png
- 经过C-RLFT之后的模型对于GPT4和GPT3.5的数据更能区别:
- 即便GPT4的数据量占比比较少,但GPT4数据(高质量)量的大小更加影响最终效果。
- 测试了不同的Prompt类型,在assistant前面增加标识的性能更好。
网友评论