大规模无标注数据预训练:
ChatGPT首先使用大规模的无标注数据进行预训练。例如,它可能使用了8.5亿对话对来学习对话的表达与交互方式。
这一步主要依赖Transformer等神经网络结构,通过预测下一个词来学习语言的统计规律和语义知识。
自监督学习:
在预训练过程中,ChatGPT将对话划分为utterance(话语单元),并使用utterance之间的关系作为自监督信号进行学习。
它需要预测下一个utterance,这有助于模型学习到连贯、连续与合理的对话表达能力。
Masked语言建模:
ChatGPT采用掩码语言建模(Masked Language Modeling)的方法,将输入对话sequence中的某些token掩码,让模型预测被掩码的token。
这有助于模型学习对话的条件语言概率。
Next sentence prediction:
ChatGPT还通过输入两个句子,让模型判断第二个句子是否是第一个句子的下一句,来学习对话的逻辑与主题推进。
迁移学习:
ChatGPT基于GPT-2语言模型进行微调得到。GPT-2是在大规模通用文本语料上进行预训练的。
这种以大模型为基础,在特定任务与数据上微调的方式,可以充分利用大模型已经学到的知识,实现有效地迁移学习。
强化学习:
ChatGPT还采用强化学习的方法选择最优的响应utterance。
根据人工评价的奖励信号更新模式选择策略,使其可以生成用户最期望的回复。
交互式学习:
在部署后,ChatGPT可以通过真实的人机交互,获取用户的反馈(如满意度评价),来不断调整和优化模型。
这属于交互式学习方法,使模型在实际使用场景中不断进步。
领域特定训练:
在普通语言模型的基础上,使用特定领域的语料(如电影对话)来继续训练模型,使其对特定领域的语言有更深的理解。