LaMDA 是谷歌在2021年开发者大会上公布的专用于对话的大语言模型,具有 137B 个参数。论文中提出三个指导模型更好训练的指标:质量/Quality(合理性/Sensibleness、特异性/Specificity、趣味性/Interestingness,SSI)、安全性/Safety、真实性/Groundedness。和其他大模型一样,LaMDA分为预训练和微调两步,在微调阶段,生成式任务(给定上下文生成响应)和判别式任务(评估模型生成响应的质量和安全性)应用于预训练模型进行微调形成 LaMDA。对话期间,LaMDA 生成器在给定多轮对话上下文时生成几个候选响应,然后 LaMDA 判别器预测每个候选响应的 SSI 和安全分数。安全分数低的候选响应首先被过滤掉,剩下的候选响应根据 SSI 分数重新排名,并选择分数最高的作为最终响应。为提升 LaMDA 生成响应的真实可靠性,收集标注用户与 LaMDA 间对话的数据集,并在适用的情况下使用检索查询和检索结果进行注释。然后,在这个数据集上微调 LaMDA,学习与用户交互期间调用外部信息检索系统,提升生成响应的真实可靠性。
Jurassic-1 是以色列的 AI 公司 AI21 Labs 发布的一对自回归语言模型,由 178B 参数模型 J1-Jumbo 和 7B 参数模型 J1-Large 组成,大致对应 GPT-3 175B 和 GPT-3 6.7B 两个模型。该模型主要对标 GPT-3,在数据补全、零样本学习和少样本学习方面对模型进行了评估,Jurassic-1 模型可以预测来自比 GPT-3 更广泛的领域的文本(网络、学术、法律、源代码等),在零样本条件中实现可比的性能,并且少样本性能优于 GPT-3,因为他们能够将更多示例放入prompt中。
Megatron-Turing NLG (MT-NLG) 是由 Microsoft 和 NVIDIA 共同研发的大语言模型,具有 530B 个参数,,是 GPT-3 的三倍多,MT-NLG 在多个 benchmarks 中实现了非常好的零、一和少量样本学习性能。 研究认为训练如此大的语言模型有两个挑战,一是存储高效性,将模型参数全部拟合到及时最大GPT的内存中已不再可能;二是计算高效性,若不同时优化算法、软件和硬件堆栈,所需的大量计算操作可能会导致不切实际的长训练时间;需要需要在内存和计算上都可扩展的高效并行技术,以充分发挥数千个 GPU 的潜力。对此,论文提出了结合了 DeepSpeed 的管道并行和数据并行性以及 Megatron 的张量切片并行的高效且可扩展的 3D 并行软件系统。同时,还介绍了模型高效训练的硬件基础设施,提高训练效率和稳定性。
Gopher 是 DeepMind 发布的大语言模型,拥有过 280B 规模的参数。在语言模型和开发过程中,DeepMind 训练了 6 个不同参数规模的系列模型,参数量包括 44M、117M、417M、1.4B、7.1B、280B(Gopher)。这些模型在 152 项不同的任务上进行了评估,在大多数任务中都实现了最先进的性能。 阅读理解、事实核查和有毒语言识别等领域性能提升最大,但对于逻辑和数学推理等问题的性能提升较小。
Chinchilla(龙猫)是 DeepMind 发布的大语言模型,拥有 70B 的参数规模。Chinchilla 的研究主要关注在给定固定的 FLOPs 预算下,如何权衡模型规模大小和训练tokens的数量规模的问题。在 Chinchilla 之前的一系列大语言模型在扩展模型参数规模的同时保持训练数据量不变,导致计算资源的浪费和大语言模型的训练不足。对于计算成本最优的训练,模型规模大小和训练 tokens 的数量应该同等比例地缩放,模型参数规模的加倍时,训练 tokens 的数量也应该加倍。基于上述假设训练了计算优化模型 Chinchilla,它与 Gopher 使用相同的计算预算,但具有 70B 的参数和 4 倍多的训练数据。同时,Chinchilla 在大量下游评估任务上一致且显著优于 Gopher (280B)、GPT-3 (175B)、Jurassic-1 (178B) 和 Megatron-Turing NLG (530B)。Chinchilla 使用更少的计算来进行微调和推理,极大地促进了下游使用。
PaLM 是谷歌2022年提出的 540B 参数规模的大语言模型,它采用的是 GPT-style 的 decoder-only 的单向自回归模型结构,这种结构对于 few-shot 更有利。PaLM 是使用谷歌提出的 Pathways系统(一种新的 ML 系统,可以跨多个 TPU Pod 进行高效训练)在 6144 块TPU v4 芯片上训练完成的。作者在 Pod 级别上跨两个 Cloud TPU v4 Pods 使用数据并行对训练进行扩展,与以前的大多数 LLM 相比,是一个显著的规模增长。PaLM 实现了 57.8% 的硬件 FLOPs 利用率的训练效率,是 LLM 在这个规模上实现的最高效率。PaLM 在数百种语言理解和生成 benchmarks 上实现最先进的few-shot 学习结果,证明了scaling 模型的好处。在其中的许多任务中,PaLM 540B 实现了突破性的性能,在一组多步推理任务上的表现优于经过微调的 SOTA 模型。并且大量 BIG-bench 任务显示了模型规模的扩大带来性能的不连续提升,当模型扩展到最大规模,性能急剧提高。
由于扩大语言模型可以提高性能,但会带来巨大的计算成本。 谷歌提出 UL2R 方法,在几乎可以忽略不计的额外计算成本和没有新数据的情况下,使用原始的预训练数据继续训练 PaLM 模型,能够显着改善大语言模型在下游指标上的扩展特性。使用 UL2R 训练 PaLM,引入了一组 8B、62B 和 540B 规模的新模型,称为 U-PaLM。在 540B 规模下,实现了大约 2 倍的计算节省率,其中 U-PaLM 以大约一半的计算预算实现了与最终 PaLM 540B 模型相同的性能,并且在在许多小样本条件上性能优于 PaLM。
UL2 连接了生成语言模型和双向语言模型,它提出了混合降噪器目标,在同一模型中混合前缀(非因果)语言建模和填充(跨度损坏),并利用模式提示(mode prompts)在下游任务期间切换模式。
OPT 是由 Meta AI 研究人员发布的一系列大规模预训练语言模型,模型包括125M、350M、1.3B、2.7B、6.7B、13B、30B、66B、175B 9个不同的参数规模和版本,除了 175B 的版本需要填写申请获取外,其它规模版本的模型都完全开放下载,可以免费获得。OPT-175B 和 GPT-3 的性能相当,并且部署只需要损耗 GPT-3 1/7 的能量损耗。OPT 系列模型开源的目的是为促进学术研究和交流,因为绝大多数大语言模型训练成本高昂,导致大部分研究人员都无法负担大语言模型的训练或使用;同时,各大企业发布的大语言预训练模型由于商业目的也都无法完整访问模型权重,只能通过 API 调用获取结果,阻碍了学术的交流与研究。
LLaMA 是 Meta AI 发布的包含 7B、13B、33B 和 65B 四种参数规模的基础语言模型集合,LLaMA-13B 仅以 1/10 规模的参数在多数的 benchmarks 上性能优于 GPT-3(175B),LLaMA-65B 与业内最好的模型 Chinchilla-70B 和 PaLM-540B 比较也具有竞争力。
这项工作重点关注使用比通常更多的 tokens 训练一系列语言模型,在不同的推理预算下实现最佳的性能,也就是说在相对较小的模型上使用大规模数据集训练并达到较好性能。Chinchilla 论文中推荐在 200B 的 tokens 上训练 10B 规模的模型,而 LLaMA 使用了 1.4T tokens 训练 7B的模型,增大 tokens 规模,模型的性能仍在持续上升。
BLOOM 是 BigScience(一个围绕研究和创建超大型语言模型的开放协作研讨会)中数百名研究人员合作设计和构建的 176B 参数开源大语言模型,同时,还开源了BLOOM-560M、BLOOM-1.1B、BLOOM-1.7B、BLOOM-3B、BLOOM-7.1B 其他五个参数规模相对较小的模型。BLOOM 是一种 decoder-only 的 Transformer 语言模型,它是在 ROOTS 语料库上训练的,该数据集包含 46 种自然语言和 13 种编程语言(总共 59 种)的数百个数据来源。 实验证明 BLOOM 在各种基准测试中都取得了有竞争力的表现,在经过多任务提示微调后取得了更好的结果。BLOOM 的研究旨在针对当前大多数 LLM 由资源丰富的组织开发并且不向公众公开的问题,研制开源 LLM 以促进未来使用 LLM 的研究和应用。
GLM-130B 是清华大学与智谱AI共同研制的一个开放的双语(英汉)双向密集预训练语言模型,拥有 1300亿个参数,使用通用语言模型(General Language Model, GLM)的算法进行预训练。 2022年11月,斯坦福大学大模型中心对全球30个主流大模型进行了全方位的评测,GLM-130B 是亚洲唯一入选的大模型。GLM-130B 在广泛流行的英文基准测试中性能明显优于 GPT-3 175B(davinci),而对 OPT-175B 和 BLOOM-176B 没有观察到性能优势,它还在相关基准测试中性能始终显著优于最大的中文语言模型 ERNIE 3.0 Titan 260B。GLM-130B 无需后期训练即可达到 INT4 量化,且几乎没有性能损失;更重要的是,它能够在 4×RTX 3090 (24G) 或 8×RTX 2080 Ti (11G) GPU 上有效推理,是使用 100B 级模型最实惠的 GPU 需求。
ERNIE 3.0 是百度发布的知识增强的预训练大模型,参数规模为 10B。ERNIE 实现了兼顾自然语言理解和自然语言生成的统一预训练框架,使得经过训练的模型可以通过零样本学习、少样本学习或微调轻松地针对自然语言理解和生成任务进行定制。
ERNIE 3.0 Titan 是百度与鹏城实验室发布的目前为止全球最大的中文单体模型,它是ERNIE 3.0的扩大和升级,模型参数规模达到 260B,相对GPT-3的参数量提升50%。此外,在预训练阶段还设计了一个自监督的对抗性损失和一个可控的语言建模损失,使 ERNIE 3.0 Titan 生成可信和可控的文本(Credible and Controllable Generations)。 为了减少计算开销,ERNIE 3.0 Titan 提出了一个在线蒸馏框架,教师模型将同时教授学生模型和训练自己以更高效地利用计算资源。ERNIE 3.0 Titan 在 68 个 NLP 数据集上的表现优于最先进的模型。
Instruction(指令)是指通过自然语言形式对任务进行描述。对于翻译任务,在对需要翻译的句子 "I Love You." 前加入任务指令 "Translate the given English utterance to French script." 告诉模型要执行的任务和要求。这种方式符合模型生成的工作模型,最重要的是对于未知任务具有较好的 zero-shot 性能表现。通过将各种不同的任务转化为指令数据形式,对语言模型进行进一步微调。
T0 是由 Hugging Face 牵头联合 42 位研究人员研发的一个基于 T5 模型在大规模多任务数据集上进行微调得到的模型。该研究的目的是在不需要大幅度扩大模型规模情况下引导模型更好地泛化到未知任务(zero-shot 性能),并且对 prompts 的措辞表达选择与变化更加稳健。研究开发了一个可以将任何自然语言任务映射到人类可读的 prompt 形式的系统, 并转换了大量有监督的数据集,每个数据集都有多个 prompt 和不同的措辞,在这个涵盖各种任务的多任务数据上微调 encoder-decoder 结构的 T5 模型。T0 在多个标准数据集上 zero-shot 性能大幅度超越比其大 16 倍的 GPT-3 模型。
FLAN 是谷歌在 LaMDA 137B 模型基础上进行进一步的指令微调(Instruction tuning)得到的模型,通过指令微调提高语言模型在未知任务上的 zero-shot 性能和泛化能力。 zero-shot 实验中 FLAN 在评估的 25 个数据集中的 20 个上超过了 GPT-3 175B。 FLAN 在 ANLI、RTE、BoolQ、AI2-ARC、OpenbookQA 和 StoryCloze 上的表现甚至大大优于 few-shot GPT-3。论文的消融实现表明,微调数据集的数量、模型规模和自然语言指令是指令微调成功的关键。
Flan-LM 是谷歌在其已有的 T5、PaLM、U-PaLM 基础模型基础上利用指令 (Instruction) 数据集微调的一系列语言模型,包括 Flan-T5 (11B)、Flan-PaLM (540B)、Flan-U-PaLM (540B),在指令数据集上微调语言模型可以提高模型性能以及对未知任务的泛化能力。 该工作主要通过扩大模型规模和微调任务数量来研究指令微调 scaling 的效果, 通过整合 Muffiffiffin(80 tasks)、T0-SF(193 tasks)、NIV2(1554 tasks)、CoT (9 tasks) 四个之前的工作将指令微调任务扩大到 1,836 个,同时对 CoT 数据进行微调提升模型的逻辑推理能力。实验证明,指令微调可以显著提高预训练语言模型性能和可用性的通用方法,以及各种提示设置(零样本、少样本、CoT)和评估基准性能,例如,在 1.8K 任务上微调的 Flan-PaLM 540B 指令大大优于 PaLM 540B(平均 +9.4%),并在多个基准测试中实现了最先进的性能。
上述 T0 和 FLAN 等指令微调模型证明了多任务提示微调 (MTF) 可以帮助大模型在 zero-shot 条件下泛化到新任务,并且对 MTF 的探索主要集中在英语数据和模型上。 Hugging Face 将 MTF 应用于预训练的多语言 BLOOM 和 mT5 模型系列,发布了称为 BLOOMZ 和 mT0 的指令微调变体。研究实验中发现在具有英语提示的英语任务上微调多语言大模型可以将任务泛化到仅出现在预训练中的非英语任务;使用英语提示对多语言任务进行微调进一步提高了英语和非英语任务的性能,实现各种最先进的 zero-shot 结果; 论文还研究了多语言任务的微调,这些任务使用从英语翻译的提示来匹配每个数据集的语言,实验发现翻译的提示可以提高相应语言的人工提示的性能。 实验还发现模型能够对它们从未见过的语言任务进行零样本泛化,推测这些模型正在学习与任务和语言无关的更高级别的能力。
Alpaca(羊驼)模型是斯坦福大学基于 Meta 开源的 LLaMA-7B 模型微调得到的指令遵循(instruction-following)的语言模型。在有学术预算限制情况下,训练高质量的指令遵循模型主要面临强大的预训练语言模型和高质量的指令遵循数据两个挑战,作者利用 OpenAI 的 text-davinci-003 模型以 self-instruct 方式生成 52K 的指令遵循样本数据,利用这些数据训练以有监督的方式训练 LLaMA-7B 得到 Alpaca 模型。在测试中,Alpaca 的很多行为表现都与 text-davinci-003 类似,且只有 7B 参数的轻量级模型 Alpaca 性能可与 GPT-3.5 这样的超大规模语言模型性能媲美。
Alpaca-LoRA 使用 low-rank adaptation (LoRA) 重现 Alpaca 的结果,并且能够以一块消费级显卡,在几小时内完成 7B 模型的 fine-turning。
Alpaca 主要支持英文任务,因此许多工作在 Alpaca 基础上进一步训练其他语言的模型,比如,韩语羊 KoAlpaca,日语羊驼 Japanese-Alpaca-LoRA。对于中文任务,国内开源了参考 Alpaca 训练方式基于 LLaMA 的 Chinese-Vicuna (小羊驼)模型,以及 Luotuo(骆驼): Chinese-alpaca-lora。
ChatGLM 是清华大学知识工程(KEG)实验室与其技术成果转化的公司智谱AI基于此前开源的 GLM-130B 千亿基座模型研制,是一个初具问答和对话功能的千亿中英语言模型。ChatGLM 参考了 ChatGPT 的设计思路,在千亿基座模型 GLM-130B 中注入了代码预训练,通过有监督微调(Supervised Fine-Tuning)、反馈自助(Feedback Bootstrap)、人类反馈强化学习(Reinforcement Learning from Human Feedback) 等技术实现人类意图对齐。
同时,开源了62 亿参数的 ChatGLM-6B,结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存),虽然规模不及千亿模型,但大大降低了用户部署的门槛,并且已经能生成相当符合人类偏好的回答。
EENIE Bot 就是百度的文心一言,基于 ERNIE 系列大模型构建的类 ChatGPT 的对话模型,具体细节不知道...
Bard 是谷歌基于 LaMDA 研制的对标 ChatGPT 的对话语言模型,目前应该只支持英文对话,限美国和英国用户预约访问,其他未知...