AWS Bedrock 推理配置文件详细指南

推理配置文件(Inference Profiles)是Amazon Bedrock中的一种资源,用于定义模型和一个或多个可以路由模型调用请求的区域。推理配置文件为用户提供了强大的功能来管理和优化模型推理过程。

推理配置文件的核心功能

1. 使用指标跟踪

推理配置文件允许您设置CloudWatch日志并使用应用程序推理配置文件提交模型调用请求,从而收集模型调用的使用指标。您可以在查看推理配置文件信息时检查这些指标,并使用它们来指导您的决策。通过设置CloudWatch日志,您可以监控模型调用的详细信息,包括请求频率、响应时间和错误率等关键性能指标。

2. 成本监控和标签管理

通过将标签附加到应用程序推理配置文件,您可以在提交按需模型调用请求时跟踪成本。这种标签化方法使您能够按项目、部门或用途对成本进行分类,从而更好地管理和分配AWS资源的费用。标签还可以用于成本分配报告,帮助组织了解不同业务单元或项目的AI使用成本。

3. 跨区域推理

推理配置文件最重要的功能之一是支持跨区域推理,这可以显著提高您的吞吐量。通过使用包含多个AWS区域的推理配置文件,系统会将模型调用请求分布到这些区域中,从而提高吞吐量和性能。这种分布式方法不仅提高了系统的可用性,还能更好地处理突发的流量高峰。

推理配置文件的类型

跨区域(系统定义)推理配置文件

这些是Amazon Bedrock中预定义的推理配置文件,包含多个可以路由特定模型请求的区域。系统定义的推理配置文件根据它们支持的模型命名,并由它们支持的区域定义。这些配置文件经过AWS优化,确保在多个区域之间实现最佳的负载分布和性能。

当您调用跨区域推理配置文件时,需要了解以下概念:

源区域(Source Region):您发起指定推理配置文件的API请求的区域。这是您的应用程序或服务所在的区域。

目标区域(Destination Region):Amazon Bedrock服务可以将请求从源区域路由到的区域。这些区域包含实际执行模型推理的计算资源。

当您在Amazon Bedrock中调用跨区域推理配置文件时,您的请求从源区域发起,并自动路由到该配置文件中定义的目标区域之一,系统会优化性能选择最合适的目标区域。

应用程序推理配置文件

这些是用户创建的推理配置文件,用于跟踪成本和模型使用情况。您可以创建将模型调用请求路由到一个区域或多个区域的推理配置文件:

单区域配置:要创建跟踪一个区域中模型成本和使用情况的推理配置文件,请指定您希望推理配置文件路由请求的区域中的基础模型。这种配置适合于有特定区域要求或希望将所有推理请求集中在特定区域的场景。

多区域配置:要创建跟踪多个区域中模型成本和使用情况的推理配置文件,请指定定义模型和您希望推理配置文件路由请求的区域的跨区域(系统定义)推理配置文件。这种配置提供了更高的可用性和吞吐量。

支持的功能和集成

推理配置文件可以与以下功能配合使用,将请求路由到多个区域并跟踪这些功能的调用请求的使用情况和成本:

模型推理

您可以通过在Amazon Bedrock控制台的游乐场中选择推理配置文件,或在调用InvokeModel、InvokeModelWithResponseStream、Converse和ConverseStream操作时指定推理配置文件的ARN来使用推理配置文件运行模型调用。这种集成使得在现有的推理工作流程中采用推理配置文件变得非常简单。

知识库向量嵌入和响应生成

在查询知识库后生成响应或解析数据源中的非文本信息时,您可以使用推理配置文件。这确保了知识库操作也能受益于跨区域推理的性能优势和成本跟踪功能。

模型评估

您可以在提交模型评估作业时将推理配置文件作为要评估的模型提交。这允许您评估跨区域推理配置的性能,而不仅仅是单个区域中的模型性能。

提示管理

您可以在为提示管理中创建的提示生成响应时使用推理配置文件。这种集成确保了提示管理工作流程也能利用推理配置文件的优势。

流程(Flows)

您可以在为流程中提示节点内联定义的提示生成响应时使用推理配置文件。这使得复杂的AI工作流程也能受益于跨区域推理的优势。

