三七互娱技术团队

LLM-SFT训练指"北"

01

前言

Image
Image

垂类场景(游戏,法律,医学等)下,如何进行SFT训练,核心目的是让通用大模型适应特定领域知识和任务格式。

  • SFT的数据多样性到底是什么?什么叫高质量的SFT数据。

    SFT阶段能注入知识吗?能是为什么,不能又是为什么?

    通用基座如何提升模型垂类场景的知识能力?

02

评价指标

Image
Image

评价维度:

  • 真实性:指输出包含准确的信息,不会胡编乱造、不会前后矛盾。

    有用性:能够清晰理解用户意图,回答合理,并给出专业可靠的答复。

    安全性:安全性指输出不包含政治敏感内容、色情或者暴力内容,不会对用户造成身体、心理或社交伤害,不威胁公共安全。


版更指标:GSB评估;人评(双盲);机评(position bias)

03

数据建设

Image
Image
  • 冷启数据如何收集?

    多样性怎么评估?

数据来源

真实数据

  • 竞品爬虫。

    内部过往积累知识。

合成数据
核心围绕:可控性,多样性。

  • Self-Instruct:给定问题分类+seed+examples做self-instuct。By GPT3。

    • Classification:可控

    • Filtering:过滤质量低,多样性去重。

Image
  • Personas:prompt给定人设信息,从人设信息出发,构造合成数据。

Image

多样性评估

To achieve diverse coverage in the prompt set, we employ automatic filters to select questions that require rich reasoning and are straightforward to evaluate. Our dataset includes problems from various domains, such as STEM fields, competitions, and general reasoning tasks, incorporating both text-only and image-text question-answering data. Furthermore,we developed a tagging system to categorize prompts by domain and discipline, ensuring balanced representation across different subject areas。

From Kimi 1.5 tech report。

核心:让prompt/数据有标签体系。
游戏场景下:设想的维度,玩法x内容。

  • 玩法:RPG,SLG,MOBA

    内容:道具,人物,数值,攻略。

Image
  • 数据类目分布热力图:数据标注明显有了⽅向感,数据扩量更好量化。

04

踩坑实验

Image
Image

注⼊知识

Image

背景:SFT后的模型,模型对于人名类的问题,统一回复是xxx副总裁。

原因:模型过拟合,强行注入知识,模型死机硬背,仅学到pattern,带来幻觉。
解法:剔除通用场景的人设注入数据,通过RAG方式进行检索生成。
fix后:

Image

SFT仅仅只是behavior cloning。

垂类&通用知识占比

背景:原始数据中,通用数据的占比较少,仅约10~20%,其他3类数据(安全,游戏,内部)占比较大。

影响:

Image

fix:调整训练数据占比,极大提升通用数据,并降低大幅降低垂域游戏数据占比。

Image
Image

结论:需要大量的通用数据,来保证模型的基础回复能力。

Less is more

Quantity Scaling up the number of examples is a well-known strategy for improving performance in many machine learning settings. To test its effect on our setting, we sample exponentially increasing training sets from Stack Exchange. Figure 6 shows that, surprisingly,doubling the training set does not improve response quality. This result, alongside our other findings in this section, suggests that the scaling laws of alignment are not necessarily subject to quantity alone, but rathera function of prompt diversitywhile maintaining high quality responses.

By LIMA

问题:

  • 原始训练数据存在大量的重复游戏知识数据,

    数据样式,<游戏名>这款游戏发行商<发行商名>,是一款xxxx 这样的格式,

    在SFT阶段pattern同质化太严重,属于无效数据,可能引起过拟合。

1.xx达人这款游戏发行商是广州xx有限公司,品类是3D Tiles、休闲益智、消除,应用描述:3D益智的解压消除小游戏,有手就能通关!
2.xx跳棋这款游戏发行商是宁波xx有限公司,是一款棋牌博彩题材的游戏,应用描述:跳棋双人对战,多人混战,好友团战。
3.xx风云这款游戏发行商是苏州xx有限公司,发布日期为2024-10-25,是一款中国历史题材的游戏,应用描述:女主晋升,古风时装轻松获取。

结果:SFT数据 10w量级 --> k量级。(高质量数据),SFT数据量级显著降低的情况下,并不明显影响模型最终评测效果。
结论:SFT阶段数据不是“越多越好”!
经验:在SFT训练数据数据与LLaMa、Yi等类似量级,保持在10-100k以内的水平。

Prompt一致性

背景
通⽤问答prompt会提到“不要回答xxx问题”,但实际SFT数据并没有保证遵守此设定,prompt
和实际回复⽅式的⼀致性对最终微调效果的影响是否有影响,一直是不清晰的点。

实验设置
以编程为例⼦,垂类人设的设定是不需要满⾜⽤⼾提出编程问题的需求,即可以⽤拒识/回避式回复。

Image

数据:

  • k量级通⽤垂类数据(不包含编程)

    14条编程相关数据(有满⾜式回复和回避式回复)


前提:

  • 原底座会满⾜编程问题

    “不回答编程问题”算是「垂类场景」新的指令遵循需求


实验结果:

Image

结论:

  • #2 说明prompt与实际回复⼀致时是能很好完成新的指令遵循需求;

    #1 和 #3 说明prompt说⼀套实际回复另⼀套的话,模型⼤部分情况是跟着实际SFT的回复⾛,此时


指令遵循是不可控的状态;

  • #2 只增加回避式回复会严重导致偏差,对满⾜式回复有需求的话需要做更进⼀步的对⻬(⻅下面)。


补充实验

Image
  • 与底座能⼒不同的新指令需要更多的数据;

    简单SFT数据配⽐很难让相反能⼒的指令同时遵循做到100%。


说明数据标准的一致性很关键!

Conclusion

Image
Image
  • 多样性到底是什么?

    • 语义相似 不多样/同质?? ×(一般会做向量化去重)

    • 五花⼋⻔的边缘问题 = 多样?×

    • 覆盖类目品类体系  ✓

    • 真实⽤⼾的In-depth/breadth需求(类似WizardLM Evol-Instruct) ✓

  • 什么SFT数据叫⾼质量?

    • 真实问题:prompt/问题不是某些“形⽽上”⼈⼠YY出来的  ×

    • 风格一致:回答遵循同样⻛格、符合标注标准  ✓

    • 模型能力:在模型能⼒范围内 ✓

    • 标准清晰:不同⼈多次review都不会有明显意⻅ ✓

  • SFT能注入知识问题吗?会带来什么问题?

    • 不要把LLM当作“超大号bert” ×

      灾难性遗忘 ×

      知识冲突与幻觉 ×

      死记硬背 ×

Ref

  • The Unlocking Spell on Base LLMs: Rethinking Alignment via In-Context Learning

    Smaug: Fixing Failure Modes of Preference Optimisation with DPO-Positive

    https://github.com/LLaMafia/SFT_function_learning

    LIMA: Less Is More for Alignment

    Yi: Open Foundation Models by 01.AI

    Llama 2: Open Foundation and Fine-Tuned Chat Models

    STaR: Bootstrapping Reasoning With Reasoning

    ReAct: Synergizing Reasoning and Acting in Language Models

    Kimi k1.5: Scaling Reinforcement Learning with LLMs

Image

END

Image