大型语言模型综述 A Survey of Large Language Models

文章源自

2303.18223 (arxiv.org)

如有侵权,请通知下线

这是一篇关于大语言模型(LLMs)的综述论文,主要介绍了 LLMs 的发展历程、技术架构、训练方法、应用领域以及面临的挑战等方面,具体内容如下:

摘要 —— 自从图灵测试在 20 世纪 50 年代被提出以来,人类已经探索了机器对语言智能的掌握。语言本质上是一个由语法规则支配的复杂、复杂的人类表达系统。它对开发有能力的人工智能(AI)算法来理解和掌握语言提出了重大挑战。作为一种主要方法,语言建模在过去的二十年里被广泛研究用于语言理解和生成,从统计语言模型发展到神经语言模型。最近,通过在大规模语料库上预训练 Transverter 模型提出了预训练语言模型(PLM),在解决各种自然语言处理(NLP)任务方面显示出强大的能力。由于研究人员发现模型缩放可以导致模型容量的提高,他们通过将参数缩放增加到更大的大小来进一步研究缩放效应。有趣的是,当参数尺度超过一定水平时,这些放大的语言模型不仅实现了显着的性能提升,而且还表现出一些小规模语言模型(例如 BERT)中不存在的特殊能力(例如上下文学习)。为了区分不同参数尺度的语言模型,研究界为具有显著规模(例如,包含数百亿或数千亿参数)的 PLM 创造了术语大语言模型(LLM)。最近,关于 LLM 的研究在很大程度上得到了学术界和工业界的推进,一个显著的进展是 ChatGPT(基于 LLM 开发的强大的 AI 聊天机器人)的推出,引起了社会的广泛关注。LLM 的技术演进一直在对整个 AI 社区产生重要影响,这将彻底改变我们开发和使用 AI 算法的方式。考虑到这一快速的技术进步,在本次调查中,我们通过介绍背景、主要发现和主流技术来回顾 LLM 的最新进展。特别是,我们关注 LLM 的四个主要方面,即预培训、适应调整、利用和能力评估。此外,我们还总结了发展 LLM 的可用资源,并讨论了未来方向的剩余问题。本次调查提供了对 LLM 文献的最新回顾,这对研究人员和工程师来说都是一个有用的资源。

INTRODUCTION

  1. 研究背景和概述
    • 语言模型的发展:从统计语言模型、神经语言模型到预训练语言模型和大语言模型,模型规模不断扩大,能力逐渐增强。


      如今,LLM对人工智能社区产生了重大影响,ChatGPT和GPT-4的出现导致了对通用人工智能(AGI)可能性的重新思考。OpenAI发表了一篇题为“规划AGI及以后”的技术文章,讨论了接近AGI的短期和长期计划[40],最近的一篇论文认为GPT-4可能被认为是AGI系统的早期版本[41]。人工智能的研究领域正在被LLM的快速发展所彻底改变。在NLP领域,LLM可以作为通用语言任务求解器(在某种程度上),研究范式已经转向使用LLM。在IR领域,传统搜索引擎受到通过人工智能聊天机器人(即ChatGPT)寻找信息的新方式的挑战,新宾格3提出了基于LLM增强搜索结果的初步尝试。在简历领域,研究人员试图开发ChatGPT的视觉语言模型,可以更好地服务于多模态对话[42-45],GPT-4[46]通过整合视觉信息支持多模态输入。这一新技术浪潮有可能导致基于有限责任公司的现实世界应用程序的繁荣生态系统。例如,有限责任公司(即Copilot)授权微软365实现办公自动化,OpenAI支持使用ChatGPT中的插件来实现特殊功能。
    • LLMs 的特点和重要性
      • 特点:具有强大的语言理解和生成能力,能够展现出一些超出小模型的 “涌现能力”,如上下文学习、指令跟随和逐步推理等。
      • 重要性:对人工智能领域产生了重要影响,推动了自然语言处理任务的发展,在信息检索、推荐系统、多模态等领域有广泛应用。

2 OVERVIEW

