ChatGPT 的模型训练方式依然汲取了大规模语言模型 (LM) 预训练,以及小样本学习的思想。因此,本节我们先来重点梳理一下前三个阶段。 1.纯监督学习 这种方式是最早期的 NLP 模型训练方式,也是最传统的机器学习建模方式。这种模型训练方式主要还是针对特定的 NLP 任务来完成的,诸如文本分类、实体识别、文本摘要抽取、机器翻译等。 2. vip 会员 课程中心 用户538155815730的头像 我们在之前的章节中介绍了 ChatGPT 的模型建模、模型结构、工作机制。除此之外,恰当的模型训练方式对其最终取得的效果也至关重要。
NLP 领域模型训练策略的改变总共经历了四个阶段,这也是 GPT 模型的训练方式进化史。
9-1.png
ChatGPT 的模型训练方式依然汲取了大规模语言模型 (LM) 预训练,以及小样本学习的思想。因此,本节我们先来重点梳理一下前三个阶段。
纯监督学习 这种方式是最早期的 NLP 模型训练方式,也是最传统的机器学习建模方式。这种模型训练方式主要还是针对特定的 NLP 任务来完成的,诸如文本分类、实体识别、文本摘要抽取、机器翻译等。
为了说明监督学习的数据组织模式,我们准备了 3 条标注样例如下:
文本分类: 文本:jionlp 开发工具包确实挺好用的,非常感谢博主的分享~~~~
类别:正面
实体识别:就是指从自然语言文本中,抽取出如公司名、人名、药物名称、时间、地名等具有特定意义的词汇或短语,这些内容有特定的用途。一般需要标定实体的文本、类型和在文本中的位置。 文本:派飞公司的业务这两年越做越大,快要上市了。
标记:['text': '派飞', 'type': 'company', 'offset': [0, 2]]
机器翻译: 文本:今天中午到明天早上,我市将有中到大雨,请市民出行做好防雨准备。
译文:From noon today to tomorrow morning, there will be moderate to heavy rain in our city. Citizens are advised to prepare for rain when going out.
除此之外,NLP 领域还包括分词、语义关系抽取、实体消歧等等特定领域的任务,每个任务都可以按上述方式构建标注数据集,其一般形式为:【文本,标注信息】。
纯监督学习的模型训练方式,就是第 8 节中我们所介绍的内容,这种训练方式存在很多难以克服的缺点:极度依赖标注数据集:AI 领域有一句广为流传的真理——有多少人工,就有多少智能。其含义就是指,模型通过学习标注数据获得能,而标注数据全靠人力一点点完成。而人工筹措如此多的数据集是极为耗时耗力的,也严重制约了 AI 技术的发展。即便是 OpenAI,也雇佣了大量的全世界各地区的廉价劳动力做数据标注,但人力的效率远远满足不了模型规模的扩张。模型只针对特定任务:早期的 AI 模型都只针对特定任务,而不存在一个模型完成多种任务的方式存在。这导致了模型只局限于一个非常小的规模,一种模型只能完成一种任务,局限性太强。 模型泛化 能力 差。 3.预训练+微调(Finetune) 预训练+ 微调(finetune)是一种在 NLP 领域中广泛使用的技术。它的基本思想是,使用大量的未标记数据进行预训练,然后使用少量的标注数据进行微调(finetune),从而适应特定的 NLP 任务。直到 ChatGPT 出现之前,这是绝大多数 NLP 模型任务的基本工作流程。
模型预训练就是构造一个语言模型,利用互联网上大规模的未经人工标注的文本进行上下文联系学习。我们在第 3、4、5、6 节中介绍了 ChatGPT 的语言模型结构,这整个模型就是在完成预训练工作。
而在预训练阶段完成之后,GPT 初代就采用微调(finetune)的方式对很多下游任务做监督学习。所谓微调,本质和纯监督学习的操作过程完全一样,唯一的区别在于模型以梯度下降法训练的过程中,参数调整的幅度和范围比较微小。
纯监督学习的方式,是指模型在一个完全随机初始化的参数基础上进行训练;例如,在第 8 节中,猫狗分类模型的所有权重值是我一开始随机想出来的,随机设定的。
预训练+finetune 的方式,是模型在一个已经具备一定语言知识和语言能力(经过了预训练)的参数基础上进行训练。即在微调前,我们已经得到了一个预先训练好的参数集。 4.In-context learning 原理 为了克服模型训练需要依赖大量数据的局限性,GPT-3 提出了一种叫做 in-context 的学习方式。直译过来,就是“在上下文中学习”,用中文来解释的话,就是让 GPT 模型在上下文中学习要学的任务和内容。 5.In-context learning 的训练 In-context learning 的模型训练方式与之前所属的语言模型预训练流程完全一致,但其中已经构建了大量的各种各样的任务。 6.zero-shot、one-shot、few-shot 小样本学习 我们在模型预训练阶段,是不可能穷尽所有学习任务 task 的。因此,对于 ChatGPT 的预训练模型来说,一定存在大量模型没见过的学习任务。 7.prompt 学习 在 NLP 学术界,还有一个 prompt 研究方向,它使用人类编写的简短文本片段(prompt)来指导模型生成文本。如果说 few-shot 方法是亲身示范,那么 prompt 就是口头命令。 8.In-context learning 的效果评价 这种引导学习的方式,在小模型上效果还是十分捉急的,但它却在超大模型上展示了惊人的效果:只需要给出一个或几个示范样例,模型就能照猫画虎地给出正确答案。