跳转至

🏆 前沿模型横评(2024-2026)

前沿模型横评图

📌 定位说明:本章系统梳理 2024-2026 年主流大模型的能力、定位与选型策略。 - 覆盖推理模型、通用模型、小模型三大类别 - 包含 GRPO 等关键训练方法解析 - 提供面向工程和求职的选模型决策框架 - 时效性声明(2026-02 复核):前沿模型发布节奏极快,价格、上下文长度、榜单成绩与型号命名可能在数周内更新;请以厂商官方发布页与 API 文档为准

📖 章节导读

大模型领域发展极快,2024-2026 年间涌现了大量具有里程碑意义的模型。本章将以横评对比的方式,帮你快速建立对主流模型的全局认知,并掌握根据业务需求选模型的能力。

🎯 学习目标

  • 了解 2024-2026 主流大模型的能力定位与核心差异
  • 掌握模型对比的关键维度(参数量/上下文/Benchmark/价格)
  • 理解推理模型(o1/R1)与通用模型的本质区别
  • 掌握 GRPO 训练方法的原理与优势
  • 能够根据任务类型、预算、延迟制定选模型策略
  • 了解中国可用模型生态与合规选型

21.1 模型格局总览

21.1.1 三大类别

Text Only
┌─────────────────────────────────────────────────┐
│               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 小模型选型建议

Text Only
端侧/手机部署 → 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 开源模型) - 大模型上线需进行算法备案

Text Only
中国可用模型选型路径:
    ├─ 需要高质量推理 → 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 通用决策流程

Text Only
                        你的任务是什么?
          ┌─────────────────┼─────────────────┐
          ▼                 ▼                 ▼
     复杂推理/数学/        通用对话/         端侧/嵌入
     代码竞赛              创作/助手          式部署
          │                 │                 │
     预算充足?        需要多模态?       参数量限制?
     ├─ 是 → 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\) 个候选回答:

\[\{o_1, o_2, \ldots, o_G\} \sim \pi_\theta(\cdot | q)\]

Step 2: 计算奖励

使用规则化奖励函数(而非学习到的 Reward Model)为每个回答打分:

\[r_i = R(q, o_i), \quad i = 1, 2, \ldots, G\]

例如:数学题检查最终答案是否正确,代码题运行测试用例。

Step 3: 组内标准化

对组内奖励进行归一化:

\[\hat{A}_i = \frac{r_i - \text{mean}(\{r_1, \ldots, r_G\})}{\text{std}(\{r_1, \ldots, r_G\})}\]

Step 4: 策略优化

GRPO 的目标函数:

\[\mathcal{J}_{GRPO}(\theta) = \mathbb{E}_{q \sim \mathcal{D},\, \{o_i\} \sim \pi_{\theta_{old}}} \left[ \frac{1}{G} \sum_{i=1}^{G} \min\left( \frac{\pi_\theta(o_i|q)}{\pi_{\theta_{old}}(o_i|q)} \hat{A}_i, \; \text{clip}\left(\frac{\pi_\theta(o_i|q)}{\pi_{\theta_{old}}(o_i|q)}, 1-\epsilon, 1+\epsilon\right) \hat{A}_i \right) - \beta \cdot D_{KL}(\pi_\theta \| \pi_{ref}) \right]\]

其中: - \(\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 的关键优势

Text Only
为什么 GRPO 特别适合推理任务?

1. 🚫 无需 Reward Model
   - PPO 需要单独训练一个 RM(额外的大模型)
   - GRPO 直接用规则判断(答案对/错),成本降低 ~50%

2. ✅ 可验证奖励
   - 数学:最终答案 == 标准答案?
   - 代码:测试用例全部通过?
   - 逻辑:推理链是否自洽?
   → 天然适合「有标准答案」的推理任务

3. 📊 组内相对评估
   - 不需要绝对打分,只看组内谁好谁差
   - 对奖励函数的绝对值不敏感
   - 训练更稳定

4. 🎯 涌现思考链
   - 纯 RL 训练即可让模型自发产生 CoT
   - 无需人工标注思考过程
   - DeepSeek-R1-Zero 的关键发现

21.7.5 简化代码理解

Python
# 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 产业趋势

Text Only
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 分数——用你自己的业务数据做对比测试更有说服力。以下是一个完整的多模型自动评测脚本:

Python
"""
多模型对比评测工具
用于在相同测试集上自动评估多个模型的质量、延迟和成本
"""
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 的训练流程
  • 能给出场景化的模型选型建议
  • 能分析大模型行业趋势

🔗 相关章节

📚 参考资料

  1. "DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning" - DeepSeek AI, 2025
  2. "Qwen3 Technical Report" - Alibaba Cloud, 2025
  3. "The Llama 4 Herd of Models" - Meta AI, 2025
  4. "Gemini 2.5: Our Most Intelligent AI Model" - Google DeepMind, 2025
  5. "Claude Opus 4 System Card" - Anthropic, 2025
  6. "GPT-4.5 System Card" - OpenAI, 2025
  7. LMSYS Chatbot Arena Leaderboard - https://chat.lmsys.org/
  8. LiveBench - https://livebench.ai/
  9. "Scaling LLM Test-Time Compute" - Snell et al., 2024
  10. Artificial Analysis LLM Benchmark - https://artificialanalysis.ai/

最后更新日期:2026-02-12 适用版本:LLM应用指南 v2026