该部分对大语言模型(LLM)的背景进行了概述,主要包括缩放定律、涌现能力、关键技术以及 GPT 系列模型的技术演化,具体内容如下:

  1. 背景知识
    • 定义与规模:大型语言模型通常指基于 Transformer 架构、包含数百亿(或更多)参数并在大规模文本数据上训练的语言模型,如 GPT-3、PaLM、Galactica 和 LLaMA 等,具有理解自然语言和解决复杂任务的强大能力。
    • 研究意义:快速了解 LLM 的工作原理对于该领域的发展至关重要,有助于推动人工智能技术的进步,为解决各种实际问题提供支持。
       

  1. 技术要点
    • 缩放定律
      • 定律阐述:包括 KM 缩放定律和 Chinchilla 缩放定律,前者由 OpenAI 团队提出,后者由 Google DeepMind 团队提出。这些定律描述了模型性能与模型大小、数据集大小和训练计算量之间的幂律关系。
      • 特点与影响
        • 可预测性:缩放定律可用于指导 LLM 的训练,能够根据较小模型的性能可靠地估计较大模型的性能,有助于在训练过程中进行优化和调整。
        • 资源分配:KM 缩放定律和 Chinchilla 缩放定律对计算预算在模型大小和数据大小之间的分配有不同的建议,这对资源的有效利用具有重要意义。
        • 性能趋势:虽然定律表明模型性能随规模增加而提高,但也存在收益递减的趋势,同时语言建模损失的降低并不总是意味着下游任务性能的提升,这为理解模型性能的变化提供了重要依据。
    • 涌现能力
      • 定义与特征:LLM 的涌现能力是指在大规模模型中出现而在小规模模型中不存在的能力,其显著特征是当规模达到一定水平时,性能会显著高于随机水平,与物理中的相变现象有密切联系。
      • 具体能力
        • 上下文学习:模型能够根据提供的自然语言指令和任务演示,生成测试实例的预期输出,且在不同模型和任务中表现有所差异,例如 GPT-3 在某些任务中具有较强的上下文学习能力,而 GPT-1 和 GPT-2 则较弱。
        • 指令跟随:通过对多任务数据集进行微调,LLM 能够根据指令执行新任务,表现出良好的泛化能力,随着模型规模的增加,指令跟随能力也会增强。
        • 逐步推理:对于小语言模型难以解决的涉及多推理步骤的复杂任务,LLM 可以通过思维链(CoT)提示策略,利用中间推理步骤推导出最终答案,这种能力在模型规模较大时表现得更为明显。
    • 关键技术
      • 缩放:是 Transformer 语言模型中的重要现象,更大的模型、数据规模和更多的训练计算通常会导致模型能力的提升。通过合理利用缩放定律,可以更有效地分配计算资源,提高训练效率。
      • 训练:由于 LLM 模型规模巨大,分布式训练算法是训练成功的关键,需要利用各种并行策略,并借助优化框架如 DeepSpeed 和 Megatron-LM 来实现高效的训练。
      • 能力引出:通过设计合适的任务指令或特定的上下文学习策略,激发 LLM 在完成特定任务时的潜在能力,这些能力在小语言模型中可能并不明显。
      • 对齐调整:由于 LLM 可能会产生有害、有偏差的内容,需要通过对齐调整使模型与人类价值观保持一致,例如 InstructGPT 通过强化学习与人类反馈的技术,使 LLM 能够遵循预期的指令,生成高质量、无害的响应。
      • 工具操作:由于 LLM 在处理非文本任务和获取最新信息方面存在局限性,通过引入外部工具,如计算器和搜索引擎,可以扩展 LLM 的能力,使其能够更好地应对各种复杂任务。
  2. GPT 系列模型的技术演化
    • 发展阶段
      • 早期探索:OpenAI 早期就探索了用语言模型构建智能系统的想法,从使用循环神经网络(RNN)到开发 GPT-1 和 GPT-2,为更强大的模型奠定了基础。
      • 能力提升
        • 容量飞跃:GPT-3 通过扩展生成式预训练架构,实现了模型能力的重大飞跃,引入了上下文学习概念,在各种 NLP 任务中表现出色。
        • 技术增强:包括在代码数据上进行训练和与人类偏好对齐等,这些增强技术使得 GPT-3 模型的能力得到进一步提升,如在解决数学问题和遵循人类指令方面表现更优。
      • 重要里程碑
        • ChatGPT:基于 GPT 模型开发,通过优化对话能力,在与人类的交流中表现出强大的知识储备、推理能力和对人类价值观的良好遵循,引发了人工智能领域的轰动。
        • GPT-4:是 LLM 发展的另一个重要里程碑,将文本输入扩展到多模态信号,在解决复杂任务方面比 GPT-3 更强大,对恶意或挑衅性查询的响应更安全,同时引入了可预测缩放等技术,提高了模型训练和性能评估的效率。
    • 技术特点
      • 基本原理:GPT 模型的基本原理是通过语言建模将世界知识压缩到仅解码器的 Transformer 模型中,从而恢复世界知识的语义并作为通用任务求解器。
      • 关键因素:成功的关键在于训练仅解码器的 Transformer 语言模型以准确预测下一个单词,并通过扩展模型规模来提高模型的性能和能力。

