Skip to content

Latest commit

 

History

History
299 lines (163 loc) · 24.8 KB

1.大型语言模型 LLM 理论简介.md

File metadata and controls

299 lines (163 loc) · 24.8 KB

大型语言模型(LLM)理论简介

[toc]

一、什么是大型语言模型(LLM)

1.1 大型语言模型(LLM)的概念

大语言模型(LLM,Large Language Model),也称大型语言模型,是一种旨在理解和生成人类语言的人工智能模型

LLM 通常指包含数百亿(或更多)参数的语言模型,它们在海量的文本数据上进行训练,从而获得对语言深层次的理解。目前,国外的知名 LLM 有 GPT-3.5、GPT-4、PaLM、Claude 和 LLaMA 等,国内的有文心一言、讯飞星火、通义千问、ChatGLM、百川等。

为了探索性能的极限,许多研究人员开始训练越来越庞大的语言模型,例如拥有 1750 亿参数的 GPT-35400 亿参数的 PaLM 。尽管这些大型语言模型与小型语言模型(例如 3.3 亿参数的 BERT15 亿参数的 GPT-2)使用相似的架构和预训练任务,但它们展现出截然不同的能力,尤其在解决复杂任务时表现出了惊人的潜力,这被称为“涌现能力”。以 GPT-3 和 GPT-2 为例,GPT-3 可以通过学习上下文来解决少样本任务,而 GPT-2 在这方面表现较差。因此,科研界给这些庞大的语言模型起了个名字,称之为“大语言模型(LLM)”。LLM 的一个杰出应用就是 ChatGPT ,它是 GPT 系列 LLM 用于与人类对话式应用的大胆尝试,展现出了非常流畅和自然的表现。

1.2 LLM 的发展历程

语言建模的研究可以追溯到20 世纪 90 年代,当时的研究主要集中在采用统计学习方法来预测词汇,通过分析前面的词汇来预测下一个词汇。但在理解复杂语言规则方面存在一定局限性。

随后,研究人员不断尝试改进,2003 年深度学习先驱 Bengio 在他的经典论文 《A Neural Probabilistic Language Model》中,首次将深度学习的思想融入到语言模型中。强大的神经网络模型,相当于为计算机提供了强大的"大脑"来理解语言,让模型可以更好地捕捉和理解语言中的复杂关系。

2018 年左右,Transformer 架构的神经网络模型开始崭露头角。通过大量文本数据训练这些模型,使它们能够通过阅读大量文本来深入理解语言规则和模式,就像让计算机阅读整个互联网一样,对语言有了更深刻的理解,极大地提升了模型在各种自然语言处理任务上的表现。

与此同时,研究人员发现,随着语言模型规模的扩大(增加模型大小或使用更多数据),模型展现出了一些惊人的能力,在各种任务中的表现均显著提升。这一发现标志着大型语言模型(LLM)时代的开启。

1.3 常见的 LLM 模型

大语言模型的发展历程虽然只有短短不到五年的时间,但是发展速度相当惊人,截止 2023 年 6 月,国内外有超过百种大模型相继发布。下图按照时间线给出了 2019 年至 2023 年 6 月比较有影响力并且模型参数量超过 100 亿的大语言模型:

(该图来源于参考内容 [1])

接下来我们主要介绍几个国内外常见的大模型(包括开源和闭源)

1.3.1 闭源 LLM (未公开源代码)

1.3.1.1 GPT 系列

OpenAI 模型介绍

OpenAI 公司在 2018 年提出的 GPT(Generative Pre-Training) 模型是典型的 生成式预训练语言模型 之一。

GPT 模型的基本原则是通过语言建模将世界知识压缩到仅解码器 (decoder-only) 的 Transformer 模型中,这样它就可以恢复(或记忆)世界知识的语义,并充当通用任务求解器。它能够成功的两个关键点:

  • 训练能够准确预测下一个单词的 decoder-only 的 Transformer 语言模型
  • 扩展语言模型的大小

