大模型原理与实践:第四章-大语言模型_第1部分-发展历程+上下文+指令遵循+多模态

总目录

  1. 第一章 NLP基础概念完整指南

    1. 第1部分-概念和发展历史
    2. 第2部分-各种任务(实体识别、关系抽取、文本摘要、机器翻译、自动问答)
    3. 第3部分-文本表示(词向量、语言模型、ELMo)
  2. 第二章 Transformer 架构原理

    1. 第1部分-注意力机制
    2. 第2部分Encoder-Decoder架构
    3. 第3部分-完整Transformer模型)
  3. 第三章 预训练语言模型

    1. 第1部分-Encoder-only(BERT、RoBERTa、ALBERT)
    2. 第2部分-Encoder-Decoder-T5
    3. 第3部分-Decoder-Only(GPT、LLama、GLM)
  4. 第四章 大语言模型

    1. 第1部分-发展历程、上下文、指令遵循、多模态
    2. 第2部分-LLM预训练、监督微调、强化学习
  5. 第五章 动手搭建大模型

    1. 第1部分-动手实现一个LLaMA2大模型
    2. 第2部分-自己训练 Tokenizer
    3. 第3部分-预训练一个小型LLM
  6. 第六章 大模型训练实践

    1. 第1部分-模型预训练
    2. 第2部分-模型有监督微调
    3. 第3部分-高效微调
  7. 第七章 大模型实战

    1. 第1部分-评测+RAG检索增强生成
    2. 第2部分-智能体Agent系统

目录


1. 引言

在自然语言处理(NLP)领域,我们正在经历一场前所未有的技术革命。从早期的注意力机制到Transformer架构的诞生,再到如今ChatGPT引发的AI热潮,大语言模型(Large Language Model,LLM)已经成为推动人工智能发展的核心引擎。

传统的NLP研究主要聚焦于预训练-微调范式,以BERT为代表的预训练语言模型在各类经典任务上取得了突破性进展。然而,2022年底ChatGPT的横空出世彻底改变了这一格局。大语言模型不仅在性能上远超传统模型,更重要的是,它展现出了令人惊叹的通用能力——能够理解复杂指令、进行逻辑推理、完成多样化任务,这让我们看到了通往通用人工智能(AGI)的曙光。

本文将系统地介绍大语言模型的方方面面:从基本概念到核心能力,从技术特点到训练流程。我们会用通俗易懂的语言,结合具体案例和数学公式,帮助您全面理解LLM是什么、为什么强大,以及如何训练一个属于自己的大语言模型。


2. 什么是大语言模型(LLM)

2.1 LLM的核心定义

大语言模型(Large Language Model),简称LLM,本质上是一种规模化的语言模型。相比传统的预训练语言模型(PLM),LLM有两个显著特点:

  1. 参数规模更大:通常包含数百亿甚至上千亿个参数
  2. 训练数据更多:在数万亿(T)级别的文本语料上进行预训练

要理解LLM,我们先回顾一下语言模型的基本概念。语言模型的核心任务是预测下一个词(token)。给定一段文本序列 x 1 , x 2 , . . . , x t − 1 x_1, x_2, ..., x_{t-1} x1,x2,...,xt1,模型需要预测下一个词 x t x_t xt 的概率分布:

P ( x t ∣ x 1 , x 2 , . . . , x t − 1 ) P(x_t | x_1, x_2, ..., x_{t-1}) P(xtx1,x2,...,xt1)

LLM采用与传统预训练模型相似的架构(主要是Decoder-Only的类GPT架构)和训练任务(因果语言建模,CLM),但通过量变引起质变,展现出了传统模型完全不具备的能力。

参数规模对比

  • 传统模型(BERT-base):约1亿(110M)参数
  • 小型LLM(Qwen-1.8B):约18亿(1.8B)参数
  • 中型LLM(LLaMA-7B):约70亿(7B)参数
  • 大型LLM(GPT-3):约1750亿(175B)参数
  • 超大型LLM(Grok):约3140亿(314B)参数

一般来说,只要模型展现出涌现能力(在复杂任务上远超传统模型的表现),我们就可以称之为LLM。广义的LLM覆盖了从十亿参数到千亿参数的所有大型语言模型。

2.2 LLM发展历程

业界普遍认为,GPT-3(2020年发布,1750亿参数)是LLM时代的开端。而真正让LLM走进大众视野的,是2022年11月OpenAI发布的ChatGPT。ChatGPT基于GPT-3,通过预训练、监督微调(SFT)、强化学习与人类反馈(RLHF)三阶段训练,展现出了惊人的对话能力和任务执行能力。