3 RESOURCES OF LLMS

该章节主要介绍了开发大语言模型(LLM)的可用资源,包括模型检查点、API、语料库、数据集和库资源等,具体内容如下:

  1. 模型检查点和 API
    • 重要性:模型检查点对于 LLM 的研究和开发至关重要,它们是训练成果的重要体现,而 API 则为用户提供了更便捷的使用方式。
    • 具体内容
      • 模型检查点
        • 特点与分类:介绍了多个具有代表性的 LLM 模型检查点,如 LLaMA、Mistral、Qwen 等,它们在参数规模、数据和计算资源需求以及性能评估方面各有特点。
        • 性能差异:不同模型在处理不同任务和数据集时表现出不同的性能,例如在某些基准测试中,一些模型可能在语言生成方面表现出色,而在知识推理方面则相对较弱。
      • API
        • 作用与优势:API 为普通用户提供了使用 LLM 的更方便途径,避免了本地运行模型的复杂性和资源需求。
        • 代表接口:以 GPT 系列模型的 API 为例,介绍了其不同版本的接口特点和应用场景,如 OpenAI 提供的多种 API 接口,包括 ada、babbage、curie、davinci 等,这些接口在不同的任务和应用中具有不同的优势。
           

  1. 常用语料库
    • 语料库分类
      • 分类依据:根据内容类型,将常用语料库分为网页、书籍、维基百科、代码和其他混合数据五类。
      • 具体类型
        • 网页数据:如 CommonCrawl、C4、RedPajama-Data 等,是训练语言模型的重要数据来源,但存在噪声和质量参差不齐的问题。
        • 书籍和学术数据:包括 BookCorpus、Project Gutenberg 等,为模型提供了丰富的知识和语言表达模式。
        • 代码数据:如从 GitHub 和 StackOverflow 等收集的代码,对于训练与编程相关的能力非常有帮助。
    • 语料库使用
      • 数据收集:在收集语料库时,需要注意数据的质量和多样性,以确保模型能够学习到丰富和准确的语言知识。
      • 混合使用:实际训练中,通常会混合使用不同类型的语料库,以充分利用各种数据的优势,提高模型的性能。

  1. 常用数据集
    • 指令调优数据集
      • 数据集类型:包括 NLP 任务数据集、日常聊天数据集和合成数据集等。
      • 具体数据集
        • NLP 任务数据集:如 P3 和 FLAN 等,这些数据集是通过对自然语言处理任务进行整理和标注得到的,为模型的指令调优提供了重要的基础。
        • 日常聊天数据集:如 ShareGPT、OpenAssistant 和 Dolly 等,包含了大量的日常对话数据,有助于模型学习自然语言的表达方式和语义理解。
        • 合成数据集:如 Self-Instruct-52K、Alpaca 和 Baize 等,通过让模型生成新的指令和实例,增加了数据集的多样性和规模。
      • 数据集构建:构建这些数据集需要精心设计的方法和策略,以确保数据集的质量和有效性。
    • 对齐调优数据集
      • 数据集作用:用于调整 LLM 与人类价值观和偏好的一致性,提高模型的安全性和可靠性。
      • 具体数据集
        • HH-RLHF:包含关于 LLM 有用性和无害性的开放端对话实例,通过人类标注者对模型的响应进行评估和选择。
        • SHP:专注于响应的有用性,通过收集人类对问题 / 指令的响应偏好数据来训练模型。
        • PKU-SafeRLHF:包含专家比较数据,用于评估模型在安全性和无害性方面的表现。
      • 数据集收集:收集对齐调优数据集需要考虑人类反馈的质量和一致性,以确保数据集的有效性。
  2. 库资源
    • 库资源概述:介绍了一系列用于开发 LLM 的库,这些库提供了各种工具和功能,帮助开发人员更高效地构建和训练模型。
    • 具体库介绍
      • Transformers 库:由 Hugging Face 开发和维护,是一个用于使用 Transformer 架构构建模型的开源 Python 库,具有简单易用的 API,便于用户进行模型的训练、推理和优化。
      • DeepSpeed 库:由 Microsoft 开发,是一个深度学习优化库,提供了多种优化技术,如内存优化、管道并行等,有助于提高模型的训练效率和性能。
      • Megatron-LM 库:由 NVIDIA 开发,是一个专门用于训练大规模语言模型的深度学习库,提供了丰富的优化技术和并行训练策略,能够有效利用 GPU 资源进行高效训练。
      • 其他库:还介绍了 JAX、Colossal-AI、BMTrain、FastMoE、vLLM 和 DeepSpeed-MII 等库,这些库在模型训练、推理和优化方面都具有各自的特点和优势。

