一.ChatGPT背景
作为“人工智能皇冠上的明珠“,基于大规模预训练语言模型的方法,其突出特点是充分利用大模型、大数据和大计算以求更好效果,ChatGPT 是继数据库和搜索引擎之后的全新一代的“知识表示和调用方式”。
大规模预训练语言模型(简称大模型)作为 ChatGPT 的知识表示及存储基础,对系统效果表现至关重要。
二.ChatGPT存在问题
1. ChatGPT 有时候会生成一些似是而非、毫无意义的答案,导致这个问题的原因有:强化学习训练过程中没有明确的正确答案;训练过程中 一些谨慎的训练策略导致模型无法产生本应产生的正确回复;监督学习训练过程中错误的引导导致模型更倾向于生成标注人员所知道的内容而不是模型真实知道的。
2. ChatGPT 对于输入措辞比较敏感,例如:给定一个特定的问题,模型声称不知道答案,但只要稍微改变措辞就可以生成正确答案。
3. ChatGPT 生成的回复通常过于冗长,并且存在过度使用某些短语的问题,例如:重申是由 OpenAI 训练的语言模型,这样的问题主要来自于训练数据的偏差和过拟合问题。
4. 虽然 OpenAI 已经努力让模型拒绝不恰当和有害的请求,但是仍然无法避免对有害请求作出回复或对问题表现出偏见。
三.ChatGPT核心算法
ChatGPT 强大的基础模型采用 Transformer 架构,Transformer是一种基于自注意力机制的深度神经网络模型,可以高效并行地处理序列数据。原始的 Transformer 模型包含两个关键组件:编码器和解码。
提示学习(Prompt Learning)简单来说是通过一些方法编辑下游任务的输入,使其形式上模拟模型预训练过程使用的数据与任务。比如做情感分类任务时,监督学习的做法是输入“我今天考砸了”,模型输出分类的分数或分布,而提示学习的做法则是在“我今天考砸了”后拼接上自然语言描 述“我感觉很 ____”,让模型生成后面的内容,再根据某种映射函数,将生成内容匹配到某一分类标签。
人类在解决数学应用题这类复杂推理任务的过程中,通常会将问题分解为多个中间步骤,并逐步求解,进而给出最终的答案。思维链COT通过在小样本提示学习的示例中插入一系列中间推理步骤,有效提升了大规模语言模型的推理能力。
基于人类反馈的强化学习(Reinforcement Learning with Human Feedback,RLHF) RLHF 是 ChatGPT/InstrcutGPT 实现与人类意图对齐,即按照人类指令尽可能生成无负面影响结果的重要技术。
四.ChatGPT相关数据集
五.ChatGPT预训练模型的压缩
针对于模型压缩,常使用的方案有以下几种:
1. 剪枝:剪枝是一种通过去除模型中一些不必要的连接或神经元来减小模型大小的技术。
2. 蒸馏:蒸馏是一种通过使用学生模型来模拟预训练教师模型的行为来减小模型大小的技术。通常情况下,学生模型由更小的神经网络或线 性模型组成。
3. 量化:量化是一种将预训练模型中的权重从浮点数转换为低位数的技术。通常情况下,量化的精度是8 位或更低。量化可以大大减少模型 的存储空间和计算量,但可能会对模型的性能产生一定的影响。
4. 权重矩阵分解:使用包括 SVD 等矩阵分解方法对预训练模型的 FFN 层的权重矩阵进行分解,从而减少 Attention 层的参数量,提高模型的效率。
5. 模型参数共享:以 ALBERT 为例,模型的 Attention 层之间采用了权 重共享的方式,从而减少了模型的参数量。
六.ChatGPT模型评价指标
1.分类任务
精确率(Precision)指的是模型正确预测为正例的样本数占预测为正例的样本总数的比例。精确率越高,表示模型预测出的结果中真实正例的比例越高。
召回率(Recall)指的是模型正确预测为正例的样本数占实际正例的样本总数的比例。召回率越高,表示模型越能够正确地捕捉到所有的正例。
F1 分数是精确率和召回率的调和平均数,反映了模型的综合性能。
2.生成任务
对于机器翻译而言,通常使用 BLEU 值来衡量机器翻译质量的好坏, BLEU 值就是计算候选译文 N-gram 的精确度,根据参考译文来评价候选译文。
对于自动摘要而言,通常使用 ROUGE 值来衡量摘要质量的好坏。ROUGE 同样基于N-gram 的匹配程度,由于文本摘要更多关心的是摘要内容是否覆盖完全,因此使用的是面向召回率的摘要评估指标。