从2022年11月到现在,全球已涌现出上百个各具特色的大语言模型。下表列举了部分代表性模型:

时间 开源LLM 闭源LLM
2022.11 - OpenAI-ChatGPT
2023.02 Meta-LLaMA、复旦-MOSS -
2023.03 斯坦福-Alpaca、Vicuna、智谱-ChatGLM OpenAI-GPT-4、百度-文心一言、Anthropic-Claude、Google-Bard
2023.04 阿里-通义千问、Stability AI-StableLM 商汤-日日新
2023.05 微软-Phi、TII-Falcon 讯飞-星火、Google-PaLM2
2023.06 智谱-ChatGLM2、上海AI Lab-书生浦语、百川-Baichuan、虎博-TigerBot 360-智脑
2023.07 Meta-LLaMA2 Anthropic-Claude2、华为-盘古3.0
2023.08 - 字节-豆包
2023.09 百川-Baichuan2 Google-Gemini、腾讯-混元
2023.11 零一万物-Yi、幻方-DeepSeek xAI-Grok
2024.09 阿里-Qwen2.5 -
2024.12 深度求索-DeepSeek-V3 -
2025.01 深度求索-DeepSeek-R1 -
2025.04 阿里-Qwen3 -
2025.08 - OpenAI-GPT-5

可以看到,无论是国内还是国外,科技巨头和研究机构都在积极探索LLM技术,推动着人工智能向AGI迈进。


3. LLM的独特能力

LLM之所以引起如此广泛的关注,核心原因在于其具备四种传统模型不具备的独特能力。这些能力的出现,被认为是迈向通用人工智能的关键一步。

3.1 涌现能力

**涌现能力(Emergent Abilities)**是区分LLM和传统预训练模型的最显著特征。

什么是涌现能力?

涌现能力是指:在相同的模型架构和训练任务下,某些能力在小规模模型中几乎不存在,但当模型规模扩大到一定程度后,这些能力会突然显现并快速提升。这就像物理学中的相变现象——量变积累到一定程度,突然发生质变。

形象的类比

想象一个学生在学习数学:

  • 小学阶段(小模型):只能做简单的加减法
  • 初中阶段(中等模型):掌握了代数和几何
  • 大学阶段(大模型):突然能够理解微积分、线性代数等高级数学,甚至能自己推导定理

这种"突然开窍"的现象,就是涌现能力的直观体现。

数学表示

模型性能 P P P 可以看作是参数量 N N N 和训练数据量 D D D 的函数:

P = f ( N , D ) P = f(N, D) P=f(N,D)

N N N D D D 超过某个临界值 ( N c r i t i c a l , D c r i t i c a l ) (N_{critical}, D_{critical}) (Ncritical,Dcritical) 时, P P P 会出现非线性的急剧提升:

∂ P ∂ N ≫ 0 , N > N c r i t i c a l \frac{\partial P}{\partial N} \gg 0, \quad N > N_{critical} NP0,N>Ncritical

涌现能力让研究者相信,随着模型规模的继续扩大、高质量数据的不断积累,LLM最终能够具备通用人工智能所需的全部能力。

3.2 上下文学习

**上下文学习(In-context Learning)**是GPT-3首次系统性展示的能力,也是LLM改变NLP范式的关键。

传统方式的问题

在传统的预训练-微调范式中,要让模型完成一个新任务,需要:

  1. 准备该任务的标注数据(通常需要1000-10000条样本)
  2. 对预训练模型进行有监督微调(需要GPU资源)
  3. 针对不同任务重复上述过程

这个过程成本高、耗时长,且缺乏灵活性。

上下文学习的革命

LLM可以在不进行任何参数更新的情况下,仅通过以下两种方式就能完成任务:

  1. 自然语言指令:直接用文字描述要做什么
  2. 少样本示例:提供几个(1-5个)输入-输出的例子

实例对比

场景:情感分类任务

传统方式

1. 收集10000条标注数据("这电影太棒了" -> 积极)
2. 微调BERT模型(需要10G+ GPU显存,训练数小时)
3. 部署模型

LLM方式

直接输入:
"请判断以下评论的情感倾向(积极/消极):
示例1:'这电影太棒了' -> 积极
示例2:'完全浪费时间' -> 消极
现在判断:'演员表演很自然' -> ?"

