亚马逊AWS官方博客

在 Amazon Bedrock 中导入自定义模型(预览版)



借助 Amazon Bedrock,借助 Amazon Bedrock,您可以选择来自领先人工智能(AI)公司的高性能基础模型(FM),从而更轻松地构建和扩展生成式人工智能应用程序。其中一些模型提供公开可用的权重,可以针对特定用例进行微调和定制。但是,以安全且可扩展的方式部署自定义 FM 并不是一件容易的事。

即日起,Amazon Bedrock 在预览版中添加了为支持的模型架构(例如 Meta Llama 2、Llama 3Mistral)导入自定义权重的功能,并使用按需模式提供自定义模型。您可以从 Amazon SageMakerAmazon Simple Storage Service(Amazon S3)导入具有 Hugging Face 安全张量格式权重的模型。

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

我们来看看该功能的实际应用。

在 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)进行管理,您只能向组织中需要此功能的角色授予此功能。

此次发布后,可以更轻松地使用内置安全和隐私的自定义模型构建和扩展生成式人工智能应用程序。

了解详情:

Danilo