NLP 领域模型训练策略的发展及 ChatGPT 的借鉴| 豆包MarsCode AI刷题

132 阅读4分钟

一、NLP 领域模型训练策略的发展及 ChatGPT 的借鉴

NLP 领域模型训练策略经历了四个阶段,ChatGPT 的模型训练方式汲取了大规模语言模型预训练及小样本学习思想,本节重点梳理前三个阶段。

二、各阶段训练方式介绍

(一)纯监督学习

  • 数据组织与示例:是早期传统的 NLP 模型训练方式,针对特定 NLP 任务,如文本分类、实体识别、机器翻译等。以文本分类、实体识别、机器翻译为例给出标注样例,其一般形式为【文本,标注信息】。

  • 缺点

    • 极度依赖标注数据集:人工筹措标注数据集耗时耗力,制约 AI 技术发展,即便 OpenAI 雇佣大量廉价劳动力标注数据,也难以满足模型规模扩张需求。
    • 模型只针对特定任务:早期 AI 模型局限于特定任务,规模小,一种模型只能完成一种任务。
    • 模型泛化能力差:模型在处理未见过的数据时表现不佳,如教会模型部分加法运算,但对新的加法问题不能正确回答,说明不具备举一反三能力。

(二)预训练 + 微调(Finetune)

  • 基本思想与操作流程:先使用大量未标记数据进行预训练构造语言模型(如 ChatGPT 的语言模型结构相关介绍),学习上下文联系;之后利用少量标注数据进行微调,微调本质与纯监督学习操作过程一样,但参数调整幅度和范围微小。区别于纯监督学习在完全随机初始化参数基础上训练,此方式是在已具备一定语言知识和能力(经预训练)的参数基础上训练。
  • 优势:训练针对特定任务的 NLP 模型时,有预训练的模型因已具备语言基础,学习特定任务速度更快、效果更好,所需标注数据量级相对较少,且模型泛化效果好。以教小孩算加法类比,说明预训练 + finetune 方式类似教已有一定信息积累的 5 岁孩子,比教 1 岁幼儿(纯监督学习)更容易。

(三)In-context learning

  • 原理:为克服模型训练依赖大量数据的局限,GPT-3 提出此方式,即让模型在上下文中学习任务和内容。通过对用户输入添加引导(prompt),指明让模型完成的任务,如翻译、回答问题等,将其一般化建模为,使模型能根据提示情境做针对性回答。

  • 训练:其模型训练方式与语言模型预训练流程一致,但在数据组织上添加多种任务,如乱序单词恢复原序、英文到法文翻译等,通过基于随机梯度下降(SGD)方法的预训练,让模型学会处理多种任务。

  • 小样本学习相关内容

    • zero-shot、one-shot、few-shot 概念:在模型预训练阶段无法穷尽所有学习任务,对于 ChatGPT 预训练模型,存在未见过的任务。如将一些语句凝聚成四字短语的任务。通过给模型示范样例帮助其明白任务,只给提示叫 zero-shot,给一个范例叫 one-shot,给多个范例叫 few-shot,符合人们找范文写作文的直觉。
    • prompt 学习:与 few-shot 类似,prompt 是用人类编写的简短文本片段指导模型生成文本,few-shot 是亲身示范,prompt 是口头命令,本质上 in-context learning 和 prompt 差不多,只是语境和操作稍有不同。
  • 效果评价:在小模型上效果不佳,但在超大模型上效果惊人,few-shot 效果好于 zero-shot,有 prompt 比没 prompt 效果好,证明高级人工智能依赖超大规模神经网络。如不同参数数量的模型(1750 亿参数蓝色曲线、13 亿参数绿色曲线)效果对比明显。

  • 局限性

    • 输入不自然:给模型的输入形式较死板,不像自然语言那样灵活,如常用 “=>” 符号,与自然语言实际使用情况不符。
    • 回答质量问题:小样本学习得到的 GPT 模型在问答任务时,可能编造虚构事实、产生有误、带有歧视偏见的回答,与用户需求不契合。

三、总结

  • NLP 模型训练经历纯监督学习、预训练 + finetune、小样本学习、RLHF 四个阶段。
  • 所有 GPT 模型采用基于大规模数据的语言模型预训练。
  • GPT3 使用 in-context 学习方式扩增语言模型学习能力,但对人类自然语言指令的响应存在不足。