LLM立即输出:积极

范式转变

从"预训练-微调"到"Prompt Engineering"(提示工程):

传统范式 : 预训练模型 + 任务特定微调 → 任务模型 \text{传统范式}: \text{预训练模型} + \text{任务特定微调} \rightarrow \text{任务模型} 传统范式:预训练模型+任务特定微调任务模型

LLM范式 : 通用LLM + 精心设计的Prompt → 直接完成任务 \text{LLM范式}: \text{通用LLM} + \text{精心设计的Prompt} \rightarrow \text{直接完成任务} LLM范式:通用LLM+精心设计的Prompt直接完成任务

这种范式转变极大地降低了AI应用的门槛,让非技术人员也能通过调整提示词来利用AI能力。

3.3 指令遵循

**指令遵循(Instruction Following)**能力让LLM能够理解并执行从未见过的指令,展现出强大的泛化能力。

核心机制

通过在多种任务的指令数据上进行微调(称为指令微调),LLM学会了:

  1. 理解自然语言指令的语义
  2. 将指令映射到相应的任务类型
  3. 根据指令执行任务,即使之前从未见过类似指令

数学抽象

假设我们有指令集 I = { I 1 , I 2 , . . . , I n } \mathcal{I} = \{I_1, I_2, ..., I_n\} I={I1,I2,...,In},对应的任务集 T = { T 1 , T 2 , . . . , T n } \mathcal{T} = \{T_1, T_2, ..., T_n\} T={T1,T2,...,Tn}。指令微调让模型学习映射函数 f f f

f : I → T f: \mathcal{I} \rightarrow \mathcal{T} f:IT

训练后,模型能够对新指令 I n e w ∉ I I_{new} \notin \mathcal{I} Inew/I 进行泛化,找到合适的任务执行策略。

实际应用场景

ChatGPT能够完成的任务类型包括但不限于:

  • 文本创作(写文章、编故事、作诗)
  • 代码编写(生成各种编程语言的代码)
  • 数据分析(解释数据、生成图表代码)
  • 教育辅导(解题、批改作业、知识讲解)
  • 专业咨询(法律、医疗、金融等领域的初步建议)
  • 创意设计(营销文案、产品描述、广告语)

为什么重要?

指令遵循能力让LLM真正成为通用工具,而不再是局限于特定任务的专用模型。这是AI从实验室走向千行百业的关键一步。目前火热的AI Agent、工作流自动化等应用,本质上都依赖于LLM的指令遵循能力。

3.4 逐步推理

**逐步推理(Step-by-Step Reasoning)**能力让LLM能够处理复杂的逻辑任务,这是AI"智能化"的重要标志。

历史难题

逻辑推理,尤其是需要多步推理的复杂任务,一直是传统NLP模型的软肋。例如经典的"鸡兔同笼"问题:

笼子里有鸡和兔子共35只,共有94只脚,问鸡和兔各有多少只?

传统模型往往无法正确解答这类问题,因为它们难以:

  1. 分解问题为多个步骤
  2. 维护中间计算结果
  3. 进行逻辑推导

思维链(Chain-of-Thought)

LLM通过采用CoT推理策略,能够:

  1. 将复杂问题分解为多个步骤
  2. 展示每一步的推理过程
  3. 基于中间结果得出最终答案

实例对比

问题:一个数的3倍加上5等于23,这个数是多少?

传统模型输出

答案是6
(没有推理过程,可能只是记忆了类似问题)

LLM的CoT输出

让我一步步思考:
1. 设这个数为x
2. 根据题意:3x + 5 = 23
3. 两边减5:3x = 18
4. 两边除以3:x = 6
所以答案是6

数学建模

传统模型: 输入问题 → 直接输出答案 \text{输入问题} \rightarrow \text{直接输出答案} 输入问题直接输出答案

CoT模型: 输入问题 → 步骤1 → 步骤2 → . . . → 步骤n → 最终答案 \text{输入问题} \rightarrow \text{步骤1} \rightarrow \text{步骤2} \rightarrow ... \rightarrow \text{步骤n} \rightarrow \text{最终答案} 输入问题步骤1步骤2...步骤n最终答案

形式化表示:

y = f ( x ) (传统) y = f(x) \quad \text{(传统)} y=f(x)(传统)

y = f n ( f n − 1 ( . . . f 2 ( f 1 ( x ) ) ) ) (CoT) y = f_n(f_{n-1}(...f_2(f_1(x)))) \quad \text{(CoT)} y=fn(fn1(...f2(f1(x))))(CoT)

