想象你在培训一个超级助理
假设你新买了一个智能管家机器人,它已经看过海量的书籍和资料**(这就是预训练过程)**。但是呢,它还不太懂得"做人的艺术"------不知道该用什么语气说话、怎么回应你的需求。
现在你要训练它成为一个得体的助理,这就是SFT要做的事情。
SFT其实就是在教机器人"做人"
训练过程大概是这样的:
你:天气真好啊!
理想回复:是的呢!今天阳光明媚,特别适合出去散步。需要我帮您查查附近有什么适合散步的地方吗?
糟糕回复:根据气象数据显示,当前气温23.5度,湿度45%,风速3级...
通过这样的示例,我们在教机器人:不要像个气象站一样冰冷地报数据,要学会共情,给出温暖的回应,要懂得适时提供帮助。
那到底需要多少训练数据呢?
这个问题特别有意思!实际上,现在的研究发现:不需要想象中那么多数据。
就像教小孩子礼貌用语,你不需要给他展示10000个说"谢谢"的场景,只要有足够典型的例子,他就能举一反三,关键是这些例子要有代表性、高质量。
现在的研究表明,用大约1万-10万条高质量对话数据就能取得不错的效果。这些数据需要覆盖:基本的对话礼仪、常见任务的处理方式、特殊情况的应对策略。
但是也需要注意:少即是多
就像李小龙的名言:"我不怕会一万种踢法的人,我怕把一种踢法练一万次的人。"
在SFT中也是类似的道理,与其收集100万条质量一般的数据,不如精心准备10万条优质示例。质量 > 数量
有趣的是,现在研究发现,有时候模型在SFT后会表现出一些意想不到的能力,就像你教小孩子说"谢谢",他可能自己悟出来还要说"不客气"一样~
觉得这个解释有帮助的话,欢迎点赞关注,我是旷野,探索无尽技术!