一个大模型是如何被炼出来的

0 评论 1478 浏览 4 收藏 7 分钟

大家日常都会接触到不少大模型和AI工具,有考虑过他们是如何做的吗?知道原理,对于我们使用大模型和调整方法很有帮助。

在大语言模型(Large Language Model,LLM)中,无监督学习、有监督学习和强化学习是机器学习的三个组成部分,也是训练一个大模型的三个基础阶段。他们各自扮演着不同的角色,并应用于不同的训练阶段和任务中。

第一步:无监督学习阶段

无监督学习也就是模型的预训练阶段,简单来说就是给模型投喂大量大量的文本,进行无监督学习的预训练,这样我们就会得到一个能够进行文本生成的基座。

在预训练中,需要大量的文本作为原料,让模型从中学习,比如gpt-3这个基座模型的训练数据,就有非常多的互联网文本语料库,包含有新闻、图书和文献、科学论文、特定领域的数据集、社交媒体和论坛等等。训练数据的整体规模有三千亿的Token(具体什么是token我们将在下一个帖子中详细解释。先简单来理解的话就是基本文本单位)。

此时预训练的结束之后我们会得到一 个基座模型,而这个基座模型并不擅长对话,你给他一个问题,他可能模仿上文,帮你继续生成更多的问题,但并不回答你的问题。这时我们开始进行第二步有监督学习

第二步:有监督学习阶段

有了大量的训练文本之后,我们就要采用“有监督学习”的方式,也就是通过一些人类撰写的高质量对话数据,对基座模型进行监督微调。

微调就是在已有模型上做进一步的训练,这个阶段呢,我们需要给基座模型看更多的对话数据,包括单轮的对话数据还有多轮对话的数据等,目的呢就是为了训练一个擅长对话的AI助手。

微调的成本相比预训练要低很多,因为需要的训练数据的规模相比较小,训练时长更短,在这一阶段里,模型不需要从海量文本中学习了,而是从一些人类写的专业且高质量的对话里学习(在这个阶段就产生了一个职业叫做AI训练师或者数据标注员,这个我们后边的帖子在慢慢细聊),这相当于既给了模型问题,也给了模型我们人类中意的回答,属于监督学习了。

这个过程被叫做监督微调(Supervised Fine-Tuning)简称:SFT。

完成后会得到一个SFT模型。

第三步:强化学习阶段

在强化学习阶段,模型进一步优化以提升在实际应用中的表现,从而模型能够自主的学习。

这个阶段主要包含一下两个步骤:

a. 人类反馈强化学习(Reinforcement Learning from Human Feedback, RLHF)

这个部分包含:人类评价、奖励模型(Reward Model)、策略优化

b. 反馈和调整

通过多次迭代的反馈和调整,模型逐渐学会生成更高质量的响应。这一过程通常涉及反复的生成、评估、调整和优化。

这些都相对比较好理解,但我重点要说的是奖励模型(Reward Model)

要让一个模型,能乖乖当一个乐于助人的AI助手,我们可以让模型对问题做出回答,然后让人类评测人员去给回答打分,打分的标准主要是基于3H原则(帮助性、真实性、无害性)

  • 帮助性-helpful:模型的输出应该对用户有实际帮助,能够解决用户的问题或满足用户的需求。
  • 真实性-honest:模型的输出应该真实可靠,不应捏造事实或误导用户。
  • 无害性-harmless:判断模型的输出是否适当、是否包含偏见有害性信息等内容

如果打分高的话,模型能学习到要再接再厉,如果打分低的话,模型就学习到要予以改进。

但是靠人类给回答一个个打分,成本极高、效率极低。所以我们要训练出另一个模型,让模型给模型打分。在这一步里,需要训练一个reward奖励模型。他是从回答以及回答对应的评分里进行学习的。

模型得到评分数据的方式是:我们会使用不同模型构造同一问题下不同的回答,然后让人类标注员对回答质量进行比较排序,还有部分情况下是由人工补充满分的答案。让模型知道哪个答案是最好的。

虽然还是免不了要借助人类的劳动。但一旦有了足够的排序数据,就可以把数据用在训练奖励模型上。让奖励模型学习预测回答的评分。

奖励模型训练出来后,就可以用在强化学习上了,强化学习里,大模型的最初参数来自之前得到的SFT模型,但会随着训练被更新,奖励模型的参数则不会再被更新,他的任务就是对模型生成的内容打分,经过一轮又一轮迭代后,模型会不断优化策略,回答的质量也就会进一步提升。

最后这样一个大模型就在不断学习中炼成了。🎉

本文由 @贝琳_belin 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!