Aider 基准测试中的 LLM 速度对比:GPT-4 Turbo 与 gpt-3.5-turbo-1106 的推理延迟实测
2026/9/8 22:24:15 网站建设 项目流程

Aider 基准测试中的 LLM 速度对比:GPT-4 Turbo 与 gpt-3.5-turbo-1106 的推理延迟实测

【免费下载链接】aideraider is AI pair programming in your terminal项目地址: https://gitcode.com/GitHub_Trending/ai/aider

本文为 Aider 基准测试系列的速度专题报告,讲解如何借助 aider 的基准测试套件(benchmarking suite)量化不同 GPT 模型版本的响应速度,并给出gpt-3.5-turbo-1106gpt-4-1106-preview(即 GPT-4 Turbo)相对 2023 年 6 月版本的加速结论。读完后,你将理解这套速度基准"到底在测什么"、关键加速倍数的来源,以及如何用仓库中的 benchmark/benchmark.py 与 benchmark/README.md 复现完整的基准测试流程。

背景:aider 基准测试与速度测量的范围

OpenAI 发布了 GPT-3.5 与 GPT-4 的新版本后,社区对它们的能力与性能高度关注。Aider 是一个开源的命令行聊天工具,让你与 GPT 协作编辑本地 git 仓库中的代码,它依赖一套代码编辑基准来定量评估模型表现。本报告是该系列报告的延续,专门比较各 GPT 模型的速度,此前的报告可参考:

  • GPT 代码编辑基准:评估 3 月版与 6 月版的 GPT-3.5 和 GPT-4;
  • OpenAI "1106" 模型的代码编辑能力基准:比较旧模型与 11 月(1106)模型。

速度基准的测量口径需要说清楚:Aider 的基准测量的是 OpenAI chat completion 端点的响应时间——每次让 GPT 解答基准套件中的一道编程题时,记录等待模型响应所用的时间。也就是说,它衡量的是这些模型生成以源代码为主的响应有多快,而不包含本地单元测试执行、环境准备等耗时。

