LLMPerf 排行榜 :trophy:
利用 LLMPerf,我们对一系列 LLM 推理提供商进行了基准测试。 我们的分析主要评估它们在以下关键指标下的性能、可靠性和效率:
- 输出令牌吞吐量,代表每秒返回的平均输出令牌数。这一指标对于需要高吞吐量的应用(如摘要和翻译)很重要,并且易于在不同模型和提供商之间进行比较。
- 首个令牌时间(TTFT),代表 LLM 返回第一个令牌所需的时间。TTFT 对于流式应用(如聊天机器人)尤为重要。
LLMPerf 排行榜以清晰、透明的方式展示结果。我们的目标是为用户和开发者提供每个提供商能力和局限性的重要洞察,为未来的集成和部署决策提供信息。为了保持透明度和实用性,我们还在 运行配置 中提供了可复现的步骤,如下所示:
运行配置
对于每次基准测试运行,都使用 LLMPerf 仓库 中的以下命令模板执行:
python token_benchmark_ray.py \
--model <MODEL_NAME> \
--mean-input-tokens 550 \
--stddev-input-tokens 0 \
--mean-output-tokens 150 \
--stddev-output-tokens 0 \
--max-num-completed-requests 150 \
--num-concurrent-requests 5 \
--llm-api <litellm/openai>
对每个提供商,我们执行:
- 总请求数: 150
- 并发度: 5(向提供商发送 5 个并发请求)
- 提示词令牌长度: 550
- 预期输出长度: 150
- 测试模型: LLama-2 聊天模型的 7B、13B 和 70B 版本
我们在 us-west-2(俄勒冈)区域的 AWS EC2(实例类型:i4i.large)上运行 LLMPerf 客户端。结果截至 2023 年 12 月 19 日太平洋标准时间凌晨 3 点。您可以在 raw_data 文件夹中找到详细结果。
注意事项和免责声明
请注意,可能存在一些潜在的偏差来源或与您感知行为的差异:
- 提供商的后端端点可能差异很大,因此这并不反映软件在特定硬件上的运行情况。
- 结果可能随一天中的时间而变化。
- 结果(如 TTFT 测量)取决于客户端位置,也可能受某些提供商为增加 ITL 而在第一个令牌上延迟的影响。我们当前的测量位置是美国西部(俄勒冈)。
- 结果仅是系统能力的代理,也受现有系统负载和提供商流量的影响。
- 结果可能与用户的工作负载不相关。
输出令牌吞吐量(令牌/秒)
输出令牌吞吐量以每秒返回的平均输出令牌数来衡量。我们通过向每个 LLM 推理提供商发送 150 个请求来收集结果,并根据 150 个请求计算平均输出令牌吞吐量。更高的输出令牌吞吐量表示 LLM 推理提供商的吞吐量更高。
70B 模型
框架 | 模型 | 中位数 | 平均值 | 最小值 | 最大值 | P25 | P75 | P95 | P99 |
---|---|---|---|---|---|---|---|---|---|
anyscale | meta-llama/Llama-2-70b-chat-hf | 66 | 63 | 22 | 86 | 56 | 72 | 77 | 82 |
bedrock | meta.llama2-70b-chat-v1 | 21 | 21 | 13 | 22 | 20 | 22 | 22 | 22 |
fireworks | accounts/fireworks/models/llama-v2-70b-chat | 40 | 40 | 33 | 46 | 38 | 42 | 45 | 46 |
groq | llama2-70b-4096 | 185 | 184 | 148 | 208 | 174 | 195 | 207 | 208 |
lepton | llama2-70b | 33 | 33 | 31 | 39 | 32 | 34 | 34 | 38 |
perplexity | llama-2-70b-chat | 30 | 30 | 8 | 44 | 29 | 31 | 36 | 44 |
replicate | meta/llama-2-70b-chat | 10 | 9 | 2 | 11 | 10 | 10 | 11 | 11 |
together | together_ai/togethercomputer/llama-2-70b-chat | 65 | 64 | 25 | 79 | 61 | 68 | 74 | 76 |
13B 模型
框架 | 模型 | 中位数 | 平均值 | 最小值 | 最大值 | P25 | P75 | P95 | P99 |
---|---|---|---|---|---|---|---|---|---|
anyscale | meta-llama/Llama-2-13b-chat-hf | 120 | 120 | 81 | 156 | 110 | 128 | 141 | 148 |
bedrock | meta.llama2-13b-chat-v1 | 36 | 35 | 19 | 39 | 33 | 38 | 38 | 39 |
fireworks | accounts/fireworks/models/llama-v2-13b-chat | 42 | 42 | 39 | 45 | 41 | 43 | 44 | 44 |
lepton | llama2-13b | 43 | 43 | 37 | 48 | 42 | 44 | 46 | 48 |
replicate | meta/llama-2-13b-chat | 16 | 18 | 6 | 35 | 12 | 20 | 35 | 35 |
together | together_ai/togethercomputer/llama-2-13b-chat | 102 | 101 | 1 | 123 | 98 | 108 | 119 | 122 |
7B 模型
框架 | 模型 | 中位数 | 平均值 | 最小值 | 最大值 | P25 | P75 | P95 | P99 |
---|---|---|---|---|---|---|---|---|---|
anyscale | meta-llama/Llama-2-7b-chat-hf | 51 | 51 | 45 | 57 | 49 | 54 | 56 | 57 |
fireworks | accounts/fireworks/models/llama-v2-7b-chat | 76 | 76 | 53 | 82 | 75 | 78 | 79 | 82 |
lepton | llama2-7b | 36 | 36 | 33 | 40 | 35 | 38 | 40 | 40 |
replicate | meta/llama-2-7b-chat | 26 | 32 | 2 | 78 | 20 | 35 | 73 | 77 |
together | together_ai/togethercomputer/llama-2-7b-chat | 75 | 75 | 50 | 95 | 70 | 81 | 87 | 90 |
首个令牌时间(秒)
对于流式应用,TTFT 是 LLM 返回第一个令牌所需的时间。
70B 模型
| 框架 | 模型 | 中位数 | 平均值 | 最小值 | 最大值 | P25 | P75 | P95 | P99 | |------------|------------------------------------------------------------------------------------------------------|---------|--------|-------|-------|-------|-------|-------|-------| | anyscale | meta-llama/Llama-2-70b-chat-hf | 0.21 | 0.25 | 0.18 | 0.59 | 0.19 | 0.30 | 0.36 | 0.47 | | bedrock | meta.llama2-70b-chat-v1 | 0.39 | 0.41 | 0.29 | 0.72 | 0.37 | 0.41 | 0.54 | 0.69 | | fireworks | accounts/fireworks/models/llama-v2-70b-chat | 0.51 | 0.51 | 0.32 | 0.96 | 0.39 | 0.56 | 0.79 | 0.95 | | groq | llama2-70b-4096 | 0.22 | 0.23 | 0.17 | 0.36 | 0.19 | 0.24 | 0.3 | 0.35 | | lepton | llama2-70b | 0.93 | 0.9 | 0.72 | 1.12 | 0.82 | 0.96 | 1.01 | 1.1 | | perplexity | llama-2-70b-chat | 0.37 | 0.42 | 0.29 | 0.70 | 0.34 | 0.52 | 0.63 | 0.66 | | replicate | meta/llama-2-70b-chat | 1.19 | 5.08 | 0.97 | 71.57 | 1.03 | 1.7 | 24.23 | 63.63 | | together | together_ai/togethercomputer/llama-2-70b-chat | 0.63 | 0.62 | 0.46 | 0.89 | 0.55 | 0.67 | 0.77 | 0.87 |13B模型
框架 | 模型 | 中位数 | 平均值 | 最小值 | 最大值 | P25 | P75 | P95 | P99 |
---|---|---|---|---|---|---|---|---|---|
anyscale | meta-llama/Llama-2-13b-chat-hf | 0.20 | 0.22 | 0.18 | 0.56 | 0.19 | 0.22 | 0.34 | 0.50 |
bedrock | meta.llama2-13b-chat-v1 | 0.27 | 0.33 | 0.16 | 0.77 | 0.25 | 0.3 | 0.74 | 0.76 |
fireworks | accounts/fireworks/models/llama-v2-13b-chat | 0.49 | 0.47 | 0.28 | 0.66 | 0.39 | 0.54 | 0.59 | 0.65 |
lepton | llama2-13b | 1.08 | 1.07 | 0.82 | 1.4 | 0.95 | 1.15 | 1.24 | 1.37 |
replicate | meta/llama-2-13b-chat | 5.65 | 6.27 | 0.98 | 17.01 | 3.62 | 8.31 | 14.76 | 16.71 |
together | together_ai/togethercomputer/llama-2-13b-chat | 0.54 | 0.89 | 0.39 | 0.91 | 0.46 | 0.60 | 0.70 | 0.81 |
* 在数据收集时,Perplexity不提供13B模型。可以在这里找到更多关于提供模型的详细信息。
7B模型
框架 | 模型 | 中位数 | 平均值 | 最小值 | 最大值 | P25 | P75 | P95 | P99 |
---|---|---|---|---|---|---|---|---|---|
anyscale | meta-llama/Llama-2-7b-chat-hf | 0.20 | 0.23 | 0.18 | 0.50 | 0.19 | 0.23 | 0.34 | 0.46 |
fireworks | accounts/fireworks/models/llama-v2-7b-chat | 0.33 | 0.33 | 0.21 | 1.09 | 0.32 | 0.34 | 0.37 | 0.88 |
lepton | llama2-7b | 1.13 | 1.11 | 0.88 | 1.33 | 1.04 | 1.18 | 1.29 | 1.32 |
replicate | meta/llama-2-7b-chat | 3.68 | 3.61 | 0.99 | 7.2 | 2.31 | 5.01 | 6.37 | 6.99 |
together | together_ai/togethercomputer/llama-2-7b-chat | 0.52 | 0.58 | 0.42 | 0.95 | 0.46 | 0.71 | 0.84 | 0.94 |
* 在数据收集时,Perplexity不提供Llama-2-7B模型。可以在这里找到更多关于提供模型的详细信息。
* 在数据收集时,Bedrock不提供Llama-2-7B模型。可以在这里找到更多关于提供模型的详细信息。