第2章 大语言模型 (LLM)¶
学习目标¶
- 理解 Transformer 架构与自注意力机制的基本原理
- 掌握主流商用与开源 LLM 的特点及差异
- 学会根据任务、成本、隐私等维度制定模型选型策略
- 识别 LLM 的能力边界与典型失效模式
- 使用 Python 调用不同厂商的 LLM API
问题导入¶
大语言模型(Large Language Model, LLM)是 AI Agent 的"大脑",决定了 Agent 的理解、推理与生成能力上限。从 2017 年 Google 提出 Transformer 架构,到 GPT、Claude、Gemini、Llama、Qwen 等模型百花齐放,LLM 已成为现代 AI 应用的基础设施。然而,面对琳琅满目的模型列表,开发者常常困惑:该选 GPT-4o 还是 Claude 3.5?开源模型能否替代商用?Qwen 在中文场景下表现如何?本章将从原理出发,系统梳理 LLM 的技术基础、主流模型对比与选型方法论,帮助你在企业项目中做出合理决策。
核心概念¶
1. Transformer 架构¶
Transformer 是 2017 年论文《Attention Is All You Need》提出的神经网络架构,核心是自注意力机制(Self-Attention)。它摒弃了 RNN 的序列依赖,允许模型并行处理输入序列中所有 token,并学习 token 之间的全局依赖关系。Transformer 由 Encoder 和 Decoder 两部分组成;GPT 系列采用 Decoder-only 架构,专注于"根据前文预测下一个 token"的生成任务。
2. 自注意力机制(Self-Attention)¶
对于输入序列中的每个 token,模型通过 Query、Key、Value 三个矩阵计算其与序列中其他 token 的关联权重,再加权求和得到该 token 的新表示。多头注意力(Multi-Head Attention)让模型在不同子空间中并行捕获多种语义关系。
3. 预训练与微调范式¶
- 预训练(Pre-training):在海量无标注语料上学习语言规律,目标通常是"预测下一个 token"。
- 监督微调(SFT):用指令-回答对让模型学会遵循人类指令。
- 人类反馈强化学习(RLHF):通过奖励模型对齐人类偏好,提升回答质量与安全性。
4. 主流模型对比¶
| 模型 | 厂商 | 类型 | 特点 |
|---|---|---|---|
| GPT-4o / GPT-4.1 | OpenAI | 商用 | 综合能力强,多模态,生态成熟 |
| Claude 3.5 / 4 Sonnet | Anthropic | 商用 | 长文本与代码能力突出,安全性高 |
| Gemini 2.0 | 商用 | 原生多模态,长上下文 | |
| Llama 3.1 / 3.3 | Meta | 开源 | 社区生态最活跃,可本地部署 |
| Qwen2.5 / Qwen3 | 阿里 | 开源/商用 | 中文表现优异,尺寸覆盖广 |
| DeepSeek-V3 / R1 | DeepSeek | 开源 | 推理能力强,性价比高 |
5. 模型选择策略¶
- 任务维度:推理密集型选 GPT-4o / Claude Sonnet / DeepSeek-R1;通用对话可用 GPT-4o-mini / Qwen2.5-7B。
- 成本维度:高频调用优先小模型(7B-14B),关键决策用大模型。
- 隐私维度:金融、医疗等敏感数据优先开源模型本地部署。
- 语言维度:中文场景 Qwen、DeepSeek、GLM 表现优异。
- 延迟维度:实时场景选流式输出 + 小模型。
6. 模型能力边界¶
LLM 存在固有局限:知识截止(训练数据有时效)、幻觉(生成看似合理但错误的内容)、数值计算弱、长上下文遗忘、无法直接访问外部系统。这些局限正是 Agent + 工具 + RAG 要解决的问题。
原理图¶
flowchart LR
subgraph 预训练阶段
PT[海量语料预训练] --> BaseModel[基座模型]
end
subgraph 对齐阶段
BaseModel --> SFT[监督微调 SFT]
SFT --> RLHF[RLHF / DPO]
RLHF --> ChatModel[对话模型]
end
subgraph 架构核心
Input[Token序列] --> Embed[Embedding层]
Embed --> Attn[多头自注意力]
Attn --> FFN[前馈网络]
FFN --> Output[下一个Token概率]
end
ChatModel -.使用.-> Attn
图:LLM 训练范式与 Transformer 核心架构
示例代码¶
以下示例展示如何统一调用 OpenAI 与 Anthropic 两家模型,便于对比选型。
import os
from openai import OpenAI
from anthropic import Anthropic
def call_openai(prompt: str, model: str = "gpt-4o-mini") -> str:
"""调用 OpenAI 模型。
Args:
prompt: 用户提示词。
model: 模型名称,默认 gpt-4o-mini。
"""
client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
max_tokens=256,
)
return resp.choices[0].message.content
def call_anthropic(prompt: str, model: str = "claude-3-5-sonnet-20241022") -> str:
"""调用 Anthropic Claude 模型。
Args:
prompt: 用户提示词。
model: 模型名称,默认 claude-3-5-sonnet。
"""
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
resp = client.messages.create(
model=model,
max_tokens=256,
messages=[{"role": "user", "content": prompt}],
)
return resp.content[0].text
if __name__ == "__main__":
question = "用一句话解释 Transformer 的自注意力机制。"
print("OpenAI 回答:", call_openai(question))
print("Claude 回答:", call_anthropic(question))
运行结果说明:两个模型会分别给出对自注意力机制的解释,便于横向对比表述风格与准确度。开发者可据此评估在特定任务上的表现差异。
企业案例¶
案例 1:金融企业的混合模型选型¶
某券商在投研问答系统中采用"双模型"策略:日常客户咨询使用 Qwen2.5-7B 本地部署,保障数据合规与低延迟;复杂投研报告生成调用 GPT-4o,确保推理深度。通过路由层按任务复杂度分流,整体成本下降 60%。
案例 2:电商客服模型迭代¶
某电商平台从 GPT-3.5 升级到 Qwen2.5-14B 本地部署后,针对商品咨询的中文理解准确率提升 18%,且月度 API 支出从 20 万降至 3 万元(仅 GPU 服务器成本),ROI 显著改善。
案例 3:研发代码助手选型¶
某互联网公司在内部 Code Review 场景对比 Claude Sonnet 与 GPT-4o,发现 Claude 在长代码上下文(>10 万 token)的稳定性更佳,最终选择 Claude 处理大 PR,GPT-4o 处理日常小改动。
常见问题¶
Q1:开源模型真的能替代商用模型吗? A:在多数垂直中文场景,Qwen2.5-72B、DeepSeek-V3 等顶级开源模型已接近 GPT-4 级别能力,且具备成本与隐私优势;但在复杂多模态推理、英文长文档等场景,商用模型仍有领先。
Q2:参数越大模型越强吗? A:不一定。模型质量还取决于训练数据质量、对齐方法与推理优化。Llama 3.3 70B 在多项基准上超越 Llama 3 70B,靠的是后训练改进而非扩参数。
Q3:为什么我的模型输出每次都不一样?
A:因为采样过程引入了随机性(temperature > 0)。设 temperature=0 可获得确定性输出(近似贪婪解码)。
Q4:模型为什么会"幻觉"? A:LLM 本质是概率生成模型,缺乏对事实的 grounding;当训练数据中相关证据不足时,模型会基于语言规律"编造"看似合理的答案。
面试题¶
1. 简述 Transformer 相比 RNN 的优势。 参考答案:并行计算(不依赖序列顺序)、能捕获长距离依赖(自注意力直接连接任意两 token)、易于扩展到大规模参数。
2. GPT(Decoder-only)为什么适合生成任务? 答题要点:Decoder-only 架构以"预测下一个 token"为训练目标,与生成任务天然对齐;自回归解码方式自然产生连贯文本。
3. 如何为一个企业项目选择 LLM?请给出决策框架。 答题要点:从任务复杂度、数据隐私、成本预算、延迟要求、语言场景、生态成熟度六维度评估,可采取"大小模型混合 + 路由"策略。
4. 什么是 RLHF?它在 LLM 训练中解决什么问题? 参考答案:RLHF 通过人类偏好数据训练奖励模型,再用强化学习优化生成策略,使模型输出更符合人类期望(有用、无害、诚实)。
练习题¶
- 对比实验:用同一组 5 个问题分别测试 GPT-4o-mini 与 Claude Sonnet,从准确性、流畅度、长度三个维度打分并形成对比报告。
- 选型设计:为一家法律咨询公司设计模型选型方案,考虑数据保密性、中文专业术语、长合同文档三个约束。
- 思考题:如果训练数据停留在 2024 年,模型如何回答 2025 年的事件?这种局限有哪些工程化解决方法?
小结¶
本章梳理了 LLM 的技术脉络:Transformer 与自注意力是架构基础,预训练—SFT—RLHF 是训练范式,GPT、Claude、Llama、Qwen 等模型各有优势。选型应综合任务、成本、隐私、延迟多维考量,并认识幻觉、知识截止等能力边界。后续章节将深入 Token、上下文窗口、Embedding 等与 LLM 强相关的主题。延伸阅读:《Attention Is All You Need》原论文、OpenAI 与 Anthropic 官方文档、Hugging Face Open LLM Leaderboard。