选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

使用适配器推理组件微调模型

聚焦模式
使用适配器推理组件微调模型 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

借助 Amazon SageMaker AI,您可以托管预先训练好的基础模型,而无需从头开始创建自己的模型。但是,要根据业务的独特需求量身定制通用基础模型,您必须创建一个经过微调的版本。一种具有成本效益的微调技术是低等级适应(LoRa)。LoRa背后的原则是,大型基础模型中只有一小部分需要更新以适应新的任务或领域。LoRa 适配器仅需几个额外的适配器层即可增强基础模型的推断。

如果您使用 SageMaker AI 推理组件托管基础模型,则可以通过创建适配器推理组件来使用 LoRa 适配器对该基础模型进行微调。创建适配器推理组件时,需要指定以下内容:

  • 包含适配器推理组件的基本推理组件。基础推理组件包含您要调整的基础模型。适配器推理组件使用您分配给基础推理组件的计算资源。

  • 您在亚马逊 S3 中存储 LoRa 适配器的位置。

创建适配器推理组件后,可以直接调用它。当你这样做时, SageMaker AI 会将适配器与基本模型结合起来,以增强生成的响应。

开始前的准备工作

在创建适配器推理组件之前,必须满足以下要求:

  • 你有一个基础推理组件,其中包含要调整的基础模型。您已将此推理组件部署到 A SageMaker I 终端节点。

    有关将推理组件部署到终端节点的更多信息,请参阅为实时推理部署模型

  • 您有一个 LoRa 适配器模型,并且您已将模型工件作为tar.gz文件存储在 Amazon S3 中。在创建适配器推断组件时,您可以指定项目的 S3 URI。

以下示例使用适用于 Python 的软件开发工具包 (Boto3) 来创建和调用适配器推理组件。

create_inference_component调用创建适配器推理组件

以下示例创建了一个适配器推理组件并将其分配给基础推理组件:

sm_client.create_inference_component( InferenceComponentName = adapter_ic_name, EndpointName = endpoint_name, Specification={ "BaseInferenceComponentName": base_inference_component_name, "Container": { "ArtifactUrl": adapter_s3_uri }, }, )

当您在自己的代码中使用此示例时,请按如下方式替换占位符值:

  • adapter_ic_name— 适配器推理组件的唯一名称。

  • endpoint_name— 托管基本推理组件的端点的名称。

  • base_inference_component_name— 包含要调整的基础模型的基本推理组件的名称。

  • adapter_s3_uri— 使用您的 LoRa 适配器工件查找tar.gz文件的 S3 URI。

您可以使用与普通推理组件的代码相似的代码来创建适配器推理组件。一个区别是,对于Specification参数,可以省略ComputeResourceRequirements密钥。当您调用适配器推理组件时,它由基础推理组件加载。适配器推理组件使用基础推理组件的计算资源。

有关使用适用于 Python 的 SDK (Boto3) 创建和部署推理组件的更多信息,请参阅。使用 Python 部署模型 SDKs

创建适配器推理组件后,您可以通过在invoke_endpoint请求中指定其名称来调用该组件。

invoke_endpoint调用适配器推理组件

以下示例调用适配器推理组件:

response = sm_rt_client.invoke_endpoint( EndpointName = endpoint_name, InferenceComponentName = adapter_ic_name, Body = json.dumps( { "inputs": prompt, "parameters": {"max_new_tokens": 100, "temperature":0.9} } ), ContentType = "application/json", ) adapter_reponse = response["Body"].read().decode("utf8")["generated_text"]

当您在自己的代码中使用此示例时,请按如下方式替换占位符值:

  • endpoint_name— 托管基础和适配器推理组件的端点的名称。

  • adapter_ic_name— 适配器推理组件的名称。

  • prompt— 推理请求的提示。

有关使用适用于 Python 的 SDK (Boto3) 调用推理组件的更多信息,请参阅。调用模型进行实时推理

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。