定价和成本考虑

使用推理配置文件的价格基于您调用推理配置文件的区域中模型的价格计算。这意味着即使您的请求被路由到不同的区域,您仍然按照源区域的定价付费,这简化了成本预测和管理。

对于跨区域推理配置文件可以提供的吞吐量详细信息,跨区域推理功能可以显著提高您的应用程序处理大量并发请求的能力。

支持的区域和模型

跨区域推理配置文件支持

跨区域推理允许您通过利用不同AWS区域的计算资源来无缝管理计划外的流量突发。通过跨区域推理,您可以在多个AWS区域之间分布流量,从而提高系统的整体可用性和性能。

跨区域(系统定义)推理配置文件根据它们支持的模型命名,并由它们支持的区域定义。需要注意的是,跨区域推理配置文件中的目标区域可能包括选择性区域(opt-in Regions),这些区域需要您在AWS账户或组织级别明确启用。

在使用跨区域推理配置文件时,即使您没有在账户中选择加入这些区域,您的推理请求也可能被路由到配置文件中的任何目标区域。这种设计确保了最大的灵活性和性能优化。

服务控制策略和IAM策略

服务控制策略(SCPs)和AWS身份和访问管理(IAM)策略共同控制允许跨区域推理的位置。使用SCPs,您可以控制Amazon Bedrock可以用于推理的区域,使用IAM策略,您可以定义哪些用户或角色有权限运行推理。

如果跨区域推理配置文件中的任何目标区域在您的SCPs中被阻止,即使其他区域仍然被允许,请求也会失败。为了确保跨区域推理的高效运行,您可以更新SCPs和IAM策略,以允许在您选择的推理配置文件包含的所有目标区域中进行所有必需的Amazon Bedrock推理操作。

全球推理配置文件

全球跨区域推理配置文件目前仅在Anthropic Claude Sonnet 4模型上支持,适用于以下源区域:美国西部(俄勒冈)、美国东部(弗吉尼亚北部)、美国东部(俄亥俄)、欧洲(爱尔兰)和亚太地区(东京)。全球推理配置文件的目标区域包括所有商业AWS区域。

需要注意的是,特定模型的全球跨区域推理配置文件可能会随着时间的推移而改变,因为AWS会添加更多可以处理您请求的商业区域。但是,如果推理配置文件与特定地理位置相关联(如美国、欧盟或亚太地区),其目标区域列表永远不会改变。

使用前提条件

在使用推理配置文件之前,您需要确保满足以下前提条件:

IAM权限配置

您的角色必须具有访问推理配置文件API操作的权限。如果您的角色附加了AmazonBedrockFullAccess AWS托管策略,您可以跳过此步骤。否则,您需要创建包含以下权限的自定义策略:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:InvokeModel*",
                "bedrock:CreateInferenceProfile"
            ],
            "Resource": [
                "arn:aws:bedrock:*::foundation-model/*",
                "arn:aws:bedrock:*:*:inference-profile/*",
                "arn:aws:bedrock:*:*:application-inference-profile/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "bedrock:GetInferenceProfile",
                "bedrock:ListInferenceProfiles",
                "bedrock:DeleteInferenceProfile",
                "bedrock:TagResource",
                "bedrock:UntagResource",
                "bedrock:ListTagsForResource"
            ],
            "Resource": [
                "arn:aws:bedrock:*:*:inference-profile/*",
                "arn:aws:bedrock:*:*:application-inference-profile/*"
            ]
        }
    ]
}

权限限制选项

您可以通过以下方式限制角色的访问权限:

限制API操作:修改Action字段中的列表,仅包含您想要允许访问的API操作。

限制推理配置文件访问:修改Resource列表,仅包含您想要允许访问的特定推理配置文件和基础模型。系统定义的推理配置文件以"inference-profile"开头,应用程序推理配置文件以"application-inference-profile"开头。

条件访问控制:要限制用户访问,使其只能通过推理配置文件调用基础模型,可以添加Condition字段并使用aws:InferenceProfileArn条件键。

创建应用程序推理配置文件

您可以创建具有一个或多个区域的应用程序推理配置文件来跟踪调用模型时的使用情况和成本。

单区域配置

