大语言模型(LLM)的真正潜力,不仅仅在于它们生成的内容,更在于我们能否在正确的时间,为正确的任务选择和部署合适的模型。这需要我们做出明智的决策。 本文深入探讨了 基准测试模型选择代码生成,旨在为构建者、研究者和产品领导者提供 LLM 工程实践的指导。

基准测试:入门,而非终点

基准测试 无处不在——排行榜、白皮书、创业公司的演示文稿。但在我们开始编写代码之前,需要理解这些测试究竟衡量了什么。文章中提到了多种基准测试,可以大致分为以下几类:

  • 通用基准测试 (Common Benchmarks): 这些是 LLM 的“标准课程”,如 ARC、MMLU、GSM8K、HumanEval 等。在这些测试中表现出色,意味着模型具有通用的智能,并且幻觉风险较低。Hugging Face Open LLM Leaderboard 提供了一个公开的仪表板,可以比较不同模型在这些标准化任务上的表现,还可以按基准、模型大小或架构进行筛选,并跟踪新版本随时间的变化。这对于评估 LLM 的基础能力至关重要。

  • 实用基准测试 (Practical Benchmarks): 这些基准测试针对特定用例,特别适用于构建开发者工具、LLM 助手或代码辅助工具。

  • 高级基准测试 (Hard Benchmarks): 这些测试超越了智商,考察情商、耐心和逻辑。对于在教育、金融或法律领域部署 LLM 来说至关重要。GPQA、MATH、AGIEval 等都属于此类。同样,Hugging Face Open LLM Leaderboard 也提供了这些高级基准测试的结果。

除了 Hugging Face Open LLM Leaderboard,文章还介绍了其他一些重要的排行榜:

  • Hugging Face BigCode Leaderboard: 专门评估 代码生成 性能,使用 StarCoder、CodeLlama 和 PolyCoder 等模型,通过 HumanEval 和 MultiPL-E 测试代码补全、生成和翻译能力。这对于构建开发者工具、助手和代码翻译器至关重要。

  • Hugging Face LLM Perf Leaderboard: 侧重于多维性能分析——速度、内存使用、吞吐量和效率。它超越了准确性,评估模型在真实负载条件下的行为,对于理解部署权衡至关重要。

  • Vellum Leaderboard: 比较开源和闭源 LLM(如 Claude、GPT-4、Gemini、Mistral)在上下文长度、token 成本、速率限制和速度方面的表现。专为产品经理和 LLM 运维工程师设计,用于评估基准测试分数之外的定价和性能权衡。

  • SEAL Leaderboard: 专注于需要高级推理、多跳逻辑、引用和综合的专家级任务。适用于评估为复杂、真实世界的知识工作设计的代理。

  • Chatbot Arena (LMArena): 一个社区驱动的比较平台,用户在成对的“战斗”中对 AI 模型的响应进行投票。超过 350 万张选票为多个“竞技场”(包括 Chatbot、WebDev、Vision、Search、Copilot 和 Text‑to‑Image)的排行榜提供支持,使用 Bradley–Terry 统计模型对性能进行排名。

尽管 基准测试 很重要,但它们也存在局限性:

  • 不同供应商的应用不一致。
  • 公共基准测试的训练数据泄露。
  • 过度拟合风险(模型经过训练以击败测试)。
  • 范围有限(不测试工具使用、内存、多模态推理)。
  • “基准测试意识”——前沿模型可能知道它们正在接受测试。

文章提出一个核心观点:即使模型在 MMLU 上获得 90% 的分数,仍然可能在你的企业用例中产生幻觉。

代码生成:实用智能的终极测试

为了真正评估模型的实力,作者进行了一项实际测试:将 Python 代码转换为优化的 C++ 代码,以用于高性能应用程序。他们设计了两个测试:

  1. 简单测试: 使用 Monte Carlo 方法逼近 π 值,进行 1 亿次迭代。
  2. 困难测试: 最大子数组和算法,运行 20 次。

目标是在 M1 Mac 上,使用 GPT-4o、Claude 3.5 Sonnet 和 CodeQwen 1.5 7B 模型,将 Python 代码翻译成高性能、正确的 C++ 代码。

