You need to enable JavaScript to run this app.
文档中心
火山方舟

火山方舟

复制全文
下载 pdf
上线到生产
模型接入指南(LLM) - 性能评测
复制全文
下载 pdf
模型接入指南(LLM) - 性能评测
本指南面向已完成接入、准备上线放量前需要跑一次性能基线评测的场景(也称压测 / benchmark / 性能测试),在自有环境下对方舟模型推理接入点做一次标准化压测,产出可信、可复现的性能报告。​
  • 测什么:TTFT(首 token 延迟)、TPOT(每 token 间隔)、E2E(端到端耗时)、缓存命中率。​
  • 怎么测:优先在同机同网环境,用自有压测工具或方舟提供的 llm-bench 工具,跑「前缀复用」及「多轮长上下文」两类场景。​
  • 交付什么:把生成的 reports/prefix_<时间戳>/ 和 reports/multiturn_<时间戳>/ 目录打包,发给您的客户经理或后算服务工程师。​
核心指标口径​
大语言模型采用流式逐 token 生成方式,用户实际体验由以下四项核心指标决定:​
​
指标​
定义​
计算口径​
主要影响因素​
TTFT(Time to First Token,首字延迟)​
从请求发出到收到首个输出 token 的时间​
TTFT = 首个 token 到达时间 − 请求发送时间(含网络往返)​
与输入长度强相关(评测时需统一约定输入长度);与缓存命中率强相关​
E2E 延迟(端到端总耗时)​
从请求发出到收到最后一个输出 token 的总耗时​
E2E = 最后内容 chunk 到达时间 − 请求发送时间​
与输入 / 输出长度均强相关​
TPOT(Time Per Output Token)​
输出阶段 token 生成速率,即相邻两个输出 token 之间的平均间隔​
TPOT = (E2E − TTFT) / (输出 token 数 − 1)​
长输出下趋于稳定​
缓存命中率​
请求输入中命中缓存的 token 数占总输入 token 数的比例​
cached_tokens / prompt_tokens × 100%(按 token 加权平均)​
直接影响 TTFT;命中率越高,推理成本越低​
​
在 Agent、Coding 等对响应实时性敏感的场景中,这 4 项指标是评估模型能否满足业务需求的核心依据。​
统计分位建议同时记录 AVG(平均值,反映整体水平)、P50(中位数,典型用户体验)、P99(99 分位,反映长尾抖动)。​
测试准备​
请在您自己的环境下,结合线上平均输入长度在「固定前缀 + 变化后缀」场景对方舟模型接入点跑一次评测。同机同网、参数对齐是有效结论的前提。​
评测前请确认以下参数已经对齐:​
  • 模型版本:方舟 Endpoint / Model ID 明确记录。​
  • reasoning_effort:本次评测的取值保持一致(如统一 none 或 high)。​
  • max_completion_tokens / max_output_tokens:一致。​
  • 输入 / 输出长度:前缀长度、后缀长度、多轮上下文长度对齐。​
  • 并发数:max_concurrency 一致。​
  • 思考口径:reasoning_effort 保持一致,避免"这次思考、下次不思考"造成的错位对比。​
测试工具选择​
​
您的情况​
选用工具​
已有 vLLM benchmark_serve / SGLang bench_serving 等压测工具​
沿用自有工具,按线上输入 / 输出长度参数配置即可​
没有现成工具​
用方舟提供的 llm-bench 工具(OpenAI Chat 协议,指标口径对齐 vLLM benchmark_serve)​
​
llm-bench 有两种使用方式,任选其一:​
  • 一键 Agent Skill(推荐):使用 Claude Code、豆包企业版等 Agent 工具的用户可一键安装,自然语言即可触发压测。详见 一键 Skill 压测。​
  • 命令行直接跑:熟悉 shell 的用户可从 Skill 包获取 llm-bench 源码后手动运行。详见 命令行压测步骤。​
一键 Skill 压测​
前置条件​
  • Node.js ≥ 18 与 npm(用于运行 npx skills 命令)。​
  • Ark CLI 已安装并完成 SSO 登录:​
  • ​
    npm install -g @volcengine/ark-cli@latest​
    arkcli auth login volc-sso​
    ​
  • Skill 内部通过 Ark CLI 获取 API Key 与推理接入点信息,若未安装则触发 skill 会报 arkcli is required。​
  • 支持 Agent Skill 的工具:Claude Code、豆包企业版、Codex、Trae 等。npx skills add 命令会自动写入这些工具的 skill 目录,重新打开会话即可加载。​