要为一个区域创建应用程序推理配置文件,请指定基础模型。使用该模型向该区域发出的请求的使用情况和成本将被跟踪。

多区域配置

要为多个区域创建应用程序推理配置文件,请指定跨区域(系统定义)推理配置文件。推理配置文件将将请求路由到您选择的跨区域(系统定义)推理配置文件中定义的区域。对推理配置文件中区域发出的请求的使用情况和成本将被跟踪。

创建过程

目前,您只能使用Amazon Bedrock API创建推理配置文件。要创建推理配置文件,请使用Amazon Bedrock控制平面端点发送CreateInferenceProfile请求。

必需字段

  • inferenceProfileName:指定推理配置文件的名称
  • modelSource:指定基础模型或跨区域(系统定义)推理配置文件,该配置文件定义您要跟踪成本和使用情况的模型和区域

可选字段

  • description:为推理配置文件提供描述
  • tags:将标签附加到推理配置文件
  • clientRequestToken:确保API请求仅完成一次

响应返回一个inferenceProfileArn,可用于其他推理配置文件相关操作以及模型调用和Amazon Bedrock资源。

在模型调用中使用推理配置文件

控制台使用方法

要在支持推理配置文件的功能中使用推理配置文件:

  1. 使用具有Amazon Bedrock控制台使用权限的IAM身份登录AWS管理控制台
  2. 导航到您想要使用推理配置文件的功能页面(例如,从左侧导航窗格中选择"聊天/文本游乐场”)
  3. 选择"选择模型”,然后选择模型(例如,选择"Amazon”,然后选择"Nova Premier”)
  4. 在"推理"下,从下拉菜单中选择"推理配置文件”
  5. 选择要使用的推理配置文件(例如,“US Nova Premier”),然后选择"应用”

API使用方法

您可以在包含推理配置文件的任何区域中使用以下API操作运行推理:

InvokeModel和InvokeModelWithResponseStream:在模型调用中使用推理配置文件时,在modelId字段中指定推理配置文件的Amazon资源名称(ARN)。

Converse和ConverseStream:要在使用Converse API的模型调用中使用推理配置文件,在modelId字段中指定推理配置文件的ARN。

RetrieveAndGenerate:要在从查询知识库的结果生成响应时使用推理配置文件,在modelArn字段中指定推理配置文件的ARN。

CreateEvaluationJob:要提交推理配置文件进行模型评估,在modelIdentifier字段中指定推理配置文件的ARN。

CreatePrompt:要在为提示管理中创建的提示生成响应时使用推理配置文件,在modelId字段中指定推理配置文件的ARN。

CreateFlow:要在为流程中提示节点内定义的内联提示生成响应时使用推理配置文件,在定义提示节点时,在modelId字段中指定推理配置文件的ARN。

CreateDataSource:要在解析数据源中的非文本信息时使用推理配置文件,在modelArn字段中指定推理配置文件的ARN。

最佳实践和建议

性能优化

使用跨区域推理配置文件可以显著提高应用程序的吞吐量和可用性。通过将请求分布到多个区域,您可以更好地处理流量高峰并减少单点故障的风险。

成本管理

通过应用程序推理配置文件和适当的标签策略,您可以精确跟踪不同项目或部门的AI使用成本。这对于大型组织的成本分配和预算管理特别有用。

安全考虑

在配置IAM策略时,请遵循最小权限原则,仅授予必要的权限。使用条件访问控制来进一步限制对特定推理配置文件的访问。

监控和日志

设置适当的CloudWatch日志和监控,以跟踪推理配置文件的性能和使用情况。这些数据对于优化配置和识别潜在问题非常有价值。

总结

AWS Bedrock的推理配置文件功能为用户提供了强大的工具来管理和优化AI模型的推理过程。通过跨区域推理,您可以提高应用程序的性能和可用性;通过应用程序推理配置文件,您可以精确跟踪成本和使用情况。正确配置和使用推理配置文件将帮助您构建更加健壮、高效和经济的AI应用程序。

无论您是需要处理大规模的AI工作负载,还是需要精确的成本控制,推理配置文件都提供了必要的功能和灵活性来满足您的需求。通过遵循本指南中的最佳实践,您可以充分利用这一强大功能的优势。