OpenAI 在 LLM 上的研究大致可以分为以下几个阶段:

GPT 阶段

接下来,我们将从模型规模、特点等方面,介绍大家熟知的 ChatGPT 与 GPT4:

1.3.1.1.1 ChatGPT

ChatGPT 使用地址

2022 年 11 月OpenAI 发布了基于 GPT 模型(GPT-3.5 和 GPT-4) 的会话应用 ChatGPT。由于与人类交流的出色能力,ChatGPT 自发布以来就引发了人工智能社区的兴奋。ChatGPT 是基于强大的 GPT 模型开发的,具有特别优化的会话能力。

ChatGPT 从本质上来说是一个 LLM 应用,是基于基座模型开发出来的,与基座模型有本质的区别。其支持 GPT-3.5 和 GPT-4 两个版本。

ChatGPT 界面

现在的 ChatGPT 支持最长达 32,000 个字符,知识截止日期是 2021 年 9 月,它可以执行各种任务,包括代码编写、数学问题求解、写作建议等。ChatGPT 在与人类交流方面表现出了卓越的能力:拥有丰富的知识储备,对数学问题进行推理的技能,在多回合对话中准确追踪上下文,并且与人类安全使用的价值观非常一致。后来,ChatGPT 支持插件机制,这进一步扩展了 ChatGPT 与现有工具或应用程序的能力。到目前为止,它似乎是人工智能历史上最强大的聊天机器人。ChatGPT 的推出对未来的人工智能研究具有重大影响,它为探索类人人工智能系统提供了启示。

1.3.1.1.2 GPT-4

2023 年 3 月发布的 GPT-4,它将文本输入扩展到多模态信号。GPT3.5 拥有 1750 亿 个参数,而 GPT4 的参数量官方并没有公布,但有相关人员猜测,GPT-4 在 120 层中总共包含了 1.8 万亿参数,也就是说,GPT-4 的规模是 GPT-3 的 10 倍以上。因此,GPT-4 比 GPT-3.5 解决复杂任务的能力更强,在许多评估任务上表现出较大的性能提升

最近的一项研究通过对人为生成的问题进行定性测试来研究 GPT-4 的能力,这些问题包含了各种各样的困难任务,并表明 GPT-4 可以比之前的 GPT 模型(如 GPT3.5 )实现更优越的性能。此外,由于六个月的迭代校准(在 RLHF 训练中有额外的安全奖励信号),GPT-4 对恶意或挑衅性查询的响应更安全,并应用了一些干预策略来缓解 LLM 可能出现的问题,如幻觉、隐私和过度依赖。

注意:2023 年 11 月 7 日, OpenAI 召开了首个开发者大会,会上推出了最新的大语言模型 GPT-4 Turbo,Turbo 相当于进阶版。它将上下文长度扩展到 128k,相当于 300 页文本,并且训练知识更新到 2023 年 4 月

GPT3.5 是免费的,而 GPT-4 是收费的。需要开通 plus 会员 20 美元/月。

2024 年 5 月 14 日,新一代旗舰生成模型 GPT-4o 正式发布。GPT-4o 具备了对文本、语音、图像三种模态的深度理解能力,反应迅速且富有情感色彩,极具人性化。而且 GPT-4o 是完全免费的,虽然每天的免费使用次数是有限的。

通常我们可以调用模型 API 来开发自己的应用,主流模型 API 对比如下:

语言模型名称 上下文长度 特点 input 费用($/million tokens) output 费用($/ 1M tokens) 知识截止日期
GPT-3.5-turbo-0125 16k 经济,专门对话 0.5 1.5 2021 年 9 月
GPT-3.5-turbo-instruct 4k 指令模型 1.5 2 2021 年 9 月
GPT-4 8k 性能更强 30 60 2021 年 9 月
GPT-4-32k 32k 性能强,长上下文 60 120 2021 年 9 月
GPT-4-turbo 128k 性能更强 10 30 2023 年 12 月
GPT-4o 128k 性能最强,速度更快 5 15 2023 年 10 月
Embedding 模型名称 维度 特点 费用($/ 1M tokens)
text-embedding-3-small 512/1536 较小 0.02
text-embedding-3-large 256/1024/3072 较大 0.13
ada v2 1536 传统 0.1
1.3.1.2 Claude 系列