4 PRE-TRAINING

该章节主要介绍了大语言模型(LLM)的预训练过程,包括数据收集与准备、模型架构、训练技术等方面,具体内容如下:

  1. 数据收集与准备
    • 重要性:高质量的数据是 LLM 预训练的基础,对模型的性能和能力具有重要影响。
    • 具体内容
      • 数据源
        • 数据分类:包括通用数据(如网页、书籍、对话文本)和专业数据(如多语言文本、科学文本、代码)。
        • 数据特点
          • 通用数据:为模型提供了广泛的语言知识和背景信息,有助于提高模型的泛化能力。
          • 专业数据:可以增强模型在特定领域的能力,如多语言数据有助于提高模型的多语言理解和生成能力,科学文本有助于提高模型的科学知识理解能力,代码数据有助于提高模型的编程相关能力。
      • 数据预处理
        • 预处理步骤:包括过滤和选择、去重、隐私减少和标记化。
        • 具体操作
          • 过滤和选择:采用基于分类器和启发式的方法,去除低质量数据,如根据语言特征、文本质量评估指标和关键词等进行过滤。
          • 去重:避免数据重复对模型训练的不利影响,包括句子级、文档级和数据集级的去重。
          • 隐私减少:通过去除个人可识别信息(PII)来保护用户隐私。
          • 标记化:将文本分割成单词或子词单元,以便模型能够处理和学习。
             
      • 数据调度
        • 调度因素:包括数据混合和数据课程,数据混合涉及不同数据源的比例设置,数据课程涉及数据呈现的顺序安排。
        • 优化策略
          • 增加数据多样性:通过混合不同类型的数据源,减少模型对特定领域数据的依赖,提高模型的泛化能力。
          • 优化数据混合:可以手动设置数据混合比例,也可以通过优化算法来寻找最佳的数据混合方式,以提高模型的预训练效果。
          • 专业能力增强:通过增加特定数据来源的比例,可以增强模型在特定领域的能力,如增加数学文本和代码数据的比例可以提高模型的数学推理和编程能力。
  2. 模型架构
    • 架构类型
现代深度学习基于目标检测模型的调查 目标检测是计算机视觉领域的一个重要问题,它涉及到在图像或视频中检测出特定对象的位置和类别。近年来,深度学习已经成为目标检测的主流方法,因为它可以自动学习特征并在大规模数据集上进行训练。以下是一些现代深度学习基于目标检测模型的调查: 1. Faster R-CNN:这是一种基于区域提议的目标检测模型,它使用卷积神经网络(CNN)来提取特征,并使用区域提议网络(RPN)来生成候选区域。然后,它使用分类器和回归器来预测每个候选区域的类别和位置。 2. YOLO(You Only Look Once):这是一种基于单个神经网络的目标检测模型,它可以在一次前向传递中同时预测多个对象的类别和位置。它使用卷积神经网络来提取特征,并将其与全连接层结合使用,以生成对象的边界框和类别。 3. SSD(Single Shot MultiBox Detector):这是一种基于单个神经网络的目标检测模型,它可以在一次前向传递中同时预测多个对象的类别和位置。它使用卷积神经网络来提取特征,并使用多个尺度的卷积层来检测不同大小的对象。 4. RetinaNet:这是一种基于特征金字塔网络(FPN)的目标检测模型,它可以在不同尺度上检测对象。它使用卷积神经网络来提取特征,并使用分类器和回归器来预测每个候选区域的类别和位置。 这些现代深度学习基于目标检测模型都具有高精度和高效性能,它们在许多计算机视觉应用中都得到了广泛应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值