赞
踩
| 能力 | OpenAI模型 | 训练方法 |
| GPT-3系列 | ||
| 语言生成 + 世界知识 + 上下文学习 | GPT-3初始版本 **大部分的能力已经存在于模型中,尽管表面上看起来很弱。 | 语言建模 |
| + 遵循人类的指令 + 泛化到没有见过的任务 | Instruct-GPT初始版本 | 指令微调 |
| + 代码理解 + 代码生成 | Codex初始版本 | 在代码上进行训练 |
| GPT-3.5系列 | ||
| ++ 代码理解 ++ 代码生成 ++ 复杂推理 / 思维链 (为什么?) + 长距离的依赖 (很可能) | 现在的Codex **GPT3.5系列中最强大的模型 | 在代码+文本上进行训练 在指令上进行微调 |
| ++ 遵循人类指令 - 上下文学习 - 推理能力 ++ 零样本生成 | 有监督的Instruct-GPT **通过牺牲上下文学习换取零样本生成的能力 | 监督学习版的指令微调 |
| + 遵循人类价值观 + 包含更多细节的生成 + 上下文学习 + 零样本生成 | 经过RLHF训练的Instruct-GPT **和002模型相比,和人类更加对齐,并且更少的性能损失 | 强化学习版的指令微调 |
| ++ 遵循人类价值观 ++ 包含更多细节的生成 ++ 拒绝知识范围外的问题 (为什么?) ++ 建模对话历史的能力 -- 上下文学习 | ChatGPT ** 通过牺牲上下文学习的能力换取建模对话历史的能力 | 使用对话数据进行强化学习指令微调 |
如果是监督学习版,得到的模型是text-davinci-002
如果是强化学习版 (RLHF) ,得到的模型是text-davinci-003
无论是有监督还是 RLHF ,模型在很多任务的性能都无法超过 code-davinci-002 ,这种因为对齐而造成性能衰退的现象叫做对齐税。
建模对话历史
增加对话信息量
拒绝模型知识范围之外的问题
GPT-3.5不具备的某些重要属性:
先通过在无标签的数据上学习一个生成式的语言模型,然后再根据特定热任务进行微调GPT1的问题:fine-tune只能用到特定任务中,如果fine-tune一个分类任务,不能用到句子相似度中去。我们能不能用一个模型做所有NLP的任务,能不能尽量加所有的task。
针对GPT1的问题,GPT2做了如下改进:GPT-2开启了prompting高于finetuning的时代"意味着在某些场景下,通过合理设计的提示信息和插入策略,GPT-2模型可以产生更具控制性和语义准确度的输出,超越传统的finetuning方法。
虽然 GPT-2 主推的 zero-shot 在创新度上有比较高的水平,但是由于其在效果上表现平平,所以在业界并没有取得比较大的影响力,而 GPT-3 正是为了解决效果上的问题而提出的。GPT-3 不再去追求那种极致的不需要任何样本就可以表现很好的模型,而是考虑像人类的学习方式那样,仅仅使用极少数样本就可以掌握某一个任务
架构
主流架构
配置
为了有更强的泛化能力和训练稳定性,建议选择前置的RMS进行层标准化,并选择SwiGLU或GeGLU作为激活函数。此外,在位置编码方面,RoPE或ALiBi是更好的选择,因为它们在长序列上表现更好。
预训练任务
对于训练LLM,有两个常用的预训练任务,即语言建模和去噪自编码
模型训练
1,优化设置
2,可扩展的训练技术
指令微调(instruction tuning)和对齐微调(alignment tuning)。前一种方法旨在增强(或解锁)LLM的能力,而后一种方法旨在将 LLM的行为与人类的价值观或偏好对齐。
指令微调指的是使用一些自然语言描述的指令形式样本去用监督学习的方式微调预训练大模型(base model),经过指令精调后,LLM能在一些未见过的任务上表现较好的能力,甚至是多语言场景。
指令形式的样本实例
参数高效微调旨在减少可训练参数的数量,同时尽可能保持良好的性能
大多数方法都是在小型PLM上进行测试的,而不是在LLM上进行的。到目前为止,有关不同高效微调方法对不同设置或任务下LLM的影响仍缺乏深入的研究。
经过预训练或适配微调之后,使用LLM的主要方法是为解决各种任务设计适当的提示策略。一种典型的提示方法事将任务描述和(或)示范以自然语言文本的形式表达的上下文学习。此外利用思维链可以通过一系列中间推理步骤加入提示中来增强ICL。
上下文学习
上下文学习的形式
ICL使用一种由任务描述和(或)作为示范的几个任务样例构成的自然语言提示。首先以任务描述作为开始,从任务数据集中选择一些样例作为示范。然后,以特别设计的模板形式将它们按照特定的顺序组合成自然语言提示。最后,将测试样例添加到LLM的输入中以生成输出。
ICL还与指令微调有着密切的联系,因为它们都将任务或样例转化为自然语言的形式。然而,指令微调需要微调LLM来增强适配,而ICL仅仅是以提示的方式来使用LLM。此外,指令微调还可以提高LLM执行目标任务的ICL能力,尤其是在零样本设置时(仅使用任务描述)。
示范设计
(1)一种直接的方法是用相应的输入输出来实例化预定义的模板
(2)为了构建更具信息量的模板,添加任务描述或者通过COT来增强LLM的推理能力(3)半自动化方法,通过使用由人工编写的任务描述组成的种子集合来指导LLM为新任务生成任务描述。
(4)自动生成高质量的示范格式。Auto-Cot利用LLM使用零样本提示来生成中间推理步骤,而least-to-most提示首先询问LLM来执行问题分解,然后利用LLM根据先前解决的中间答案依次解决子问题。
思维链提示
不同于ICL中仅使用输入输出对来构造提示,CoT将可以导出最终输入的中间推理步骤纳入提示中。
通常情况下,CoT可以在小样本和零样本设置下与ICL一起使用。
三种基本评估任务和高级任务
基础评测任务
高级能力评估
公开基准和经验性分析
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。