🏆 前沿模型横评(2024-2026)¶
📌 定位说明:本章系统梳理 2024-2026 年主流大模型的能力、定位与选型策略。 - 覆盖推理模型、通用模型、小模型三大类别 - 包含 GRPO 等关键训练方法解析 - 提供面向工程和求职的选模型决策框架 - 时效性声明(2026-02 复核):前沿模型发布节奏极快,价格、上下文长度、榜单成绩与型号命名可能在数周内更新;请以厂商官方发布页与 API 文档为准
📖 章节导读¶
大模型领域发展极快,2024-2026 年间涌现了大量具有里程碑意义的模型。本章将以横评对比的方式,帮你快速建立对主流模型的全局认知,并掌握根据业务需求选模型的能力。
🎯 学习目标¶
- 了解 2024-2026 主流大模型的能力定位与核心差异
- 掌握模型对比的关键维度(参数量/上下文/Benchmark/价格)
- 理解推理模型(o1/R1)与通用模型的本质区别
- 掌握 GRPO 训练方法的原理与优势
- 能够根据任务类型、预算、延迟制定选模型策略
- 了解中国可用模型生态与合规选型
21.1 模型格局总览¶
21.1.1 三大类别¶
┌─────────────────────────────────────────────────┐
│ 2024-2026 大模型格局 │
├─────────────┬─────────────┬─────────────────────┤
│ 🧠 推理模型 │ 🌐 通用模型 │ 📱 小型/高效模型 │
├─────────────┼─────────────┼─────────────────────┤
│ OpenAI o1 │ GPT-4.5 │ Phi-4 (14B) │
│ OpenAI o3 │ GPT-5 │ Gemma 3 (1B-27B) │
│ o4-mini │ Gemini 2.0 │ Mistral Small (24B) │
│ DeepSeek-R1 │ Gemini 2.5 │ Qwen2.5-7B │
│ DeepSeek-R2 │ Llama 3.1 │ Llama 3.2 (1B/3B) │
│ Claude Opus 4│ Llama 3.3 │ Gemma 3n │
│ │ Llama 4 │ │
│ │ Qwen 2.5/3 │ │
│ │ Claude 3.5 │ │
│ │ DeepSeek-V3 │ │
└─────────────┴─────────────┴─────────────────────┘
21.1.2 时间线¶
| 时间 | 里程碑事件 |
|---|---|
| 2024.03 | Claude 3 系列发布(Opus/Sonnet/Haiku) |
| 2024.06 | Claude 3.5 Sonnet 发布,性价比标杆 |
| 2024.07 | Llama 3.1 405B 开源,开源模型首次接近 GPT-4 |
| 2024.09 | OpenAI o1 发布,推理模型范式开创 |
| 2024.10 | Qwen 2.5 系列发布,中文开源领先 |
| 2024.12 | Gemini 2.0 Flash 发布,多模态实时交互 |
| 2025.01 | DeepSeek-R1 开源发布,GRPO 训练方法引发关注 |
| 2025.02 | GPT-4.5 发布,最大密集模型 |
| 2025.03 | Gemma 3 发布,小模型效能新高 |
| 2025.04 | Llama 4 发布(Scout/Maverick),MoE 架构 |
| 2025.04 | OpenAI o3/o4-mini 发布,推理成本大降 |
| 2025.05 | Claude Opus 4 & Sonnet 4 发布,Agent 编程强化 |
| 2025.04 | Qwen3 系列发布,混合思考模式 |
| 2025.07 | Gemini 2.5 Pro/Flash 全面可用 |
| 2025 H2 | GPT-5 预期发布 |
| 2025-2026 | DeepSeek-R2 预期发布 |
21.2 🧠 推理模型详解¶
推理模型的核心特征是思考链(Chain-of-Thought)内置于模型,通过 RL 训练让模型在回答前进行长时间深度推理。
21.2.1 主要推理模型对比¶
| 模型 | 发布时间 | 参数量 | 上下文 | 核心特点 | 定价(输入/输出 per 1M tokens) |
|---|---|---|---|---|---|
| OpenAI o1 | 2024.09 | 未公开 | 200K | 开创推理范式,深度思考 | $15 / $60 |
| OpenAI o3 | 2025.04 | 未公开 | 200K | o1 升级,工具调用,更优推理 | $10 / $40 |
| o4-mini | 2025.04 | 未公开 | 200K | 高性价比推理,支持图像输入 | $1.10 / $4.40 |
| DeepSeek-R1 | 2025.01 | 671B (MoE) | 128K | GRPO 训练,全开源,中文优秀 | $0.55 / $2.19 |
| DeepSeek-R2 | 预期 2025-2026 | 未公开 | 预期 ≥128K | R1继承者,更强推理能力 | 待定 |
| Claude Opus 4 | 2025.05 | 未公开 | 200K | 长时间思考,Agent 编程能力突出 | $15 / $75 |
注: Claude 3.5 Sonnet 虽然推理能力优秀,但并非专用推理模型(无内置思考链模式),归类于通用模型,详见 21.3 节。
21.2.2 推理模型 vs 通用模型¶
| 维度 | 推理模型(o3/R1) | 通用模型(GPT-4.5/Gemini) |
|---|---|---|
| 思考方式 | 显式 CoT,输出前长时间推理 | 单步前向推理 |
| 延迟 | 高(秒-分钟级) | 低(亚秒-秒级) |
| 擅长 | 数学/代码/逻辑/科学推理 | 通用对话/创作/多模态 |
| 成本 | 高(思考 token 额外付费) | 中等 |
| 适用场景 | 复杂问题求解、代码竞赛 | 日常助手、内容生成 |
21.3 🌐 通用模型详解¶
21.3.1 主要通用模型对比¶
| 模型 | 发布时间 | 参数量 | 上下文 | 多模态 | 定价(输入/输出) |
|---|---|---|---|---|---|
| GPT-4.5 | 2025.02 | 未公开(最大密集) | 128K | 文本+图像 | $75 / $150 |
| GPT-5 | 预期 2025 H2 | 未公开 | 预期 ≥256K | 全模态 | 待定 |
| Gemini 2.0 Flash | 2024.12 | 未公开 | 1M | 文本+图像+音视频 | $0.10 / $0.40 |
| Gemini 2.5 Pro | 2025.03 | 未公开 | 1M | 全模态 | $1.25 / $10 |
| Gemini 2.5 Flash | 2025.05 | 未公开 | 1M | 全模态,内置思考 | $0.15 / $0.60 |
| Llama 3.1 (405B) | 2024.07 | 405B | 128K | 文本 | 开源 |
| Llama 3.3 (70B) | 2024.12 | 70B | 128K | 文本 | 开源 |
| Llama 4 Scout | 2025.04 | 109B (17B 激活) | 10M | 文本+图像 | 开源 |
| Llama 4 Maverick | 2025.04 | 400B (17B 激活) | 1M | 文本+图像 | 开源 |
| Qwen 2.5 | 2024.10 | 0.5B-72B | 128K | 文本+代码+数学 | 开源 |
| Qwen3 | 2025.04 | 0.6B-235B | 128K | 混合思考模式 | 开源 |
| Claude 3.5 Sonnet | 2024.06 | 未公开 | 200K | 编程顶尖,工具调用优 | $3 / $15 |
| DeepSeek-V3-0324 | 2025.03 | 671B MoE (37B激活) | 128K | 开源MoE,性能接近GPT-4o | 开源 |
21.3.2 Benchmark 横评¶
| 模型 | MMLU | HumanEval | MATH-500 | GPQA Diamond | 综合评价 |
|---|---|---|---|---|---|
| GPT-4.5 | 90.8 | 88.6 | - | - | 知识密集任务表现强 |
| o3 | 89.5 | 92.7 | 96.7 | 81.3 | 推理综合表现强 |
| o4-mini | 88.2 | 93.4 | 97.3 | 79.6 | 推理与成本平衡较优 |
| Claude Opus 4 | 88+ | 95+ | 90+ | 75+ | 编程/Agent 任务表现强 |
| Claude 3.5 Sonnet | 88.7 | 93.7 | 78.3 | 65.0 | 编程性价比标杆 |
| Gemini 2.5 Pro | 89+ | 91+ | 90+ | 80+ | 长上下文+推理 |
| DeepSeek-R1 | 90.8 | 92.2 | 97.3 | 71.5 | 开源推理代表模型 |
| Qwen3-235B | 88+ | 90+ | 90+ | 70+ | 开源综合优秀 |
| Llama 4 Maverick | 86+ | 85+ | 78+ | 63+ | 开源 MoE |
⚠️ 注意:Benchmark 分数来自各官方报告和第三方评测(如 LMSYS Chatbot Arena、LiveBench),不同评测条件可能导致差异。表中部分数据为近似值,以
+标注。
21.4 📱 小型与高效模型¶
小型/高效模型适合边缘部署、低成本推理、端侧应用、企业私有化部署。
21.4.1 主要小型/高效模型对比¶
| 模型 | 参数量 | 上下文 | 亮点 | 适用场景 |
|---|---|---|---|---|
| Phi-4 | 14B | 16K | 微软出品,推理能力超同级 | 数学/代码推理 |
| Phi-4-mini | 3.8B | 128K | 超长上下文小模型 | 端侧 Agent |
| Gemma 3 | 1B/4B/12B/27B | 128K | Google 开源,多尺寸选择 | 通用/研究 |
| Gemma 3n | 2B/4B | 128K | 移动端优化,硬件感知推理 | 手机/边缘 |
| Mistral Small | 24B | 32K | 多语言,Apache 2.0 | 企业部署 |
| Mistral Nemo | 12B | 128K | Mistral+NVIDIA 合作 | 通用推理 |
| Qwen2.5-7B | 7B | 128K | 中文任务表现稳定的小模型 | 中文任务 |
| Llama 3.2 (3B) | 3B | 128K | Meta 端侧方案 | 移动端 |
21.4.2 小模型选型建议¶
端侧/手机部署 → Gemma 3n 2B/4B 或 Llama 3.2 3B
中文优先 → Qwen2.5-7B 或 Qwen3-8B
数学/代码 → Phi-4 14B
长上下文 → Phi-4-mini 3.8B(128K)或 Gemma 3 12B
企业私有化 → Mistral Small 24B(Apache 2.0)
研究实验 → Gemma 3 27B
21.5 🇨🇳 中国可用模型¶
21.5.1 主要国产/中国可用模型¶
| 模型 | 开发方 | 参数量 | 开源 | API 可用 | 核心优势 |
|---|---|---|---|---|---|
| DeepSeek-V3 | 深度求索 | 671B (MoE) | ✅ | ✅ | 性价比极高,通用能力强 |
| DeepSeek-R1 | 深度求索 | 671B (MoE) | ✅ | ✅ | 推理能力对标 o1,GRPO 训练 |
| Qwen 2.5 | 阿里通义 | 0.5B-72B | ✅ | ✅ | 多尺寸,中文最全生态 |
| Qwen3 | 阿里通义 | 0.6B-235B | ✅ | ✅ | 混合思考,MoE 架构 |
| GLM-4 | 智谱 AI | 未公开 | 部分 | ✅ | 中文理解强,工具调用好 |
| 百川 Baichuan 4 | 百川智能 | 未公开 | ❌ | ✅ | 中文创作/医疗垂直 |
| Moonshot (Kimi) | 月之暗面 | 未公开 | ❌ | ✅ | 超长上下文先驱(128K-2M) |
| MiniMax | MiniMax | 未公开 | ❌ | ✅ | 语音+视频多模态 |
| Yi-Lightning | 零一万物 | 未公开 | ✅ | ✅ | 速度快,性价比高 |
21.5.2 合规与选型注意¶
🔔 中国大陆使用须知: - OpenAI/Anthropic/Google API 无法直接在中国大陆使用 - 需通过 Azure OpenAI(有中国区域)或使用国产替代 - 敏感数据场景优先考虑私有化部署方案(DeepSeek/Qwen 开源模型) - 大模型上线需进行算法备案
中国可用模型选型路径:
├─ 需要高质量推理 → DeepSeek-R1 (API) 或 Qwen3-235B
├─ 通用对话/助手 → Qwen-Plus / GLM-4 / Moonshot
├─ 私有化部署 → DeepSeek-V3 / Qwen2.5-72B(开源)
├─ 端侧部署 → Qwen2.5-7B / Qwen3-8B
└─ 超长上下文 → Moonshot (Kimi) / Qwen-Long
21.6 🌳 选模型决策树¶
21.6.1 通用决策流程¶
你的任务是什么?
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
复杂推理/数学/ 通用对话/ 端侧/嵌入
代码竞赛 创作/助手 式部署
│ │ │
预算充足? 需要多模态? 参数量限制?
├─ 是 → o3 ├─ 是 → Gemini ├─ <3B → Gemma 3n
├─ 中等 → o4-mini │ 2.5 Pro ├─ <8B → Qwen3-8B
└─ 低 → DeepSeek ├─ 否 └─ <15B → Phi-4
-R1 (API) │ 预算如何?
│ ├─ 高 → Claude
│ │ Opus 4
│ ├─ 中 → Claude
│ │ 3.5 Sonnet
│ └─ 低 → Qwen3
│ / Llama 4
▼
中国合规要求?
├─ 是 → DeepSeek/Qwen/GLM
└─ 否 → 按上述选择
21.6.2 场景化推荐表¶
| 场景 | 首选模型 | 备选模型 | 理由 |
|---|---|---|---|
| 日常编程助手 | Claude 3.5 Sonnet | o4-mini | 编程能力强且成本可控 |
| 数学/科学推理 | o3 / o4-mini | DeepSeek-R1 | 在公开推理评测中表现靠前 |
| 长文档分析 | Gemini 2.5 Pro (1M) | Moonshot (Kimi) | 原生长上下文 |
| Agent 工具调用 | Claude Opus 4 | o3 | Agent 编程能力突出 |
| 中文内容创作 | Qwen-Max / GLM-4 | DeepSeek | 中文理解与生成表现稳定 |
| 批量数据处理 | Gemini 2.0 Flash | DeepSeek-V3 | 极低成本 |
| 代码生成(高质量) | Claude Opus 4 | o3 | 在公开代码评测中表现强劲 |
| 端侧/手机 | Gemma 3n 4B | Llama 3.2 3B | 移动端优化 |
| 私有化部署 | Qwen2.5-72B | DeepSeek-V3 | 开源+中文 |
| 学术研究 | Llama 4 / Qwen3 | Gemma 3 | 开源可研究 |
21.6.3 成本对比¶
⚠️ 注意:以下价格为截至2025年7月的参考价格,实际价格可能变动,请以各模型官网为准。
| 模型 | 输入价格 ($/1M tokens) | 输出价格 ($/1M tokens) | 1000次对话约成本 |
|---|---|---|---|
| GPT-4.5 | $75.00 | $150.00 | ~$22.50 |
| o3 | $10.00 | $40.00 | ~$5.00 |
| o4-mini | $1.10 | $4.40 | ~$0.55 |
| Claude Opus 4 | $15.00 | $75.00 | ~$9.00 |
| Claude 3.5 Sonnet | $3.00 | $15.00 | ~$1.80 |
| Gemini 2.5 Pro | $1.25 | $10.00 | ~$1.13 |
| Gemini 2.5 Flash | $0.15 | $0.60 | ~$0.08 |
| DeepSeek-R1 (API) | $0.55 | $2.19 | ~$0.27 |
| Qwen 系列 (API) | ¥0.5-4/1M tokens | ¥2-12/1M tokens | ~¥0.3-1.5 |
| 开源自部署 | GPU 成本 | - | 按硬件计算 |
💡 估算方式:假设每次对话约 100 输入 token + 200 输出 token。
21.7 🔬 GRPO 训练方法¶
21.7.1 什么是 GRPO¶
GRPO(Group Relative Policy Optimization) 是 DeepSeek-R1 使用的核心强化学习训练方法,首次在论文 "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning" 中提出。
核心思想:在一组候选回答中进行组内相对排序来优化策略,无需单独训练 Reward Model。
21.7.2 GRPO vs PPO vs DPO¶
| 维度 | PPO | DPO | GRPO |
|---|---|---|---|
| 是否需要 Reward Model | ✅ 需要 | ❌ 不需要 | ❌ 不需要 |
| 是否需要偏好数据对 | ❌ | ✅ 需要 paired | ❌ 不需要 |
| 训练稳定性 | 中等(需调参) | 高 | 高 |
| 计算成本 | 高(4个模型) | 低(2个模型) | 中(1个模型+采样) |
| 适用场景 | 通用RLHF | 偏好对齐 | 推理任务(可验证奖励) |
| 奖励来源 | 学习到的 RM | 隐式(偏好对) | 规则/可验证的结果 |
21.7.3 GRPO 核心原理¶
Step 1: 组采样
对同一个问题 \(q\),从当前策略 \(\pi_\theta\) 中采样一组 \(G\) 个候选回答:
Step 2: 计算奖励
使用规则化奖励函数(而非学习到的 Reward Model)为每个回答打分:
例如:数学题检查最终答案是否正确,代码题运行测试用例。
Step 3: 组内标准化
对组内奖励进行归一化:
Step 4: 策略优化
GRPO 的目标函数:
其中: - \(\frac{\pi_\theta(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}\) 是重要性采样比率 - \(\text{clip}(\cdot, 1-\epsilon, 1+\epsilon)\) 来自 PPO 的裁剪机制,防止策略更新过大 - \(\beta \cdot D_{KL}(\pi_\theta \| \pi_{ref})\) 是 KL 散度惩罚,防止偏离参考策略过远
21.7.4 GRPO 的关键优势¶
为什么 GRPO 特别适合推理任务?
1. 🚫 无需 Reward Model
- PPO 需要单独训练一个 RM(额外的大模型)
- GRPO 直接用规则判断(答案对/错),成本降低 ~50%
2. ✅ 可验证奖励
- 数学:最终答案 == 标准答案?
- 代码:测试用例全部通过?
- 逻辑:推理链是否自洽?
→ 天然适合「有标准答案」的推理任务
3. 📊 组内相对评估
- 不需要绝对打分,只看组内谁好谁差
- 对奖励函数的绝对值不敏感
- 训练更稳定
4. 🎯 涌现思考链
- 纯 RL 训练即可让模型自发产生 CoT
- 无需人工标注思考过程
- DeepSeek-R1-Zero 的关键发现
21.7.5 简化代码理解¶
# GRPO 核心流程伪代码
def grpo_step(policy, prompts, reward_fn, G=16, epsilon=0.2, beta=0.01):
"""
policy: 当前策略模型 π_θ
prompts: 一批问题
reward_fn: 规则化奖励函数(如:答案正确 → 1,错误 → 0)
G: 每个问题采样的候选回答数
"""
all_loss = []
for q in prompts:
# Step 1: 组采样 — 对同一问题生成 G 个回答
responses = [policy.generate(q) for _ in range(G)]
# Step 2: 计算奖励(规则化,无需 Reward Model)
rewards = [reward_fn(q, resp) for resp in responses]
# Step 3: 组内标准化
mean_r = sum(rewards) / G
std_r = (sum((r - mean_r)**2 for r in rewards) / G) ** 0.5
advantages = [(r - mean_r) / (std_r + 1e-8) for r in rewards]
# Step 4: PPO-clip 式策略优化
for resp, adv in zip(responses, advantages): # zip按位置配对多个可迭代对象
ratio = policy.log_prob(resp, q) - old_policy.log_prob(resp, q)
ratio = ratio.exp()
clipped = torch.clamp(ratio, 1 - epsilon, 1 + epsilon)
loss = -torch.min(ratio * adv, clipped * adv)
all_loss.append(loss)
# 加上 KL 散度惩罚
total_loss = torch.stack(all_loss).mean() + beta * kl_divergence(policy, ref_policy)
total_loss.backward()
optimizer.step()
21.8 🔮 2025-2026 趋势预判¶
21.8.1 技术趋势¶
| 趋势 | 说明 | 代表 |
|---|---|---|
| Agent 原生模型 | 模型原生支持工具调用/代码执行/长期记忆 | Claude Opus 4、o3 |
| 长思考链(Deep Think) | 推理时间可扩展,思考时间换准确度 | o3、R1、Gemini 2.5 |
| 混合思考模式 | 同一模型可切换快思考/慢思考 | Qwen3、Gemini Flash Thinking |
| MoE 架构普及 | 用更少激活参数达到更大模型效果 | Llama 4、DeepSeek V3/R1、Qwen3-235B |
| 多模态融合 | 文本/图像/音频/视频统一理解与生成 | Gemini 2.5、GPT-5 |
| 本地化/端侧部署 | 小模型在手机/PC/边缘设备上运行 | Gemma 3n、Phi-4-mini、Apple Intelligence |
| 合成数据+RL | 用合成数据+强化学习替代人工标注 | GRPO、Self-Play |
| 推理成本暴降 | 推理价格按年下降 10x+ | o4-mini vs o1、Flash 系列 |
21.8.2 产业趋势¶
2025-2026 关键产业变化:
📉 成本持续下降
- 2024: GPT-4 级别 ~$30/1M tokens
- 2025: 同级别 ~$1-3/1M tokens
- 2026 预期: <$0.5/1M tokens
🏗️ 基础设施成熟
- 推理框架: vLLM / SGLang 成为标准
- Agent 框架: LangGraph / CrewAI / AutoGen 三足鼎立
- 评估体系: LMSYS Arena + LiveBench 成为标准
🌍 开源 vs 闭源
- 开源模型追赶速度加快(DeepSeek/Qwen/Llama)
- 2025年: 开源模型在多数任务达到 GPT-4 级别
- 闭源优势缩小到「最前沿推理」和「多模态」
🇨🇳 中国生态
- DeepSeek 异军突起,全球影响力
- Qwen 成为中文开源标准
- 算法备案和数据安全法规持续完善
21.9 实战:模型自动对比评测¶
在实际选型中,不要只看 Benchmark 分数——用你自己的业务数据做对比测试更有说服力。以下是一个完整的多模型自动评测脚本:
"""
多模型对比评测工具
用于在相同测试集上自动评估多个模型的质量、延迟和成本
"""
import time
import json
import os
from dataclasses import dataclass, field
from openai import OpenAI
from anthropic import Anthropic
from dotenv import load_dotenv
load_dotenv()
@dataclass # @dataclass自动生成__init__等方法
class EvalResult:
"""单次评测结果"""
model: str
question: str
answer: str
latency_ms: float
input_tokens: int
output_tokens: int
cost_usd: float
@dataclass
class ModelConfig:
"""模型配置"""
name: str
provider: str # "openai", "anthropic", "deepseek", "ollama"
model_id: str
input_price: float # per 1M tokens
output_price: float # per 1M tokens
temperature: float = 0.3
# ---------- 待评测模型列表 ----------
MODELS = [
ModelConfig("GPT-4o-mini", "openai", "gpt-4o-mini", 0.15, 0.60),
ModelConfig("GPT-4o", "openai", "gpt-4o", 2.50, 10.00),
ModelConfig("DeepSeek-V3", "deepseek", "deepseek-chat", 0.27, 1.10),
ModelConfig("Claude Sonnet", "anthropic", "claude-sonnet-4-20250514", 3.00, 15.00),
# 本地模型(Ollama)— 成本为0
# ModelConfig("Qwen3-8B", "ollama", "qwen3:8b", 0.0, 0.0),
]
# ---------- 评测数据集 ----------
TEST_CASES = [
{
"question": "用Python实现二分查找,要求支持查找第一个大于等于target的位置",
"category": "代码生成",
"reference": "def bisect_left", # 简单的参考答案关键词
},
{
"question": "解释TCP三次握手的过程,以及为什么不能是两次握手",
"category": "知识问答",
"reference": "SYN",
},
{
"question": "一个水池有两个进水管和一个出水管。进水管A每小时注水3吨,进水管B每小时注水2吨,出水管每小时排水1吨。水池容量为40吨,从空池开始,多长时间能注满?",
"category": "数学推理",
"reference": "10",
},
{
"question": "将以下英文翻译为中文,保持专业术语准确:'The transformer architecture uses self-attention mechanisms to process sequential data in parallel, significantly reducing training time compared to recurrent neural networks.'",
"category": "翻译",
"reference": "自注意力",
},
]
def call_model(config: ModelConfig, question: str, system: str = "You are a helpful assistant.") -> EvalResult:
"""调用单个模型并记录结果"""
start = time.time()
if config.provider == "openai":
client = OpenAI()
resp = client.chat.completions.create(
model=config.model_id,
messages=[{"role": "system", "content": system}, {"role": "user", "content": question}],
temperature=config.temperature,
max_tokens=1024,
)
answer = resp.choices[0].message.content
in_tok = resp.usage.prompt_tokens
out_tok = resp.usage.completion_tokens
elif config.provider == "deepseek":
client = OpenAI(api_key=os.environ["DEEPSEEK_API_KEY"], base_url="https://api.deepseek.com")
resp = client.chat.completions.create(
model=config.model_id,
messages=[{"role": "system", "content": system}, {"role": "user", "content": question}],
temperature=config.temperature,
max_tokens=1024,
)
answer = resp.choices[0].message.content
in_tok = resp.usage.prompt_tokens
out_tok = resp.usage.completion_tokens
elif config.provider == "anthropic":
client = Anthropic()
resp = client.messages.create(
model=config.model_id,
max_tokens=1024,
system=system,
messages=[{"role": "user", "content": question}],
temperature=config.temperature,
)
answer = resp.content[0].text
in_tok = resp.usage.input_tokens
out_tok = resp.usage.output_tokens
elif config.provider == "ollama":
client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama")
resp = client.chat.completions.create(
model=config.model_id,
messages=[{"role": "system", "content": system}, {"role": "user", "content": question}],
temperature=config.temperature,
max_tokens=1024,
)
answer = resp.choices[0].message.content
in_tok = resp.usage.prompt_tokens if resp.usage else 0 # 三元空值守卫:部分模型可能不返回usage统计,此时默认为0
out_tok = resp.usage.completion_tokens if resp.usage else 0
else:
raise ValueError(f"Unknown provider: {config.provider}")
latency = (time.time() - start) * 1000
cost = (in_tok * config.input_price + out_tok * config.output_price) / 1_000_000
return EvalResult(
model=config.name,
question=question[:50],
answer=answer,
latency_ms=latency,
input_tokens=in_tok,
output_tokens=out_tok,
cost_usd=cost,
)
def run_evaluation():
"""运行完整评测"""
results = []
for model_cfg in MODELS:
print(f"\n{'='*60}")
print(f"评测模型: {model_cfg.name}")
print(f"{'='*60}")
model_results = []
total_cost = 0
total_latency = 0
for i, test in enumerate(TEST_CASES): # enumerate同时获取索引和元素
try: # try/except捕获异常,防止程序崩溃
result = call_model(model_cfg, test["question"])
model_results.append(result)
total_cost += result.cost_usd
total_latency += result.latency_ms
# 简单的参考答案匹配检查
hit = "✓" if test["reference"].lower() in result.answer.lower() else "✗"
print(f" [{hit}] {test['category']}: {result.latency_ms:.0f}ms, "
f"${result.cost_usd:.6f}, {result.output_tokens} tokens")
except Exception as e:
print(f" [!] {test['category']}: 错误 - {e}")
avg_latency = total_latency / len(TEST_CASES) if TEST_CASES else 0
print(f"\n 汇总: 平均延迟 {avg_latency:.0f}ms, 总成本 ${total_cost:.6f}")
results.extend(model_results)
# 保存结果
with open("eval_results.json", "w", encoding="utf-8") as f: # with自动管理文件关闭
json.dump([{
"model": r.model,
"question": r.question,
"latency_ms": r.latency_ms,
"cost_usd": r.cost_usd,
"output_tokens": r.output_tokens,
} for r in results], f, ensure_ascii=False, indent=2)
print(f"\n评测结果已保存到 eval_results.json")
# 运行
# run_evaluation()
使用建议: 1. 先用小数据集(10-20题)快速筛选,再用完整数据集验证 2. 同一类任务用相同 prompt 模板,保证公平性 3. 多次运行取平均值(temperature > 0 时结果有随机性) 4. 关注延迟和成本,不只看质量——生产环境这两个指标同样重要
21.9.1 高频面试题¶
Q1: 推理模型(如 o1/R1)和通用模型(如 GPT-4)有什么本质区别?
参考答案: - 训练方式不同:推理模型在 SFT 基础上通过 RL(如 GRPO/PPO)训练,鼓励产生长思考链;通用模型主要依赖 SFT+RLHF - 推理过程不同:推理模型在输出前显式生成思考过程(可能数千 token),通用模型直接输出答案 - 擅长领域不同:推理模型在数学/代码/逻辑推理显著更强;通用模型在创作/对话/多模态更全面 - 延迟与成本:推理模型延迟高(思考耗时)、成本高(思考 token 额外计费)
Q2: 解释 GRPO 训练方法及其与 PPO 的区别
参考答案: - GRPO 对每个问题采样一组候选回答,在组内做相对排序来计算优势值 - 不需要 Reward Model(PPO 需要),用规则化奖励(如答案正确性)替代 - 目标函数与 PPO 类似(clip-ratio),但优势值来自组内标准化而非 Critic 网络 - 特别适合有标准答案的推理任务(数学/代码) - 关键发现:纯 RL 训练(不需要 SFT 冷启动)即可让模型涌现思考链
Q3: 你会如何为一个中文 AI 助手选择基座模型?
参考答案: 1. 确定任务类型:通用对话 vs 推理 vs 创作 2. 确定部署环境:云端 API vs 私有化 vs 端侧 3. 中国合规考虑:国产模型优先(DeepSeek/Qwen/GLM) 4. 性价比权衡: - 高质量推理:DeepSeek-R1 API(便宜且强) - 通用对话:Qwen-Max 或 GLM-4 API - 私有化:Qwen2.5-72B 或 DeepSeek-V3(开源部署) - 端侧:Qwen2.5-7B 或 Qwen3-8B 5. 评估方法:用业务真实测试集而非仅看 Benchmark
Q4: MoE(Mixture of Experts)架构有什么优势?为什么 2025 年越来越多模型采用?
参考答案: - 总参数量大(知识容量)但每次推理只激活一小部分(推理成本低) - 例如 DeepSeek-R1 总参数 671B,激活参数仅 37B - 优势:推理成本接近小模型,能力接近大模型 - 挑战:显存仍需装下全部参数、路由不均衡、训练不稳定 - 趋势:Llama 4、Qwen3-235B、DeepSeek 系列均采用 MoE
Q5: 2025 年开源模型和闭源模型的差距如何?
参考答案: - 在通用任务上,差距已很小(Qwen3/DeepSeek-V3 接近 GPT-4 级别) - 在推理任务上,DeepSeek-R1 已对标 o1 级别 - 闭源仍领先的领域:最前沿推理(o3)、多模态(Gemini 2.5)、Agent(Claude Opus 4) - 开源优势:成本低、可私有化、可微调、数据不出域 - 预判:2026 年开源可能在大部分场景追平闭源
21.11 ✅ 检查清单¶
知识掌握¶
- 能说出 2024-2026 年至少 5 个主要模型的核心特点
- 能区分推理模型和通用模型的本质差异
- 能解释 GRPO 的原理及其与 PPO/DPO 的区别
- 能写出 GRPO 的核心公式
- 理解 MoE 架构的优劣势
- 了解中国可用的模型生态与合规要求
实践能力¶
- 能根据业务需求选择合适的模型
- 能进行模型成本估算(输入/输出 token 定价)
- 能评估开源 vs 闭源方案的 trade-off
- 能制定端侧部署的模型选型方案
面试准备¶
- 能清晰回答「推理模型 vs 通用模型」的区别
- 能详细解释 GRPO 的训练流程
- 能给出场景化的模型选型建议
- 能分析大模型行业趋势
🔗 相关章节¶
- 09-大模型微调技术 — 微调方法详解
- 10-LoRA与QLoRA — 高效微调技术
- 11-大模型部署 — 部署方案
- 12-推理优化 — 推理框架(vLLM/SGLang)与 Speculative Decoding
- 14-大模型安全与对齐 — RLHF/DPO/GRPO 对齐技术
📚 参考资料¶
- "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning" - DeepSeek AI, 2025
- "Qwen3 Technical Report" - Alibaba Cloud, 2025
- "The Llama 4 Herd of Models" - Meta AI, 2025
- "Gemini 2.5: Our Most Intelligent AI Model" - Google DeepMind, 2025
- "Claude Opus 4 System Card" - Anthropic, 2025
- "GPT-4.5 System Card" - OpenAI, 2025
- LMSYS Chatbot Arena Leaderboard - https://chat.lmsys.org/
- LiveBench - https://livebench.ai/
- "Scaling LLM Test-Time Compute" - Snell et al., 2024
- Artificial Analysis LLM Benchmark - https://artificialanalysis.ai/
最后更新日期:2026-02-12 适用版本:LLM应用指南 v2026