能力来源

研究表明,LLM的逐步推理能力很可能来自于对代码数据的训练。代码天然具有逻辑性和步骤性,训练过程中学习代码帮助模型掌握了结构化思考的能力。

意义

逐步推理能力意味着LLM可以处理日常生活中需要逻辑判断的大部分问题,这让AI向"可靠的智能助理"迈出了坚实的一步。


4. LLM的重要特征

除了上述四大核心能力,LLM还具有一些值得关注的重要特征。这些特征既是LLM的优势,也指明了未来的研究方向。

4.1 多语言支持

天然的多语言能力

与传统的多语言模型不同,LLM的多语言能力几乎是"免费"获得的。原因很简单:LLM需要海量数据进行预训练,而互联网上的数据本身就是多语言的。因此,LLM在预训练过程中自然而然地学会了处理多种语言。

不同模型的语言能力差异

尽管都支持多语言,不同LLM在各语言上的能力存在显著差异:

  1. 英文主导模型(如GPT-4、Claude):

    • 优势:英文能力最强,逻辑推理和专业领域表现出色
    • 原因:高质量英文语料占比最大
  2. 中文优化模型(如文心一言、通义千问):

    • 优势:中文理解和生成能力更强,更符合中文表达习惯
    • 原因:额外使用大量中文语料训练,并针对中文特点优化

语言能力的量化

假设模型在语言 L L L 上的能力为 A L A_L AL,它与该语言在训练数据中的占比 R L R_L RL 和数据质量 Q L Q_L QL 相关:

A L ∝ R L × Q L α A_L \propto R_L \times Q_L^\alpha ALRL×QLα

其中 α > 1 \alpha > 1 α>1 表示质量的影响大于数量。

4.2 长文本处理

为什么长文本很重要?

模型能处理的上下文长度直接影响其能力上限:

  • 短文本(512 tokens):只能处理简短对话和小段文本
  • 中长文本(4K-8K tokens):可以处理完整文章和较长对话
  • 长文本(32K-200K tokens):可以阅读书籍、处理大型文档

LLM的长文本优势

与传统模型(如BERT的512 tokens限制)相比,LLM在长文本处理上有显著突破:

模型类型 典型长度 代表模型
传统PLM 512 tokens BERT, RoBERTa
早期LLM 2K-4K tokens GPT-3
现代LLM 4K-32K tokens GPT-4, Claude 2
长文本LLM 32K-200K tokens Claude 3, Gemini 1.5,Qwen3, DeepSeek-V3, GPT-5

技术突破:旋转位置编码(RoPE)

传统位置编码:

P E ( p o s , 2 i ) = sin ⁡ ( p o s / 1000 0 2 i / d ) PE(pos, 2i) = \sin(pos / 10000^{2i/d}) PE(pos,2i)=sin(pos/100002i/d)
P E ( p o s , 2 i + 1 ) = cos ⁡ ( p o s / 1000 0 2 i / d ) PE(pos, 2i+1) = \cos(pos / 10000^{2i/d}) PE(pos,2i+1)=cos(pos/100002i/d)

RoPE(Rotary Positional Encoding)通过旋转机制编码相对位置:

( q 0 ′ q 1 ′ ) = ( cos ⁡ m θ − sin ⁡ m θ sin ⁡ m θ cos ⁡ m θ ) ( q 0 q 1 ) \begin{pmatrix} q_0' \\ q_1' \end{pmatrix} = \begin{pmatrix} \cos m\theta & -\sin m\theta \\ \sin m\theta & \cos m\theta \end{pmatrix} \begin{pmatrix} q_0 \\ q_1 \end{pmatrix} (q0q1)=(cosmθsinmθsinmθcosmθ)(q0q1)

其中 m m m 是位置索引, θ \theta θ 是旋转角度。

RoPE的优势

  1. 具有外推能力:训练时的长度可以外推到更长
  2. 相对位置建模:更适合语言的连续性
  3. 计算效率高

实际案例

InternLM模型在32K长度上预训练,但通过RoPE能够处理200K长度的文本,这意味着它可以:

  • 一次性阅读《红楼梦》全文并回答问题
  • 处理完整的法律合同或学术论文
  • 维持超长的对话历史记录

4.3 多模态扩展

从文本到多模态