从当前仓库源码看,这一测量落在 benchmark/benchmark.py 的单题执行流程中:每次尝试(try)前记录start = time.time(),调用coder.run(...)完成"模型请求 + 应用编辑"的全过程后执行dur += time.time() - start(见 benchmark/benchmark.py#L848-L865);单元测试run_unit_tests在这段计时之外执行,超时则单独计入test_timeouts统计。因此该时间度量聚焦于"模型侧"的响应速度,与原文档中"仅测量等待 OpenAI 响应的时间"的描述一致。

参与对比的模型版本与核心结论

本次报告对比的模型版本覆盖了 GPT-3.5 的 3 月版(0301)、6 月版(0613)、11 月版(1106),以及 GPT-4 的 6 月版(0613)和 11 月预览版(1106,即 GPT-4 Turbo)。原文档给出的三个关键观察是:

  • GPT-3.5 快了 6~11 倍。gpt-3.5-turbo-1106比此前一直作为默认gpt-3.5-turbo的 6 月(0613)版本快 6~11 倍。
  • GPT-4 Turbo 快了 2~2.5 倍。新的gpt-4-1106-preview模型比此前作为默认gpt-4的 6 月(0613)版本快 2~2.5 倍。
  • 意外发现:3 月(0301)版的 GPT-3.5 实际上比 6 月(0613)版更快。

这三条结论意味着:如果你当时的默认配置仍指向gpt-3.5-turbo(0613)或gpt-4(0613),切换到 1106 版本后,纯"等模型出答案"的等待时间会大幅下降;而 3 月版更快的现象则提醒我们,模型速度并非随发布日期单调提升,需要实测确认。

从源码看速度数据如何产生

要复现并理解上述倍数结论,值得看一下基准套件中"速度"从采集到汇报的完整链路:

  1. 单题计时:benchmark/benchmark.py 中每道题按tries次尝试循环,每次尝试的时间累加进dur(L848-L865),最终随题目结果一起写入results字典的duration字段(L949)。
  2. 汇总统计summarize_results把所有题目的duration累加到res.duration(L514),并除以已完成题目数得到每题平均耗时,以seconds_per_case输出(L611-L612)。
  3. 报告字段:基准报告是一段 YAML 记录,除pass_rate_1pass_rate_2等通过率外,也包含速度字段seconds_per_case与成本字段total_cost。benchmark/README.md 中给出的示例报告即有:
- dirname: 2024-07-04-14-32-08--claude-3.5-sonnet-diff-continue model: claude-3.5-sonnet pass_rate_1: 57.1 pass_rate_2: 77.4 seconds_per_case: 17.6 total_cost: 3.6346

也就是说,速度指标在 aider 的基准报告中与通过率、成本是并列的一等公民,这正是本报告能以同一套实验直接横向比较不同模型速度的原因。

如何复现基准测试

以下流程来自 benchmark/README.md。需要强调的是:基准测试会把 LLM 生成的代码未经人工审查直接执行,因此必须运行在 docker 容器内,以防止 LLM 生成危险代码(例如import os; os.system("sudo rm -rf /"))危害系统。

一次性准备

# 克隆 aider 仓库(本仓库可用如下地址克隆) git clone https://gitcode.com/GitHub_Trending/ai/aider.git cd aider # 在 aider 主目录下创建存放基准结果的目录 mkdir tmp.benchmarks # 克隆存放练习题的 polyglot-benchmark 仓库(Aider-AI 组织维护) # 放到 tmp.benchmarks/polyglot-benchmark # 构建 docker 容器 ./benchmark/docker_build.sh

运行基准

# 启动 docker 容器 ./benchmark/docker.sh # 容器内以开发模式安装 aider,运行你克隆的代码 pip install -e .[dev] # 运行基准测试 ./benchmark/benchmark.py a-helpful-name-for-this-run \ --model gpt-3.5-turbo --edit-format whole --threads 10 \ --exercises-dir polyglot-benchmark

运行后会在tmp.benchmarks/YYYY-MM-DD-HH-MM-SS--a-helpful-name-for-this-run下生成结果目录,所有练习题默认按随机顺序执行。对速度对比实验最有用的参数包括:

  • --model:模型名,与直接传给aider的参数一致;
  • --edit-format:编辑格式,与传给aider的一致;实验性模型建议从whole开始;
  • --threads:并行执行的练习题数量。调试阶段用单线程,稳定后可提高到 10(README 指出对 OpenAI API 而言 10 个线程工作良好);
  • --num-tests:限制运行前 N 个测试,便于小规模试跑;
  • --keywords:只运行名称匹配的测试(类似pytest -k)。

生成报告

# 无需进容器即可统计(只收集数据,不执行不安全代码) ./benchmark/benchmark.py --stats tmp.benchmarks/YYYY-MM-DD-HH-MM-SS--a-helpful-name-for-this-run

报告中的modeledit_formatcommit_hash三个字段应当足以可靠地复现任何一次基准运行——这是比较不同模型速度时保证实验可比的前提。

适用前提与结果有效性说明

  • 速率限制的影响:本报告于 2023 年 11 月 14 日最后更新。当时 OpenAI 放宽了速率限制,因此文中数据不再被视为初步(preliminary)结果。速率限制会直接影响并行基准的实际吞吐,复现时应留意 API 侧限制与--threads设置的匹配。
  • 测量边界:该速度指标只覆盖模型生成响应所用的时间(含 aider 侧应用编辑的过程,不含单元测试执行),因此它反映的是模型推理速度而非端到端任务耗时;要评估端到端体验,还需结合pass_ratetotal_cost综合判断。
  • 时间维度:文中对比的gpt-4-1106-previewgpt-3.5-turbo-0613等均为 2023 年 11 月时点的模型快照,其速度结论描述的是那一版本代际的相对差异;模型目录与默认模型随 OpenAI 的版本更迭而变化,当前仓库的 benchmark/README.md 与 benchmark/benchmark.py 已支持多语言(polyglot)基准,用同一套流程即可对任意新模型重新测速。

小结

aider 的速度基准用统一的编程题集合与计时口径,把"哪个模型回答得更快"变成了一个可复现、可报告的问题:gpt-3.5-turbo-1106相比 0613 版本提速 6~11 倍,gpt-4-1106-preview相比 0613 版本提速 2~2.5 倍,而 0301 版意外地比 0613 更快。借助 benchmark/benchmark.py 中的逐次尝试计时与seconds_per_case汇总字段,你可以在 docker 隔离环境中对任意模型组合重复这套测量,把速度数据与通过率、成本放在一起比较,从而为日常开发选择合适的模型版本。

【免费下载链接】aideraider is AI pair programming in your terminal项目地址: https://gitcode.com/GitHub_Trending/ai/aider

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询