安装 skill​
​
npx --yes skills@latest add "https://arkdocs.tos-cn-beijing.volces.com/skills/" \​
--skill ark-model-benchmark \​
--yes​
​
触发压测​
安装完成后,用自然语言触发即可,例如:"帮我压测一下方舟上豆包 Seed 2.0 Mini 模型的性能"。Skill 会自动完成 Ark CLI 登录检查、模型解析、连通性 / Prefix / Multi-turn 三种场景压测,并在 reports/ 目录下输出 Markdown 报告与 PNG 图表。​
命令行压测步骤​
Step 1 · 获取 llm-bench​
Skill 包内嵌了 llm-bench 源码(含 run_prefix.sh / run_multiturn.sh / 语料 / 报告模板等)。先按 一键 Skill 压测 · 安装 skill 安装 skill,然后从 skill 目录取出 llm_bench/:​
​
# skills CLI 通常会用 symlink 部署,find 必须加 -L 才能跟随​
LLM_BENCH_DIR=$(find -L ~/.claude/skills .claude/skills .agents/skills \​
-maxdepth 5 -type d -name llm_bench 2>/dev/null | head -1)​
echo "$LLM_BENCH_DIR" # 应输出类似 .claude/skills/ark-model-benchmark/llm_bench​
cp -r "$LLM_BENCH_DIR" ./llm_bench​
cd llm_bench​
​
若您不使用 Skill CLI,也可以联系客户经理或后算服务工程师直接获取 llm-bench zip 包。​
Step 2 · 安装依赖​
​
python3 -m venv .venv​
source .venv/bin/activate​
pip install -r requirements.txt​
​
export ARK_BASE_URL="https://ark.cn-beijing.volces.com/api/v3"​
export ARK_API_KEY="<YOUR_ARK_API_KEY>"​
​
Step 3 · 连通性自检​
将 <ep-********> 替换为方舟推理接入点 ID 或 Model ID:​
​
# 发 1 个请求验证地址 / 密钥 / 模型可用,并打印 TTFT / usage / cached_tokens​
python bench.py connectivity --model <ep-********>​
​
Step 4 · 正式压测​
llm-bench 提供两个入口脚本,分别对应「前缀复用」与「多轮长上下文」两个核心场景:​
​
# 直接跑​
./run_prefix.sh​
./run_multiturn.sh​
​
# 覆盖参数:环境变量前置即可​
MAX_CONCURRENCY=20 PREFIX_LEN=12000 SUFFIX_LEN=2000 NUM_REQUESTS=200 \​
./run_prefix.sh​
​
# multiturn:想让命中率曲线更平滑可提到 50 个 session​
MAX_CONCURRENCY=10 NUM_SESSIONS=50 MAX_TURNS=20 \​
./run_multiturn.sh​
​
注意​
请在同机同网条件下测试。网络往返或代理会让 TTFT / E2E 明显虚高,导致结论失真。​
Step 5 · 交付报告​
跑完自动生成目录 reports/prefix_<时间戳>/ 和 reports/multiturn_<时间戳>/(多次运行互不混杂)。请把这两个目录打包,发给您的客户经理或后算服务工程师。​
拿到同口径数据后,若方舟指标与您的预期确有差距,我们会分析差距并进一步优化;若差距源于口径或环境差异,也能第一时间澄清。​
报告示例​
llm-bench 生成的报告示例(片段)如下,可作为汇报格式参考。​
前缀复用(Prefix)场景​
​
# LLM Benchmark Report - prefix​
​
- **压测时间**: 2026-08-28 13:37:57​
- **模式**: prefix​
- **API 地址**: https://ark.cn-beijing.volces.com/api/v3​
- **长度口径**: tiktoken(精确切片)​
- **max_completion_tokens**: 512​
- **reasoning_effort**: none​
- **prefix_len**: 12000​
- **suffix_len**: 2000​
- **num_requests**: 200​
- **max_concurrency**: 5​
​
## 结果总览​
​
| 模型 | 成功/失败 | TTFT avg (ms) | TTFT P99 (ms) | TPOT avg (ms) | E2E avg (ms) | 加权缓存命中率 |​
|---|---|---|---|---|---|---|​
| deepseek-v4-flash-ga-260731 | 200/0 | 2278.7 | 3362.4 | 10.4 | 6421.3 | 77.85% |​
​
多轮长上下文(Multi-turn)场景​
​
# LLM Benchmark Report - multiturn​
​
- **压测时间**: 2026-08-28 13:42:35​
- **模式**: multiturn​
- **max_completion_tokens**: 1024​
- **initial_len**: 3000​
- **question_len**: 256​
- **num_conversations**: 10​
- **max_turns**: 20​
- **max_concurrency**: 5​
- **长度形态**: Turn1 输入 3000 tokens,追问各 256 tokens,回答各 ≤1024 tokens,最终轮 ≈ 27320 tokens​
- **429 / 网络重试次数**: 0​
​
## 结果总览​
​
| 模型 | 成功/失败 | TTFT avg (ms) | TTFT P99 (ms) | TPOT avg (ms) | E2E avg (ms) | 加权缓存命中率 |​
|---|---|---|---|---|---|---|​
| deepseek-v4-flash-ga-260731 | 200/0 | 2260.9 | 3435.6 | 10.1 | 11824.6 | 87.87% |​
​
常见无效反馈示例​
以下反馈因缺少量化指标或口径信息,无法定位问题,也无法澄清是否为口径差异。请按上一节报告格式提供数据:​
​
无效反馈​
为什么无效​
跑起来感觉很慢​
纯主观,无量化指标,分不清慢在首 token 还是整体输出​
首 token 出现的很慢,但不说输入长度​
TTFT 与输入长度、缓存命中率强相关,无法判断是否正常​
提供了对比结论,但两边参数设定不明确​
口径不对齐的对比没意义,差距可能来自思考等级参数差异,导致 E2E 拉长​
只发一句「性能不达标」​
无原始报告和数据,无法定位也无法澄清是否口径差异​
​
附录:方舟推理服务性能观测​
为便于实时观测性能指标,方舟控制台提供了性能观测入口,可以按不同输入长度查看不同测试指标:https://ark.volcengine.com/region:cn-beijing/model/leaderboard。​
附录:结果偏差解读​
拿到评测结果后,如遇到指标异常,可对照下表定位:​
​
最近更新时间:2026.08.31 18:10:39
这个页面对您有帮助吗?
有用
有用
无用
无用