在 Amazon Bedrock 中导入自定义模型

发布时间:2024 年 5 月 6 日
机器学习
生成式 AI
视频
教程
亚马逊云科技
Olawale Olaleye
亚马逊云科技使用经验
100 - 初级
完成所需时间
10 分钟
上次更新时间
2024 年 5 月 6 日
相关产品

借助 Amazon Bedrock,您可以选择来自众多人工智能 (AI) 公司的高性能基础模型 (FM),从而更轻松地构建和扩展生成式人工智能应用程序。其中一些模型提供公开可用的权重,可以针对特定用例进行微调和定制。

Amazon Bedrock 在预览版中已经支持导入自定义权重的功能,并使用按需模式提供自定义模型。您可以从 Amazon SageMaker 和 Amazon Simple Storage Service(Amazon S3)导入具有 Hugging Face 安全张量 格式权重的模型。

通过这种方式,您可以将 Amazon Bedrock 与现有的自定义模型(例如 Code Llama,一种 Llama 2 的代码专用版本,是通过在特定于代码的数据集上进一步训练 Llama 2 创建的)结合使用,或者使用您的数据根据自己的独特业务案例微调模型,并将生成的模型导入到 Amazon Bedrock 中。

接下来看看该功能的实际应用。

视频教程

文档教程

在 Amazon Bedrock 控制台 中,从导航窗格的基础模型部分选择导入的模型。现在,可以通过从 Amazon Simple Storage Service(Amazon S3)存储桶或 Amazon SageMaker 模型导入模型权重来创建自定义模型。

选择从 S3 存储桶导入模型权重。在另一个浏览器选项卡中,使用提供安全张量格式权重的拉取请求(PR)从 Hugging Face 网站下载 MistralLite 模型。拉取请求 目前已准备好合并,因此当您阅读本文时,它可能是主分支的一部分。MistralLite 是一款经过微调的 Mistral-7B-v0.1 语言模型,具有处理包含多达 32000 个令牌的长上下文的增强功能。

下载完成后,将文件上传到将在其中导入模型的同一 AWS 区域 的 S3 存储桶中。以下是 Amazon S3 控制台中的 MistralLite 模型文件:

回到 Amazon Bedrock 控制台,输入模型的名称并保留建议的导入作业名称。

在模型导入设置中选择模型权重,然后浏览 S3 以选择上传模型权重的位置。

为了授权 Amazon Bedrock 访问 S3 存储桶上的文件,选择创建和使用新的 AWS Identity and Access Management(IAM)服务角色的选项。使用查看权限详细信息链接来检查角色中的内容。然后,提交作业。

大约十分钟后,导入任务完成。

在控制台中看到了导入的模型。该列表还显示了模型的  Amazon 资源名称(ARN)和创建日期。
选择模型以获取更多信息,例如模型文件的 S3 位置。

在模型详细信息页面中,选择在操场中打开以在控制台中测试模型。在文本操场中,使用模型的提示模板键入一个问题:

<|prompter|>What are the main challenges to support a long context for LLM?</s><|assistant|>

MistralLite 导入的模型可以快速回答并描述其中的一些挑战。

在操场中,可以使用温度和最大长度等配置来调整用例的响应,或者添加特定于导入模型的停止序列。

为了查看 API 请求的语法,选择操场右上角的三个垂直小点。

选择查看 API 语法并使用 AWS 命令行界面(AWS CLI)运行命令:

aws bedrock-runtime invoke-model \
--model-id arn:aws:bedrock:us-east-1:123412341234:imported-model/a82bkefgp20f \
--body "{\"prompt\":\"<|prompter|>What are the main challenges to support a long context for LLM?</s><|assistant|>\",\"max_tokens\":512,\"top_k\":200,\"top_p\":0.9,\"stop\":[],\"temperature\":0.5}" \
--cli-binary-format raw-in-base64-out \
--region us-east-1 \
invoke-model-output.txt

输出与在操场中获得的输出类似。如您所见,对于导入的模型,模型 ID 是所导入模型的 ARN。可以使用模型 ID 通过 AWS CLI 和 AWS SDK 调用导入的模型。

注意事项

您可以将自己支持的模型架构的权重引入 AWS 区域 美国东部(弗吉尼亚州北部)的 Amazon Bedrock。模型导入功能当前提供预览版。

使用自定义权重时,Amazon Bedrock 通过按需模式为模型提供服务,您只需按使用量付费,没有基于时间的期限承诺。有关详细信息,请参阅 Amazon Bedrock 定价

导入模型的功能使用 AWS Identity and Access Management(IAM)进行管理,您只能向组织中需要此功能的角色授予此功能。

了解详情: