跳转至

第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 Google 商用 原生多模态,长上下文
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 通过人类偏好数据训练奖励模型,再用强化学习优化生成策略,使模型输出更符合人类期望(有用、无害、诚实)。

练习题

  1. 对比实验:用同一组 5 个问题分别测试 GPT-4o-mini 与 Claude Sonnet,从准确性、流畅度、长度三个维度打分并形成对比报告。
  2. 选型设计:为一家法律咨询公司设计模型选型方案,考虑数据保密性、中文专业术语、长合同文档三个约束。
  3. 思考题:如果训练数据停留在 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。