LLM强大的文本理解能力为其跨模态发展奠定了基础。通过引入图像编码器和适配层(Adapter),可以让LLM理解和处理图像信息。

技术架构

图像输入 → 图像编码器(ViT) → Adapter层 → LLM → 文本输出

数学表示:

h i m a g e = ImageEncoder ( I ) h_{image} = \text{ImageEncoder}(I) himage=ImageEncoder(I)
h a d a p t e d = Adapter ( h i m a g e ) h_{adapted} = \text{Adapter}(h_{image}) hadapted=Adapter(himage)
y t e x t = LLM ( [ h a d a p t e d , h t e x t ] ) y_{text} = \text{LLM}([h_{adapted}, h_{text}]) ytext=LLM([hadapted,htext])

多模态LLM的能力

  1. 图文问答:理解图片内容并回答问题

    • “这张图片中有几个人?”
    • “图中的建筑是什么风格?”
  2. 视觉推理:基于图像进行逻辑推理

    • “根据这张图表,销售额的趋势如何?”
    • “这个场景可能存在什么安全隐患?”
  3. 图像描述生成:为图片生成详细描述

代表模型

  • GPT-4V(GPT-4 with Vision)
  • Claude 3
  • Gemini
  • 通义千问-VL

未来方向

如何更好地对齐文本和图像的表示空间,是多模态LLM的关键研究方向:

min ⁡ f , g L ( f ( text ) , g ( image ) ) \min_{f, g} \mathcal{L}(f(\text{text}), g(\text{image})) f,gminL(f(text),g(image))

其中 f f f g g g 分别是文本和图像的编码器, L \mathcal{L} L 是对齐损失(如对比学习损失)。

4.4 幻觉问题

什么是幻觉?

幻觉(Hallucination)是指LLM生成看似合理但实际上虚假、错误或无法验证的信息。这是LLM最严重的固有缺陷之一。

典型表现

  1. 捏造参考文献

    用户:请为我生成一篇关于量子计算的论文参考文献
    LLM:
    [1] Zhang et al. (2021). "Quantum Computing in Practice". 
        Nature 592, 123-135.
    [2] Johnson, M. (2022). "Advances in Quantum Algorithms". 
        Science 378, 456-467.
    

    (这些论文可能完全不存在)

  2. 编造事实

    用户:中国在2023年发射了多少颗卫星?
    LLM:中国在2023年共发射了47颗卫星,其中包括...
    

    (数字可能是编造的)

  3. 虚构推理过程

    用户:为什么天空是蓝色的?
    LLM:天空呈现蓝色是因为大气中的氮气分子会优先反射蓝光...
    

    (原理错误,实际是瑞利散射)

数学本质

LLM的生成过程是基于概率分布采样:

P ( x t ∣ x 1 , . . . , x t − 1 ) = softmax ( W h t − 1 ) P(x_t | x_1, ..., x_{t-1}) = \text{softmax}(W h_{t-1}) P(xtx1,...,xt1)=softmax(Wht1)

模型选择的是概率最高的token,而不是事实正确的token。当训练数据中缺乏某些知识时,模型会基于统计规律"合理地"编造内容。

为什么难以根治?

  1. 训练机制限制:模型通过统计规律学习,无法区分"流畅"和"正确"
  2. 知识边界模糊:模型不知道自己"不知道什么"
  3. 生成的随机性:采样过程引入不确定性

缓解策略

  1. Prompt限制

    在回答时,如果你不确定答案,请明确说"我不知道",
    不要编造信息。如果需要引用来源,请只引用你确定存在的来源。
    
  2. 检索增强生成(RAG)

    用户问题 → 检索相关文档 → 基于文档生成回答
    

    y = LLM ( query , retrieved_docs ) y = \text{LLM}(\text{query}, \text{retrieved\_docs}) y=LLM(query,retrieved_docs)

  3. 不确定性量化:让模型输出置信度
    confidence = max ⁡ t P ( x t ∣ x 1 , . . . , x t − 1 ) \text{confidence} = \max_t P(x_t | x_1, ..., x_{t-1}) confidence=tmaxP(xtx1,...,xt1)

  4. 外部工具调用:让模型使用搜索引擎、计算器等工具验证信息

在关键领域的影响

  • 医疗:错误的诊断建议可能危及生命
  • 法律:虚假的法条引用可能误导判决
  • 金融:错误的市场分析可能导致投资损失

因此,在这些高风险领域使用LLM时,必须有人类专家审核,不能完全依赖模型输出。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