Claude 系列模型是由 OpenAI 离职人员创建的 Anthropic 公司开发的闭源语言大模型。

Claude 使用地址

最早的 Claude2023 年 3 月 15 日发布,在 2023 年 7 月 11 日,更新至 Claude-2, 并在 2024 年 3 月 4 日更新至 Claude-3

Claude 3 系列包括三个不同的模型,分别是 Claude 3 Haiku、Claude 3 Sonnet 和 Claude 3 Opus,它们的能力依次递增,旨在满足不同用户和应用场景的需求。

模型名称 上下文长度 特点 input 费用($/1M tokens) output 费用($/1M tokens)
Claude 3 Haiku 200k 速度最快 0.25 1.25
Claude 3 Sonnet 200k 平衡 3 15
Claude 3 Opus 200k 性能最强 15 75

Claude 界面

1.3.1.1.3 PaLM/Gemini 系列

PaLM 系列语言大模型由 Google 开发。其初始版本于 2022 年 4 月发布,并在 2023 年 3 月公开了 API。2023 年 5 月,Google 发布了 PaLM 22024 年 2 月 1 日,Google 将 Bard(之前发布的对话应用) 的底层大模型驱动由 PaLM2 更改为 Gemini,同时也将原先的 Bard 更名为 Gemini

PaLM 官方地址

Gemini 使用地址

目前的 Gemini 是第一个版本,即 Gemini 1.0,根据参数量不同分为 Ultra, Pro 和 Nano 三个版本。

以下窗口是 Gemini 的界面:

Gemini 界面

1.3.1.1.4 文心一言

文心一言使用地址

文心一言是基于百度文心大模型的知识增强语言大模型,于 2023 年 3 月在国内率先开启邀测。文心一言的基础模型文心大模型于 2019 年发布 1.0 版,现已更新到 4.0 版本。更进一步划分,文心大模型包括 NLP 大模型、CV 大模型、跨模态大模型、生物计算大模型、行业大模型。中文能力相对来说非常不错的闭源模型。

文心一言网页版分为免费版专业版

  • 免费版使用文心 3.5 版本,已经能够满足个人用户或小型企业的大部分需求。
  • 专业版使用文心 4.0 版本。定价为 59.9 元/月,连续包月优惠价为 49.9 元/月

同时也可以使用 API 进行调用(计费详情)。

以下是文心一言的使用界面:

文心一言界面

1.3.1.1.5 星火大模型

星火大模型使用地址

讯飞星火认知大模型科大讯飞发布的语言大模型,支持多种自然语言处理任务。该模型于 2023 年 5 月首次发布,后续经过多次升级。2023 年 10 月,讯飞发布了讯飞星火认知大模型 V3.02024 年 1 月,讯飞发布了讯飞星火认知大模型 V3.5,在语言理解,文本生成,知识问答等七个方面进行了升级,并且支持 system 指令,插件调用等多项功能。

讯飞发布会

以下是讯飞星火的使用界面:

讯飞星火界面

1.3.2. 开源 LLM

1.3.2.1 LLaMA 系列

LLaMA 官方地址

LLaMA 开源地址

