OpenChat

· 标题: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):\alpha < 1
  • 通过C(onditioned)-RLFT来做微调,主要包括两个关键因素:

    (1)用明显的prompt tokens来区别不同的训练样本。

(2)为了弥补coarse-grained reward的缺陷,跟OfflineRL那样用KKT条件推导了带KL限制的最大化reward的优化方式,把一个带限制的最大化目标问题,一个简单的奖励加权回归目标问题。
  • 本质上还是考虑到①目前开源的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前面增加标识的性能更好。

参考

https://air.tsinghua.edu.cn/info/1007/2174.htm

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容