ChatGPT是生成型预训练变换模型(GPT),在GPT-3.5之上用基于人类反馈的监督学习和强化学习微调。这两种方法都用人类教练来提高模型性能,以人类干预增强机器学习效果,获得更逼真的结果。在监督学习的情况下为模型提供这样一些对话,在对话中教练充当用户和AI助理两种角色。在强化步骤中,人类教练首先为模型在先前对话中创建的响应评级。这些级别用于创建“奖励模型”,使用近端策略优化(PPO)的多次迭代来微调。这种策略优化算法比信任域策略优化(trust region policy optimization)算法更为高效。
OpenAI继续从ChatGPT用户那里收集数据,这些数据可用于加强训练和微调ChatGPT,同时试图减少有害和误导回复,训练数据经过审核,减少潜在的种族主义或性别歧视等内容.
典型的中间任务包括:中文分词、词性标注、NER、句法分析
按理说,“中间任务”就不应该出现,而之所以会存在,这是NLP技术发展水平不够高的一种体现。
但是自从GPT出现之后,其实就没有必要做这些中间任务了,因为通过大量数据的预训练,GPT已经把这些中间任务作为语言学特征,吸收到了Transformer的参数里,此时我们完全可以端到端地直接解决那些最终任务,而无须对这种中间过程专门建模。
“最终任务”分为两大不同类型的任务:自然语言理解类任务(分类)和自然语言生成类任务(输出文本)。
NLP中不同的子领域,其特征抽取器都逐渐从LSTM/CNN统一到Transformer上
两阶段模式: 对于自然语言理解类任务,其技术体系统一到了以Bert为代表的“双向语言模型预训练+应用Fine-tuning”模式,自然语言生成类任务,其技术体系则统一到了以GPT 2.0为代表的“自回归语言模型(即从左到右单向语言模型)+Zero /Few Shot Prompt”
人与人之间交流,下达一条指令,便能理解处理任务,这个事zero shot prompt
目标的LLM 模型能像人一样完成任务推理和处理
于是使用few shot prompt, 示例来代表任务描述,理解任务内容
few shot prompt 只是一种过渡时期的技术,如果LLM可以推理那么久不需要这个技术
模型里存在的先验知识就包含在几万人工标注数据里,不过注入的不是世界知识,而是人类偏好知识。包括了人类对于事物的评判标准.
你只要把这个领域更多的数据交给LLM,让它自己学习更多知识即可。解决了数据加工问题和人工调参数问题
理想LLM模型所示,相关的技术其实可以分为两大类;
一类是关于LLM模型如何从数据中吸收知识,也包括模型规模增长对LLM吸收知识能力带来的影响;
第二类是关于人如何使用LLM内在能力来解决任务的人机接口,内容理解和指令,LLM推理技术
LLM从海量自由文本中学习了语言和世界知识,你把LLM看作是一种以模型参数体现的隐式知识图谱,如果这么理解,我认为是一点问题也没有的。、
如何修正模型参数,来实现旧知识到新知识的修正,需要更深入理解LLM的内部运作机制
Fine-tuning拿这些例子当作训练数据,利用反向传播去修正LLM的模型参数,来修正知识,重复多次,LLM记住新的知识,遗忘旧的知识
预训练模型: 预训练阶段,其优化目标是交叉熵,对GPT这种自回归语言模型来说,也就是看LLM是否正确预测到了下一个单词;一般我们的直觉是:如果LLM模型在预训练阶段的指标越好,自然它解决下游任务的能力就越强。
OpenAI选择了同时增加训练数据量和模型参数,而很多大模型在做预训练的时候,并没有考虑这一点,很多LLM大模型只是单调增加模型参数,而固定住了训练数据量,这个做法其实是不对的,限制了LLM模型的潜力。
in-context learning,它不能真正建模输入和输出之间的关系,因此在一些输入输出之间的关系必然没有被无监督预训练任务所建模的下游任务而言,in-context learning很可能失效。
通过给in-context的训练样本赋予随机标签,可以构建随机标注的设置
揭开AGI真正的钥匙就是:超大规模及足够多样性的数据、超大规模的模型,以及充分的训练过程。对于知识密集型的任务,随着模型规模越大,各种任务的效果会越来越好;而对很多推理类型的有难度的任务
人机交互接口,自然语言描述任务,高质量数据工程,
监督训练模型,评价模型,生成模型
1. 基于现有数据,训练得到GPT-3;然后利用已经开放的API中收集到的prompt data中的一部分,加上人工生成想要的输出结果,对GPT3进行finetune。
2. 让模型基于给定的prompt输出一堆结果,让人类对结果进行排序,然后训练一个reward model,学习知道什么样的结果是好的。其作用是对prompt和output这样的组合进行打分,找到和prompt最契合的结果。
3. 最后,继续利用prompt中的数据,让GPT3生成答案,对应让RM进行打分,接着基于PPO对GPT3进行优化。