LLaMA 系列模型Meta 开源的一组参数规模 从 7B 到 70B 的基础语言模型。LLaMA 于2023 年 2 月发布,2023 年 7 月发布了 LLaMA2 模型,并于 2024 年 4 月 18 日发布了 LLaMA3 模型。它们都是在数万亿个字符上训练的,展示了如何仅使用公开可用的数据集来训练最先进的模型,而不需要依赖专有或不可访问的数据集。这些数据集包括 Common Crawl、Wikipedia、OpenWebText2、RealNews、Books 等。LLaMA 模型使用了大规模的数据过滤和清洗技术,以提高数据质量和多样性,减少噪声和偏见。LLaMA 模型还使用了高效的数据并行流水线并行技术,以加速模型的训练和扩展。特别地,LLaMA 13B 在 CommonsenseQA 等 9 个基准测试中超过了 GPT-3 (175B),而 LLaMA 65B 与最优秀的模型 Chinchilla-70B 和 PaLM-540B 相媲美。LLaMA 通过使用更少的字符来达到最佳性能,从而在各种推理预算下具有优势。

与 GPT 系列相同,LLaMA 模型也采用了 decoder-only 架构,同时结合了一些前人工作的改进:

  • Pre-normalization 正则化:为了提高训练稳定性,LLaMA 对每个 Transformer 子层的输入进行了 RMSNorm 归一化,这种归一化方法可以避免梯度爆炸和消失的问题,提高模型的收敛速度和性能;
  • SwiGLU 激活函数:将 ReLU 非线性替换为 SwiGLU 激活函数,增加网络的表达能力和非线性,同时减少参数量和计算量;
  • 旋转位置编码(RoPE,Rotary Position Embedding):模型的输入不再使用位置编码,而是在网络的每一层添加了位置编码,RoPE 位置编码可以有效地捕捉输入序列中的相对位置信息,并且具有更好的泛化能力。

LLaMA3 在 LLaMA 系列模型的基础上进行了改进,提高了模型的性能和效率:

  • 更多的训练数据量:LLaMA3 在 15 万亿个 token 的数据上进行预训练,相比 LLaMA2 的训练数据量增加了 7 倍,且代码数据增加了 4 倍。LLaMA3 能够接触到更多的文本信息,从而提高了其理解和生成文本的能力。

  • 更长的上下文长度:LLaMA3 的上下文长度增加了一倍,从 LLaMA2 的 4096 个 token 增加到了 8192。这使得 LLaMA3 能够处理更长的文本序列,改善了对长文本的理解和生成能力。

  • 分组查询注意力(GQA,Grouped-Query Attention):通过将查询(query)分组并在组内共享键(key)和值(value),减少了计算量,同时保持了模型性能,提高了大型模型的推理效率(LLaMA2 只有 70B 采用)。

  • 更大的词表:LLaMA3 升级为了 128K 的 tokenizer,是前两代 32K 的 4 倍,这使得其语义编码能力得到了极大的增强,从而显著提升了模型的性能。

1.3.2.2 通义千问

通义千问使用地址

通义千问开源地址

通义千问由阿里巴巴基于“通义”大模型研发,于 2023 年 4 月正式发布。2023 年 9 月,阿里云开源了 Qwen(通义千问)系列工作。2024 年 2 月 5 日,开源了 Qwen1.5(Qwen2 的测试版)。并于 2024 年 6 月 6 日正式开源了 Qwen2。 Qwen2 是一个 decoder-Only 的模型,采用 SwiGLU 激活RoPEGQA的架构。中文能力相对来说非常不错的开源模型。

目前,已经开源了 5 种模型大小:0.5B、1.5B、7B、72B 的 Dense 模型和 57B (A14B)的 MoE 模型;所有模型均支持长度为 32768 token 的上下文。并将 Qwen2-7B-Instruct 和 Qwen2-72B-Instruct 的上下文长度扩展至 128K token

以下是通义千问的使用界面: 通义千问界面

1.3.2.3 GLM 系列

ChatGLM 使用地址

ChatGLM 开源地址

GLM 系列模型清华大学和智谱 AI 等合作研发的语言大模型。2023 年 3 月 发布了 ChatGLM。6 月发布了 ChatGLM 2。10 月推出了 ChatGLM3。2024 年 1 月 16 日 发布了 GLM4,并于 2024 年 6 月 6 日正式开源。