测试结果如下:

| Model | Simple Test (Execution Time) | Hard Test (Execution Time) |
| —————- | —————————– | ————————– |
| Python (Original) | ~3.5 seconds | ~1.2 seconds |
| GPT-4o | ~4.0 seconds | ~1.5 seconds |
| Claude 3.5 Sonnet | ~0.00006 seconds | ~0.00004 seconds |
| CodeQwen 1.5 7B | ~5.0 seconds | ~2.0 seconds |

结果显示,Claude 不仅仅是翻译了代码,还重新思考了算法,将速度提高了 60,000 倍。这不仅仅是 代码生成,而是优化。

这个案例充分说明,单纯的 基准测试 分数并不能完全反映模型的实际能力。实际应用中的性能优化能力,往往更能体现模型的价值。

开源 vs. 闭源:真实的权衡,而非部落主义

测试表明,开源模型和闭源模型各有优势:

| Feature | Open-Source LLMs | Closed-Source LLMs |
| —————– | ———————————– | ———————————- |
| Cost | Lower | Higher |
| Customization | High | Limited |
| Transparency | Full | Limited |
| Performance | Generally lower on some benchmarks | Generally higher on many benchmarks |
| Deployment | More flexible (on-prem, edge) | Primarily cloud-based |
| Data Privacy | Greater control over data | Limited control over data |

作者建议,对于性能至关重要或需要大量推理的任务,应使用前沿模型。对于实验、成本效益和边缘部署,应使用开源模型。最佳策略是采用混合堆栈:在本地进行训练和测试,并在需要时使用云原生 API 进行扩展。

举例来说,对于金融风控场景,需要进行复杂的欺诈检测,这时闭源模型如 GPT-4 或 Claude 可能更适合,因为它们在推理能力和准确性方面通常表现更好。而对于需要高度定制化和数据隐私保护的场景,比如医疗诊断,开源模型则更具优势,因为可以完全掌控模型和数据。

重要的指标:不仅仅是基准测试,更是业务指标

工程师通常会跟踪以下指标:

  • Loss
  • Perplexity
  • Accuracy
  • F1
  • AUC-ROC

但企业更关心的是:

  • 节省的时间
  • 避免的成本
  • 投资回报率 (ROI)
  • 满意度提高

例如,在 代码生成 的案例中,Claude 提供了最大的速度和深度逻辑优化。GPT-4o 可靠且一致。Qwen 具有成本效益,可用于标准任务。所有模型都有优势,但只有 Claude 符合高性优化系统翻译的目标。

因此,在选择 LLM 时,务必将业务目标纳入考量,并根据实际需求进行权衡。

LLM 工具:超越基准测试的构建

作者还分享了一些可以立即构建的产品创意:

  • LLM 驱动的代码注释器: 自动记录旧的 Python/Java 代码,并提供上下文相关的摘要。这可以大大减少维护和理解遗留代码库所需的时间和精力。

  • 单元测试生成器: 从代码中立即生成 pytest/JUnit 测试用例,减少 QA 工作量。自动化单元测试可以提高软件质量,并减少人工测试的成本。

  • 交易代码合成器: 将策略文本(例如,“低买高卖,止损 2%”)转换为可执行的算法交易代码。这可以加速交易策略的开发和部署,并降低手动编码的风险。

这些工具超越了 基准测试,是 AI 原生开发者工作流程的基础。它们体现了 LLM 的真正潜力,即通过自动化和增强人类能力来提高生产力。

LLM 工程是一门手艺

基准测试 是一个起点,但不能替代真正的实验。我们需要:

  • 在自己的数据上进行测试。
  • 定义自己的成功指标。
  • 构建解决方案,而不仅仅是模型。
  • 基准测试 作为信号,而不是福音。

如果你想掌握 LLM,不要只看排行榜,而是要编写自己的测试,构建自己的证明,并让模型为你工作。

总而言之,LLM 工程是一门需要不断学习和实践的手艺。只有通过深入理解模型、数据和业务需求,才能充分发挥 LLM 的潜力,并创造出真正有价值的应用。让我们一起探索 LLM 的无限可能,共同推动 AI 技术的发展!