大语言模型综述全新升级版:85页、600+篇参考文献
今年 3 月末,我们在 arXiv 网站发布了大语言模型综述文章《A Survey of Large Language Models》的第一个版本 V1,该综述文章系统性地梳理了大语言模型的研究进展与核心技术,讨论了大量的相关工作。自大语言模型综述的预印本上线以来,受到了广泛关注,收到了不少读者的宝贵意见。
在发布 V1 版本后的 3 个月时间内,为了提升该综述的质量,我们在持续更新相关的内容,连续进行了多版的内容修订(版本号目前迭代到 V11),论文篇幅从 V1 版本的 51 页、416 篇参考文献扩增到了 V11 版本的 85 页、610 篇参考文献。V11 版本是我们自五月中下旬开始策划进行大修的版本,详细更新日志请见文章结尾,已于 6 月末再次发布于 arXiv 网站。相较于 V1 版本,V11 版本的大语言模型综述有以下新亮点:
新增了对 LLaMA 模型及其衍生模型组成的 LLaMA 家族介绍;
新增了具体实验分析,包括指令微调数据集组合方式实验以及部分模型综合能力评测;
新增了大语言模型提示设计提示指南以及相关实验,总结了提示设计的原则、经验;
新增了参数高效适配和空间高效适配章节,总结了大语言模型相关的轻量化技术;
增加了对于规划(planning)的相关工作介绍;
增补了许多脉络梳理内容,以及大量最新工作介绍;
此外,我们综述的中文翻译版本也在持续更新(针对 v1 版本进行了翻译,并持续更新)
GitHub项目链接:
中文翻译版本链接:
引言
大语言模型目前已经成为学界研究的热点。我们统计了 arXiv 论文库中自 2018 年 6 月以来包含关键词“语言模型”以及自 2019 年 10 月以来包含关键词“大语言模型”的论文数量趋势图。结果表明,在 ChatGPT 发布之后,相关论文的数量呈现出爆发式增长,这充分证明大语言模型在学术界的影响力日益凸显,吸引了越来越多的研究者投入到这一领域。
总览
相较于小模型,大模型扩展了模型大小、训练数据大小和总计算量,显著提升了语言模型的能力。在总览章节中,我们新增了扩展法则(scaling law)的讨论,其中重点介绍了 KM 扩展法则和 Chinchilla 扩展法则,这两个法则对于理解大语言模型的性能提升提供了重要参考。
KM 扩展法则 Chinchilla扩展法则
此外,我们新增了一部分关于 OpenAI GPT 系列语言模型的技术演进阶段的介绍(并附图)。这一部分将帮助读者了解 GPT 系列模型如何从最初的 GPT 开始,逐步演变成例如 ChatGPT 和 GPT-4 等更先进的大语言模型。
针对 GPT 系列的核心“预测下一个词”,还进一步加入了一些 Ilya Sutskever 的采访记录:
大语言模型相关资源
我们对于最新符合条件的模型进行了补充,持续更新了现有的 10B+ 的模型图:
2023 年 2 月,Meta 发布了 LLaMA 大语言模型。受益于其强大的基座能力,LLaMA 的发布引起了开源社区的对其进行扩展的热潮,大量的研究人员基于 LLaMA 进行指令微调或者继续预训练,从而催生了大量高质量的开源大语言模型。为了帮助读者了解 LLaMA 家族模型的发展脉络,我们增加了 LLaMA 家族模型的发展介绍,并绘制了一个简要的 LLaMA 家族演化图来展示 LLaMA 家族模型的发展历程,以及各个衍生模型之间的关联。
大语言模型预训练技术
在预训练技术章节,我们大幅补充了大模型预训练各方面的技术细节。在模型架构部分,我们补充了三种主流模型架构的对比图,包括因果编码器、前缀解码器和编码器-解码器架构,从而直观的展示这三种架构的差异和联系。
此外,我们详细补充了模型架构的各组件细节,包括分词、归一化方法、归一化位置、位置编码、注意力与偏置等等,并提供了 Transformer 架构多种配置的详细公式表。在最后的讨论章节,我们针对研究者广泛关注的长文本编码与生成挑战进行了讨论。
针对预训练数据的词元化问题(tokenization),我们补充介绍了 BPE、WordPiece 和 Unigram 三种常用算法:
大语言模型适配技术
在适配技术章节,我们扩充了指令微调的技术细节,包括指令收集方法、指令微调的作用、指令微调的结果和对应分析。首先,我们按照任务指令、聊天指令、合成指令三类分别介绍了指令数据的收集方法,并收集了的指令集合。
并且更新了指令集合的创建方式示意图:
其次,为了探究不同指令数据对模型性能的影响,我们给出了不同数据混合策略下指令微调模型的实验结果供读者参考。为了让读者更好地上手指令微调,还给出了指令微调大模型的资源参考表,并给出了指令微调的实用建议。
随着大语言模型的关注度日渐上升,如何更轻量地微调和使用大语言模型也成为了业界关注的热点,为此,我们新增参数高效适配章节和空间高效适配章节。在参数高效适配章节,我们介绍了常见的参数高效适配技术,包括 Adapter Tuning、Prefix Tuning、Prompt Tuning、LoRA 等等,并列举了近期结合这些技术在大模型上的具体实践。
同时由于大语言模型参数量巨大,在推理时需要占用大量的内存(显存),导致它们在实际应用中部署成本较高。为此,我们介绍了空间高效适配技术,讨论了如何通过模型压缩方法(模型量化)来减少大语言模型的内存占用,从而使其可以在资源有限的情况下使用。下面总结了我们讨论的一些核心结论:
大语言模型使用技术
我们将大语言模型在推理阶段如何执行上下文学习的机制分析划分为两类,即任务识别和任务学习。在任务识别部分,介绍了大语言模型如何从示例中识别任务并使用预训练阶段习得的知识加以解决;在任务学习部分,介绍了大语言模型如何从示例中学习解决新任务。
除了上下文学习和思维链提示,我们还介绍了另一类使用大语言模型的重要范式,即基于提示对复杂任务进行规划。根据相关工作,我们总结出了基于规划的提示的总体框架。这类范式通常包含三个组件:任务规划者、规划执行者和环境。随后,我们从规划生成,反馈获取和规划完善三个方面介绍了这一范式的基本做法。
大语言模型能力评估
考虑到大语言模型的条件语言生成能力日益增长,我们介绍了已有工作对大语言模型时代语言生成自动评测可靠性问题的讨论。对于大语言模型的高级能力,我们增补了最新的相关工作,并总结了大语言模型高级能力评测的常用数据集供读者参考。此外,随着大语言模型通用能力的提升,一系列工作提出了更具挑战性的基于面向人类测试的综合评测基准来评测大语言模型,我们增加了这些代表性评测基准的介绍。
在大语言模型时代,开源和闭源的大语言模型不断涌现,我们对部分热门开源模型和闭源模型进行了细粒度的能力评测,涵盖了评测章节总结的 8 大基础和高级能力对应的 27 个代表性任务。进一步,我们对开源模型和闭源模型的评测结果进行了细致的分析。
为了更好地说明大模型的现有问题,我们对于关键问题都进行了 note 形式的总结:
大语言模型提示设计使用指南
在大语言模型时代,提示成为了人与机器交互的重要形式。然而,如何编写好的提示是一门对技巧和经验要求很高的手艺。为了让读者能够快速上手大语言模型的提示设计,我们给出了一个实用的提示设计指南。我们详细介绍了提示的关键组件,并讨论了一些关键的提示设计原则。
一个完整的提示通常包含四个关键组成因素,即任务描述、输入数据、上下文信息和提示风格。为了更好的展示这些组成因素,我们给出了直观的提示样例表。
增加了相关提示的示意图:
除此之外,我们还总结了一些关键的提示设计原则,包括清晰表述任务目标、将复杂任务进行分解以及使用模型友好的格式。进一步我们基于这些设计原则,展示了一系列有用的提示设计小贴士。
最后,我们结合多种常见任务,基于 ChatGPT 具体实验了不同提示对模型性能的影响,供读者在使用提示执行具体任务时参考。
大语言模型领域应用
随着大语言模型关注度的逐渐提升,研究者和工业界从业人员也尝试将大语言模型应用到各种专业领域中。为了系统地介绍这些应用实践,我们将综述中大语言模型的领域应用部分独立成了专门的章节。具体而言,我们扩充介绍了原有将大语言模型应用到医疗、教育、法律领域的相关研究,并新增了金融和科学研究领域的相关工作介绍。
寻求建议与算力
一篇高质量的长篇综述文章需要大量的时间投入,所参与的老师和学生为此付出了很多的时间。尽管我们已经尽力去完善这篇综述文章,但由于能力所限,难免存在不足和错误之处,仍有很大的改进空间。
我们的最终目标是使这篇综述文章成为一个“know-how”的大模型技术指南手册,让大模型的秘密不再神秘、让技术细节不再被隐藏。尽管我们深知目前这篇综述离这个目标的距离还比较远,我们愿意在之后的版本中竭尽全力去改进。特别地,对于预训练、指令微调、提示工程的内在原理以及实战经验等方面,我们非常欢迎读者为我们贡献想法与建议,可以通过 GitHub 提交 PR 或者邮件联系我们的作者。对于所有被采纳的技术细节,我们都将在论文的致谢部分中“实名+实际贡献”进行致谢。
同时,我们自己也在围绕大模型综述的部分内容开展相关的实验探索(如能力评测、指令微调等),以保证综述中的讨论能够有据可循。由于算力所限,目前能开展的实验局限于小尺寸模型和少量比较方法。在此,我们也向社会寻求算力支持,我们将承诺所获得的算力资源将完全用于该综述文章的编写,所有使用外部算力所获得的技术经验,将完全在综述文章中对外发布。我们将在综述的致谢部分和 GitHub 项目主页对于算力提供商进行致谢。针对本综述文章的算力资源支持事宜,烦请致信 [email protected] 联系我们。
我们的综述文章自发布以来,收到了广泛网友的大量修改意见,在此一并表示感谢。也希望大家一如既往支持与关注我们的大模型综述文章,您们的点赞与反馈将是我们前行最大的动力。
本次修订的参与学生名单
附件:更新日志
更多阅读
#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
📝 稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
📬 投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿
△长按添加PaperWeekly小编
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
微信扫码关注该文公众号作者