GLM-4-9B-Chat 支持多轮对话的同时,还具备网页浏览、代码执行、自定义工具调用(Function Call)和长文本推理(支持最大 128K 上下文)等功能。

开源了对话模型 GLM-4-9B-Chat基础模型 GLM-4-9B长文本对话模型 GLM-4-9B-Chat-1M(支持 1M 上下文长度)、多模态模型GLM-4V-9B 等全面对标 OpenAI:

chatglm VS openai 2024 年 1 月 16 日 发布了 ChatGLM4,但目前还没有开源

以下是智谱清言的使用界面:

智谱清言界面

1.3.2.4 Baichuan 系列

百川使用地址

百川开源地址

Baichuan 是由百川智能开发的开源可商用的语言大模型。其基于Transformer 解码器架构(decoder-only)

2023 年 6 月 15 日发布了 Baichuan-7BBaichuan-13B。百川同时开源了预训练对齐模型,预训练模型是面向开发者的“基座”,而对齐模型则面向广大需要对话功能的普通用户

Baichuan22023年 9 月 6 日推出。发布了 7B、13BBaseChat 版本,并提供了 Chat 版本的 4bits 量化

2024 年 1 月 29 日 发布了 Baichuan 3。但是目前还没有开源

以下是百川大模型的使用界面: 百川界面

二、LLM 的能力与特点

2.1 LLM 的能力

2.1.1 涌现能力(emergent abilities)

区分大语言模型(LLM)与以前的预训练语言模型(PLM)最显著的特征之一是它们的 涌现能力 。涌现能力是一种令人惊讶的能力,它在小型模型中不明显,但在大型模型中特别突出。类似物理学中的相变现象,涌现能力就像是模型性能随着规模增大而迅速提升,超过了随机水平,也就是我们常说的量变引起质变

涌现能力可以与某些复杂任务有关,但我们更关注的是其通用能力。接下来,我们简要介绍三个 LLM 典型的涌现能力:

  1. 上下文学习:上下文学习能力是由 GPT-3 首次引入的。这种能力允许语言模型在提供自然语言指令或多个任务示例的情况下,通过理解上下文并生成相应输出的方式来执行任务,而无需额外的训练或参数更新。

  2. 指令遵循:通过使用自然语言描述的多任务数据进行微调,也就是所谓的 指令微调。LLM 被证明在使用指令形式化描述的未见过的任务上表现良好。这意味着 LLM 能够根据任务指令执行任务,而无需事先见过具体示例,展示了其强大的泛化能力。

  3. 逐步推理:小型语言模型通常难以解决涉及多个推理步骤的复杂任务,例如数学问题。然而,LLM 通过采用 思维链(CoT, Chain of Thought) 推理策略,利用包含中间推理步骤的提示机制来解决这些任务,从而得出最终答案。据推测,这种能力可能是通过对代码的训练获得的。

这些涌现能力让 LLM 在处理各种任务时表现出色,使它们成为了解决复杂问题和应用于多领域的强大工具。

2.1.2 作为基座模型支持多元应用的能力

在 2021 年,斯坦福大学等多所高校的研究人员提出了基座模型(foundation model)的概念,清晰了预训练模型的作用。这是一种全新的 AI 技术范式,借助于海量无标注数据的训练,获得可以适用于大量下游任务的大模型(单模态或者多模态)。这样,多个应用可以只依赖于一个或少数几个大模型进行统一建设

大语言模型是这个新模式的典型例子,使用统一的大模型可以极大地提高研发效率。相比于每次开发单个模型的方式,这是一项本质上的进步。大型模型不仅可以缩短每个具体应用的开发周期,减少所需人力投入,也可以基于大模型的推理、常识和写作能力,获得更好的应用效果。因此,大模型可以成为 AI 应用开发的大一统基座模型,这是一个一举多得、全新的范式,值得大力推广。

