Artificial Analysis 基准测试方法论
范围
Artificial Analysis 对 AI 模型、推理 API 接入点和系统进行智能、质量、性能与价格方面的基准测试。本网站的这一部分介绍我们的基准测试方法,涵盖质量基准测试与性能基准测试。
在语言模型基准测试中,我们将客户仅按实际用量付费、而非为访问某个系统支付固定费用的接入点视为 Serverless(无服务器)接入点。通常这意味着接入点按 token 计费,且输入 token 与输出 token 往往价格不同。
在所有模态上,我们的性能基准测试衡量的都是 AI 推理服务与系统的客户实际体验到的端到端性能。因此,基准测试结果并不代表某一特定硬件平台上可能达到的最高性能,而是代表客户在各服务商处实际体验到的真实性能。
我们对专有模型和开放权重模型都会进行基准测试。
语言模型智能
语音、图像、视频与音乐
推理
其他
定义
在本页面以及整个 Artificial Analysis 网站中,我们使用以下术语:
- 模型: 大语言模型(LLM),包括专有模型、开源模型和开放权重模型。
- 模型开发商: 开发并训练该模型的机构。例如,OpenAI 是 GPT-4 的开发商,Meta 是 Llama 3 的开发商。
- 接入点(Endpoint): 模型的一个托管实例,可通过 API 访问。同一个模型在不同服务商处可能有多个接入点。
- 系统: 用于运行 AI 模型的专用计算环境,通常是已预置的基础设施(例如虚拟机),可以对其在负载下的性能进行基准测试。
- 服务商: 托管并提供一个或多个模型接入点或系统访问的公司,例如 OpenAI、AWS Bedrock、Together.ai 等。同一家公司往往既是模型开发商,也是服务商。
- Serverless(无服务器): 按实际用量提供的云服务;就 LLM 推理 API 而言,通常指按输入和输出 token 计费。Serverless 云产品当然仍然运行在服务器上!
- 开放权重: 由模型开发商公开发布了权重的模型。我们使用“开放权重”或简称“开放”模型,而不是“开源”,因为许多开放的 LLM 所采用的许可证并不完全符合开源软件的定义。
- Token: 现代 LLM 以 token(词元)为基础构建——token 是词语和字符的数字化表示。LLM 以 token 作为输入,并生成 token 作为输出。输入文本由分词器(tokenizer)转换为 token。不同的 LLM 使用不同的分词器。
- 原生 Token: 由 LLM 自身分词器计数、通常由服务商 API 报告的 token。价格通常以原生 token 计算,输出速度等我们的性能指标也按原生 token 计数。
- 价格(输入/输出): 服务商对发送给模型的每个输入 token 和从模型接收的每个输出 token 所收取的价格。页面所示价格为服务商当前公布的价格。
- 混合价格: 为便于比较,我们按缓存命中 token、输入 token 与输出 token 7:2:1 的比例计算混合价格。
- 每任务成本: 完成一项 Artificial Analysis Intelligence Index 任务的加权平均成本(美元)。计算方式为:将输入 token、缓存 token 和输出 token 的价格分别乘以整个工作负载中消耗的相应 token 数量,按Intelligence Index 使用的各项基准测试权重加权,再除以任务数量。价格取服务商自有(第一方)API 的费率,或所有服务商价格的中位数。各服务商的缓存费用不同。由于成本反映的是实际的 token 消耗量,即使单位 token 价格相同,输出更长答案或更多推理 token 的模型,其每任务成本也会更高。
其中 i = Artificial Analysis Intelligence Index 中的每一项基准测试,w = 该基准测试在 Index 中的权重
- 每任务耗时: 完成一项 Artificial Analysis Intelligence Index 任务的估算加权平均耗时。对于每项基准测试,我们将每任务的答案 token 和推理 token 数量除以模型的输出速度,再按Intelligence Index 使用的各项基准测试权重加权。输出速度来自我们的API 性能基准测试:每个请求在完整时长内每秒的输出 token 数,取过去 5 天内我们所测工作负载的平均值,测量所用的是模型的代表性接入点,通常是模型开发者自己的 API,价格也使用该接入点。如果模型没有代表性接入点或没有其测量数据,则取该模型已测接入点的中位数。在服务商页面等展示单个接入点每任务耗时的地方,我们使用该接入点自身的输出速度。每任务耗时由 token 数量和速度推算得出,而非对评估运行计时,因此反映具有代表性的 API 速度。
其中 i = Artificial Analysis Intelligence Index 中的每一项基准测试,w = 该基准测试在 Index 中的权重,Output Speed = 模型的输出速度(每秒 token 数)
- 首个答案 Token 延迟: 从向服务或系统发送请求到接收到响应中第一个答案 token 所经过的时间(秒)。对于推理模型,这包括推理所用的时间,因此与首 Token 延迟不同,它以相同方式衡量推理模型和非推理模型等待答案的时间。对于多轮工作负载,我们取一个会话内各轮的平均值。
- 首 Token 延迟: 从向服务或系统发送请求到接收到响应的第一个 token 所经过的时间(秒)。对于会返回推理 token 的推理模型,这里指第一个推理 token。对于多轮工作负载,我们取一个会话内各轮的平均值。
- 输出速度(每秒输出 token 数): 在请求的完整时长内(从发送请求到收到最后一个 token),平均每秒接收到的输出 token 数量,包括推理 token,因此包含首 Token 延迟。对于多轮会话,我们用会话的输出 token 数除以接入点响应其请求所用的时间,不包括请求之间工具运行的时间。
- 端到端时间: 从发送请求到接收到最后一个 token 所经过的时间(秒),对每个请求分别测量。对于多轮会话,它是会话内各请求的总和,不包括请求之间工具运行的时间。
- 接入点错误率: 过去 5 天内接入点请求中因接入点一方原因失败的请求占比。一个多轮会话计为一个请求,只要其中任一请求失败即视为失败。我们排除不归因于接入点的失败,例如无效的 API 密钥、额度耗尽或我方账户的配额、因无效或超出上下文窗口而被拒绝的请求、在给出答案前被我们的 max_tokens 上限截断的响应、安全拦截或沙箱错误。接入点一方的错误会计入,包括其速率限制、超时以及在基准测试截止时仍在运行的请求。跨工作负载时,我们先合并请求再相除。
- 缓存命中率: 可缓存输入 token 中由服务商提示词缓存提供的比例,以服务商 API 在多轮智能体会话中报告的数据为准。我们根据每个接入点的近期测量结果报告其代表性缓存命中率。