从“会说话的机器”到可计算的语言:大语言模型问题域
语言之所以让人着迷,恰恰在于它既像思维的“外衣”,又像社会协作的“协议”:一句话可以描述事实、表达意图、提出问题、制定计划,甚至能让他人替我们完成任务。大语言模型(Large Language Model, LLM)看似只是“会说话的机器”,但其研究对象并不是“说话”这件事本身,而是一个更可计算、可工程化的问题域:在给定上下文的条件下,如何用概率模型刻画并生成自然语言序列。当这一目标被严谨地形式化之后,语言便从“只可意会”的人类能力,转化为可以优化、可以扩展、可以部署的计算系统。
1.1 语言建模:把“理解与表达”转写为概率问题
语言建模的核心任务可以用一句话概括:预测下一个词。表面上这很朴素,但它提供了一个统一接口,使得问答、写作、翻译、摘要、代码补全等任务都能被归约为同一类序列概率问题。
设文本序列为 $w_{1:n} = (w_1, w_2, \dots, w_n)$,自回归语言模型(autoregressive LM)试图学习联合概率分布:
$$ P(w_{1:n})=\prod_{t=1}^{n} P(w_t \mid w_{1:t-1}) $$
其中 $P(w_t \mid w_{1:t-1})$ 由神经网络参数化并通过大规模语料训练得到。这个分解有两个重要含义:
1. 可训练:把复杂的“语言能力”拆成大量局部预测问题(每个位置预测一个 token),可用梯度下降优化。 2. 可生成:一旦学得条件分布,就可以从 $t=1$ 开始逐步采样/选择 token,形成连贯文本。
> 引用提示:如果把语言看作信息传递过程,那么语言模型就是对“下一条信息最可能是什么”的统计估计;它不必显式存储规则,却能在足够数据与参数下呈现规则性的行为。
1.1.1 token、上下文与“语言”的离散化
为了计算,连续的文字必须离散化为 token。token 既可以是词,也可以是子词(subword),甚至是字符片段。子词分词(如 BPE、Unigram)在工程上更常见,因为它兼顾了:
- **开放词表**:能组合出未见过的新词(尤其适合专有名词、代码标识符)。
- **统计效率**:比字符更长、比词更稳健,降低序列长度、提升建模效率。
上下文(context)则是模型在预测下一 token 时可见的历史序列。上下文窗口越长,模型越有机会利用长程依赖(跨句指代、段落结构、代码作用域等),但计算成本也随之上升(见§1.4)。
1.1.2 训练目标:从“似然最大化”到“指令对齐”
经典语言模型通常用最大似然训练(Maximum Likelihood Estimation, MLE),等价于最小化负对数似然(NLL)或交叉熵损失:
$$ \mathcal{L}_{\text{LM}}=-\sum_{t=1}^{n}\log P(w_t \mid w_{1:t-1}) $$
这会促使模型在统计意义上“像训练语料那样说话”。但对话助手需要的不只是“像”,还要“听得懂指令、遵循约束、避免有害输出”。因此现代通用对话系统往往还包含对齐(alignment)阶段,例如:
- **监督微调(SFT)**:用“指令—回答”数据把通用语言模型推向助手风格。
- **偏好优化(如 RLHF / DPO)**:用人类偏好信号让模型更符合“有用、无害、诚实”等目标。
在本章的语境中,重要的是理解:无论训练管线多复杂,其共同底座仍是语言建模。对齐更多是在“分布迁移”与“约束优化”的意义上,塑造模型在交互场景中的行为边界。
---
<a id="sec-gen-vs-disc"></a>
1.2 生成式 AI 与判别式 AI:同源而分工不同
很多读者在接触 LLM 时会有一个疑问:它到底是在“理解”还是在“生成”?要回答这个问题,需要区分生成式(generative)与判别式(discriminative)两种建模范式。
1.2.1 判别式:从输入到标签的映射
判别式模型关注条件概率或直接决策函数,例如分类任务学习:
$$ P(y \mid x) $$
输入 $x$ 可以是文本,输出 $y$ 可以是情感类别、主题标签、是否违规等。传统 NLP 中大量任务属于此类:文本分类、序列标注、意图识别。判别式模型的优点是:
- **目标明确、评估清晰**:准确率、F1 等指标直接对应业务目标。
- **数据效率高**:不必学习完整数据分布,只需分隔边界。
但它的通用性较弱:从“判别”到“生成”通常需要换任务、换模型结构或更复杂的解码机制。
1.2.2 生成式:学习数据分布并进行采样
生成式模型试图学习 $P(x)$ 或 $P(x, y)$,语言模型尤其关注序列分布 $P(w_{1:n})$。它的优势在于:
- **任务统一接口**:把各种语言任务转写为“给定提示生成文本”。
- **开放式输出**:不仅输出标签,还能输出解释、步骤、代码、引用格式等结构化文本。
然而,生成式模型也带来新的工程挑战:
- 输出空间巨大,**评估更难**(一个问题可能有多种可接受答案)。
- 模型会“补全”它认为合理的内容,导致**幻觉(hallucination)**风险。
- 对安全与合规更敏感,需要额外对齐与过滤机制。
> 侧栏:为什么生成式模型看起来“更聪明”? > 因为它被迫学会更丰富的统计结构。要做好分类,只需学会“哪些词倾向哪个标签”;要做好生成,必须学会语法、语义连贯、篇章结构、常识共现乃至一定程度的推理模式。换言之,生成式训练目标提供了更强的“自监督信号密度”。
1.2.3 共同底座:表征学习与迁移
尽管分工不同,两者共享一套底层思想:用大量数据学习可迁移的语义表征。在深度学习时代,预训练—微调范式使得生成式模型的表征能力也能“反哺”判别任务:把 LLM 作为特征提取器或直接用提示完成分类(prompt-based classification),成为现代 NLP 的常见工程路径。
---
1.3 典型应用场景:表面各异,骨架相同
LLM 的应用往往被描述为“无所不能”,但从问题域角度看,其能力可以归入若干典型范式。下面从对话、写作、检索、代码、数据分析五类场景出发,说明它们的共同技术底座与差异化约束。
1.3.1 对话:把交互历史视为上下文序列
对话系统可以看作多轮上下文条件生成:
- 输入:系统提示(system prompt)+ 对话历史(history)+ 当前用户问题
- 输出:下一轮助手回复
关键困难在于:对话不是一次性文本生成,而是持续交互。由此引出三类约束:
1. 一致性:角色与事实口径一致(避免前后矛盾)。 2. 可控性:遵循指令、语气、格式与安全策略。 3. 记忆与更新:上下文窗口有限,且训练知识可能过时,需要外部工具增强(见§1.3.3)。
案例 1(客服助手): 同一句“我想退货”在不同上下文含义不同:可能是售后流程咨询、也可能是情绪宣泄。LLM 的优势是能利用上下文捕捉隐含意图并生成完整话术;但其风险在于可能编造政策条款。工程上通常会把“政策事实”交给检索或规则系统,LLM 负责语言组织与交互。
1.3.2 写作:从“续写”到“结构化生成”
写作类任务包括摘要、改写、扩写、风格迁移、邮件与报告生成等。其本质仍是条件生成,但提示往往包含更强的结构约束,例如:
- 必须包含某些要点
- 需要分条列出
- 需要遵循特定体裁(论文摘要、商业计划书、新闻报道)
案例 2(会议纪要): 输入一段散乱的语音转写,要求输出“议题—结论—待办—责任人”。LLM 能做的不是“发明信息”,而是重组信息:抽取关键论点并以模板呈现。这里的核心评估维度是信息遗漏与误写;因此常见做法是让模型输出“可追溯引用”(例如标注原文句子位置),以增强可审计性。[^1]
1.3.3 检索:从“回答问题”到“连接外部知识”
纯语言模型的知识来自训练数据分布,天然存在两类限制:
- **时效性**:训练截止之后的新知识不可见。
- **可验证性**:模型生成的陈述不自带证据链。
因此检索增强生成(Retrieval-Augmented Generation, RAG)成为重要范式:先从外部知识库检索相关片段,再把片段与问题一起输入模型生成答案。
```mermaid graph TD Q[用户问题] --> R[检索器: 向量/关键词/混合检索] R --> C[候选证据片段] C --> P[提示构造: 问题+证据] P --> L[大语言模型生成] L --> A[答案+引用/依据] ```
RAG 的关键在于把系统拆成两部分:检索负责“找得到”,生成负责“说得好”。这也解释了为什么很多“看似知识型”的应用,实际上更像信息系统:LLM 是自然语言接口与聚合器,而不应被当作唯一事实来源。
1.3.4 代码:语法严格、可执行性强的“语言建模”
代码是高度结构化的序列,既像自然语言又不同于自然语言:
- 语法约束强(编译器/解释器是硬规则)
- 语义依赖强(作用域、类型、调用关系)
- 可通过执行与测试获得客观反馈
这使得代码 LLM 的应用(补全、解释、重构、生成测试)具有更清晰的验证通道。典型工程链路是“生成—执行—修复”的闭环,例如让模型依据报错信息迭代修复。
案例 3(单元测试生成): 模型先根据函数签名生成测试用例;执行后若失败,再把失败堆栈回传要求修正。这种“工具反馈”能显著提升可用性,也揭示了一个重要观点:LLM 的能力边界不是静态的,工具与环境会改变它能完成的任务集合。
1.3.5 数据分析:从自然语言到可操作的计算步骤
数据分析常被误解为“让模型算出答案”。更现实的定位是:LLM 擅长把模糊需求转写为可执行的分析计划与代码(SQL/Python),并解释结果含义。其风险点包括:
- 数据泄露与权限控制
- 生成的查询不正确或代价过高
- 统计结论不严谨(混淆相关与因果)
因此在企业场景中常见的做法是:LLM 生成 SQL 或分析脚本,但必须经过权限校验、成本估计、沙箱执行与结果审阅。
---
1.4 “参数—数据—算力”三要素:能力从何而来
如果把 LLM 看作一种工程产物,那么决定其能力上限的关键变量通常被概括为三要素:参数规模(Parameters)、数据规模(Data)、算力规模(Compute)。它们并非简单叠加,而是相互制约、共同塑造模型的泛化能力与涌现行为(emergent behaviors)。
1.4.1 参数规模:模型容量与函数逼近能力
参数越多,模型可表示的函数族越复杂,理论上能拟合更丰富的语言规律。但“更大”并不必然“更好”,原因包括:
- 若数据不足,大模型可能记忆训练数据而不泛化。
- 若算力不足,训练步数不够,大模型学不充分。
- 若对齐不足,大模型可能更会“编造”而非更可靠。
直观类比:参数像“可用的神经元数量”,决定了模型能容纳多少模式;但是否能学到这些模式,还取决于数据与训练过程。
1.4.2 数据规模:世界经验的代理变量
数据提供了模型学习语言规律与世界知识的“观测样本”。数据规模重要,但更重要的是数据的多样性、质量与分布:
- 多样性决定模型是否见过足够多的任务形式(问答、教程、对话、代码等)。
- 质量影响模型学到的是“清晰表达”还是“噪声与偏见”。
- 分布影响模型偏好:如果训练数据里某种写法更常见,模型就更倾向生成它。
对于普通读者,一个实用的理解是:LLM 并不“直接理解世界”,它理解的是文本中关于世界的统计投影。这也是为什么它能回答许多常识问题,却在需要最新事实或可靠引用时表现不稳定。
1.4.3 算力规模:训练预算与优化可达性
算力决定模型能训练多久、用多大 batch、多长上下文、采用何种架构。即使参数与数据都足够,若训练计算不足,也可能停留在次优解。近年来的经验表明,在一定范围内,模型性能与训练计算常呈现相对平滑的规律性提升(常被统称为 scaling laws)。对工程实践的启示是:
- 不是“无限增大”,而是要在预算下做**最优配比**。
- 更长上下文、更大 batch、更高质量数据往往与算力直接相关。
> 引用提示:三要素像“三角形的三条边”。单独拉长一边会让形状畸变:大模型配小数据会“饥饿”,大数据配小模型会“装不下”,有参有数但算力不足会“学不完”。
---
1.5 历史脉络:从 n-gram 到 Transformer,再到通用对话系统
理解 LLM 的问题域,还需要把它放进语言技术的演进史中。历史并非为了怀旧,而是帮助我们看清:哪些困难被解决了,哪些困难只是被“绕开”。
1.5.1 n-gram:局部统计的时代
早期语言模型常用 n-gram 假设:下一个词只依赖前 $n-1$ 个词:
$$ P(w_t \mid w_{1:t-1}) \approx P(w_t \mid w_{t-n+1:t-1}) $$
优点是简单、可解释、易于训练;缺点也显而易见:
- **长程依赖缺失**:无法有效处理跨句关系。
- **稀疏性严重**:n 稍大就会出现大量未见组合,需要平滑(smoothing)技巧。
- **表达能力有限**:难以抽象出语法与语义结构。
但 n-gram 的贡献在于奠定了语言建模的概率框架:把语言现象转为可估计的条件概率。
1.5.2 神经语言模型:分布式表征登场
神经网络引入“词向量”(embedding)与非线性映射,使模型能在连续空间里泛化:即便某个短语未见过,只要其组成 token 的表征相近,也能给出合理概率。这缓解了稀疏性问题,并开启了“预训练表征”的时代。
随后 RNN/LSTM/GRU 等序列模型增强了对历史信息的建模能力,但也面临训练难题:长序列梯度传播困难、并行性差、难以利用大规模算力高效训练。
1.5.3 Transformer:把“注意力”变成通用算子
Transformer 的关键思想是自注意力(self-attention):序列中每个位置都可以“关注”其他位置并聚合信息。它带来两项决定性优势:
1. 并行训练:相比 RNN,Transformer 更适合 GPU/TPU 并行计算。 2. 长程依赖:注意力能直接连接远距离 token,利于篇章级建模。
在自回归框架下,Transformer 解码器(decoder-only)成为现代 LLM 的主流骨架。许多看似复杂的能力——从上下文学习(in-context learning)到工具调用提示——在工程上都依赖这一统一架构提供的表达能力与可扩展性。
1.5.4 通用对话系统:从“模型”到“系统”
值得强调的是,“ChatGPT 式”产品并不是单一模型的自然终点,而是模型 + 数据 + 对齐 + 工具 + 产品交互的系统结果。通用对话系统之所以能在现实任务中有效,是因为它往往具备:
- 指令遵循与安全策略(对齐)
- 记忆与检索(RAG、长期记忆组件)
- 工具与执行(代码解释器、浏览器、函数调用)
- 评估与监控(日志、红队测试、反馈闭环)
因此,当我们讨论“LLM 能做什么”时,必须区分两个层级:
- **模型层**:给定上下文,生成下一个 token 的能力。
- **系统层**:围绕模型构建检索、工具、权限、评估与防护之后形成的综合能力边界。
---
1.6 能力边界:它为何强大,又为何不可靠
为了让普通读者形成稳固的直觉,本节用“能做到什么/做不到什么”的方式收束本章。
1.6.1 擅长之处:语言压缩、模式迁移与弱形式推理
- **语言压缩**:从冗长文本中提取要点(摘要、要点归纳)。
- **模式迁移**:在少量示例后模仿格式与风格(提示学习)。
- **弱形式推理**:在文本表面逻辑上做链式展开(例如按步骤解释、生成方案),尤其当问题可被“语言化”。
1.6.2 脆弱之处:事实性、可验证性与目标错配
- **事实性不稳**:模型输出是“高概率文本”,不等于“真实世界事实”。
- **可验证性不足**:若不引入检索与引用,答案常缺乏证据。
- **目标错配**:训练目标是预测下一个 token,并非保证真实、合规或最优决策;对齐只能部分弥补这一差距。
> 侧栏:把 LLM 当作“聪明的语言接口”,而不是“万能的知识源” > 最可靠的使用方式通常是:让模型负责表达、组织与交互;让数据库、搜索、规则、执行器负责事实、权限与可验证计算。
---
1.7 小结:问题域的统一视角
本章从语言建模的概率形式化出发,说明了大语言模型的研究对象与能力边界:它以“预测下一 token”为统一训练目标,通过参数—数据—算力三要素的协同扩展获得更强的泛化与生成能力;在应用层面,对话、写作、检索、代码与数据分析看似不同,实则共享同一技术底座,并通过对齐、检索与工具把“模型能力”提升为“系统能力”。与此同时,LLM 的强大并不等同于可靠:事实性与可验证性仍需外部机制补足。
下一章将进一步走进模型内部:从“token 如何变成向量”到“注意力如何聚合上下文”,用尽可能直观的方式拆解 Transformer 的关键组件,并解释为什么这种结构能成为现代大语言模型的核心引擎。
[^1]: 工程实践中常见的做法包括“答案片段附带证据引用”、或输出结构中包含来源字段,以便人工抽查与自动评估。