2.1.3 支持对话作为统一入口的能力

让大语言模型真正火爆的契机,是基于对话聊天的 ChatGPT。业界很早就发现了用户对于对话交互的特殊偏好,陆奇在微软期间,就于 2016 年推进过“对话即平台(conversation as a platform)” 的战略。此外,苹果 Siri 、亚马逊 Echo 等基于语音对话的产品也非常受欢迎,反映出互联网用户对于聊天和对话这种交互模式的偏好。虽然之前的聊天机器人存在各种问题,但大型语言模型的出现再次让聊天机器人这种交互模式可以重新涌现。用户愈发期待像钢铁侠中“贾维斯”一样的人工智能,无所不能、无所不知。这引发我们对于智能体(Agent)类型应用前景的思考,Auto-GPT、微软 Jarvis 等项目已经出现并受到关注,相信未来会涌现出很多类似的以对话形态让助手完成各种具体工作的项目。

2.2 LLM 的特点

大语言模型具有多种显著特点,这些特点使它们在自然语言处理和其他领域中引起了广泛的兴趣和研究。以下是大语言模型的一些主要特点:

  1. 巨大的规模: LLM 通常具有巨大的参数规模,可以达到数十亿甚至数千亿个参数。这使得它们能够捕捉更多的语言知识和复杂的语法结构。

  2. 预训练和微调: LLM 采用了预训练和微调的学习方法。首先在大规模文本数据上进行预训练(无标签数据),学习通用的语言表示和知识。然后通过微调(有标签数据)适应特定任务,从而在各种 NLP 任务中表现出色。

  3. 上下文感知: LLM 在处理文本时具有强大的上下文感知能力,能够理解和生成依赖于前文的文本内容。这使得它们在对话、文章生成和情境理解方面表现出色。

  4. 多语言支持: LLM 可以用于多种语言,不仅限于英语。它们的多语言能力使得跨文化和跨语言的应用变得更加容易。

  5. 多模态支持: 一些 LLM 已经扩展到支持多模态数据,包括文本、图像和声音。使得它们可以理解和生成不同媒体类型的内容,实现更多样化的应用。

  6. 伦理和风险问题: 尽管 LLM 具有出色的能力,但它们也引发了伦理和风险问题,包括生成有害内容、隐私问题、认知偏差等。因此,研究和应用 LLM 需要谨慎。

  7. 高计算资源需求: LLM 参数规模庞大,需要大量的计算资源进行训练和推理。通常需要使用高性能的 GPU 或 TPU 集群来实现。

大语言模型是一种具有强大语言处理能力的技术,已经在多个领域展示了潜力。它们为自然语言理解和生成任务提供了强大的工具,同时也引发了对其伦理和风险问题的关注。这些特点使 LLM 成为了当今计算机科学和人工智能领域的重要研究和应用方向

三、LLM 的应用与影响

LLM 已经在许多领域产生了深远的影响。在自然语言处理领域,它可以帮助计算机更好地理解和生成文本,包括写文章、回答问题、翻译语言等。在信息检索领域,它可以改进搜索引擎,让我们更轻松地找到所需的信息。在计算机视觉领域,研究人员还在努力让计算机理解图像和文字,以改善多媒体交互。

最重要的是,LLM 的出现让人们重新思考了 通用人工智能(AGI) 的可能性。AGI 是一种像人类一样思考和学习的人工智能。LLM 被认为是 AGI 的一种早期形式,这引发了对未来人工智能发展的许多思考和计划。

总之,LLM 是一种令人兴奋的技术,它让计算机更好地理解和使用语言,正在改变着我们与技术互动的方式,同时也引发了对未来人工智能的无限探索。

在下一章我们将介绍 LLM 时期一个重要的技术 RAG。

参考内容】:

  1. A Survey of Large Language Models
  2. 周枫:当我们谈论大模型时,应该关注哪些新能力?