本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon Bedrock 中词元的计算方式
当您运行模型推理时,可以处理的词元数量存在配额,具体取决于您使用的 Amazon Bedrock 模型。请查看与词元配额相关的以下术语:
| 租期 | 定义 |
|---|---|
InputTokenCount |
A CloudWatch mazon Bedrock 运行时指标,表示作为模型输入提供的请求中的令牌数量。 |
OutputTokenCount |
CloudWatch Amazon Bedrock 运行时指标,表示模型为响应请求而生成的令牌数量。 |
CacheReadInputTokens |
CloudWatch Amazon Bedrock 运行时指标,表示成功从缓存中检索而非模型重新处理的输入令牌的数量。如果您不使用提示缓存,则此值为 0。 |
CacheWriteInputTokens |
CloudWatch Amazon Bedrock 运行时指标,表示成功写入缓存的输入令牌的数量。如果您不使用提示缓存,则此值为 0。 |
| 每分钟词元数(TPM) | AWS在模型级别为一分钟内可以使用的令牌数量(包括输入和输出)设置的配额。 |
| 每日词元数(TPD) | AWS在模型级别对一天内可以使用的代币数量(包括输入和输出)设置的配额。默认情况下,此值为 TPM x 24 x 60。但是,新的配额减少AWS 账户了。 |
| 每分钟请求数(RPM) | AWS在模型级别为你在一分钟内可以发送的请求数量设定的配额。 |
max_tokens |
您在请求中提供的参数,用于设置模型可以生成的最大输出词元数。 |
| 消耗比率 | 输入和输出词元转换为词元配额使用量的比率,用于系统节流。 |
以下模型的消耗比率是输出词元的 5 倍(在配额中,1 个输出词元消耗 5 个词元):
-
AnthropicClaude Opus4
-
AnthropicClaude Opus4.1
-
Anthropic Claude Sonnet 4.5
-
Anthropic Claude Sonnet 4
-
Anthropic Claude 3.7 Sonnet
-
AnthropicClaude 3 Haiku4.5
对于所有其他模型,消耗比率为 1:1(在配额中,1 个输出词元消耗 1 个词元)。
了解词元配额管理
当您发出请求时,词元将从您的 TPM 和 TPD 配额中扣除。计算分为以下阶段:
-
请求开始时:假设您没有超出 RPM 配额,将从您的配额中扣除以下总额。如果您超出配额,请求会被节流。
Total input tokens + max_tokens -
处理期间:请求消耗的配额会定期调整,以涵盖生成的实际输出词元数。
-
在请求结束时:请求消耗的词元总数将按以下方式计算,所有未使用的词元将补充到您的配额:
InputTokenCount + CacheWriteInputTokens + (OutputTokenCount x burndown rate)如果未使用提示缓存,则
CacheWriteInputTokens为 0。CacheReadInputTokens不参与此计算。
注意
您只需根据词元的实际使用量付费。
例如,如果您使用 Anthropic Claude Sonnet 4 并发送一个包含 1000 个输入词元的请求,而该模型生成一个等效于 100 个词元的响应:
-
系统会从您的 TPM 和 TPD 配额中扣除 1500 个词元(1000 + 100 x 5)。
-
您只需为 1100 个词元付费。
了解 max_tokens 参数的影响
max_tokens 值将在每次请求开始时从您的配额中扣除。如果您比预期更早达到 TPM 配额上限,请尝试降低 max_tokens,使其更接近您实际生成内容的规模。
以下场景提供了一些示例,用来说明在使用输出词元消耗比率为 5 倍的模型时,对于已完成的请求,将如何计算配额扣除。
参数设置如下:
-
InputTokenCount: 3,000
-
CacheReadInputTokens: 4,000
-
CacheWriteInputTokens: 1,000
-
OutputTokenCount: 1,000
-
max_tokens:32000
配额扣除情况如下:
-
发出请求时的初始扣除额:40000(= 3000 + 4000 + 1000 + 32000)
-
生成响应后的最终调整扣除额:9000(= 3000 + 1000 + 1000 x 5)
在本场景中,由于 max_tokens 参数设置过高,可发起的并发请求数量减少。这会降低请求并发性、吞吐量和配额利用率,因为很快就会达到 TPM 配额容量。
参数设置如下:
-
InputTokenCount: 3,000
-
CacheReadInputTokens: 4,000
-
CacheWriteInputTokens: 1,000
-
OutputTokenCount: 1,000
-
max_tokens:1250
配额扣除情况如下:
-
发出请求时的初始扣除额:9250(= 3000 + 4000 + 1000 + 1250)
-
生成响应后的最终调整扣除额:9000(= 3000 + 1000 + 1000 x 5)
在本场景中,max_tokens 参数经过优化,因为初始扣除额仅略高于最终调整后扣除额。这有助于提高请求并发性、吞吐量和配额利用率。
优化 max_tokens 参数
通过优化 max_tokens 参数,您可以有效利用分配的配额容量。为了帮助您就此参数做出决定,您可以使用亚马逊,它会自动从AWS服务中收集指标 CloudWatch,包括Amazon Bedrock中的代币使用数据。
词元记录在 InputTokenCount 和 OutputTokenCount 运行时指标中(有关更多指标,请参阅 Amazon Bedrock 运行时指标)。
要使用 CloudWatch 监控来告知您对max_tokens参数的决定,请在中执行以下操作AWS 管理控制台:
-
通过 https://console.aws.amazon.com/cloudwatch
登录亚马逊 CloudWatch 控制台。 -
从左侧导航窗格中选择控制面板。
-
选择自动控制面板选项卡。
-
选择 Bedrock。
-
在按模型统计的词元数控制面板中,选择展开图标。
-
为指标选择持续时间和范围参数,以便应对峰值使用量。
-
在标记为总和的下拉菜单中,您可以选择不同的指标来观察词元使用情况。查看这些指标可以为设置
max_tokens值提供依据。