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

作者:Danilo Poccia 发表于 2024年4月23日,分类:Amazon Bedrock、Amazon SageMaker、公告、人工智能、生成性 AI、发布、新闻。 永久链接 分享

关键要点

Amazon Bedrock 现已支持导入自定义模型权重,用户能够方便地将自定义权重应用于多种模型架构,如 Meta Llama、Mixtral 等。用户可以通过 Amazon SageMaker 或 Amazon S3 导入模型,并选择按需模式服务自定义模型。导入过程简便,用户可在 Amazon Bedrock 控制台进行一系列操作。

在Amazon Bedrock中,您可以选择来自多家领先人工智能AI公司的高性能基础模型,便于构建和扩展生成性 AI 应用。这些模型提供公开可用的权重,您可以根据特定用例进行微调和定制。然而,以安全和可扩展的方式部署定制的基础模型并不容易。

从今天起,Amazon Bedrock 预览版新增了支持的模型架构例如Meta Llama 2、Llama 3 和 Mistral的自定义权重导入功能,用户可以使用按需模式提供自定义模型。您可以从 Amazon SageMaker 和 Amazon 简单存储服务 (Amazon S3) 导入 safetensors 格式的模型权重。

通过这种方式,您可以在 Amazon Bedrock 中使用现有定制模型,例如Code Llama,这是经过进一步训练的 Llama 2 代码专用版本,或者使用自己的数据对模型进行微调,从而导入到 Amazon Bedrock 中。

让我们看看这个过程在实际应用中的表现。

在 Amazon Bedrock预览版中导入自定义模型 新闻博客

将自定义模型引入 Amazon Bedrock

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

我决定从 S3 存储桶中导入模型权重。在另一个浏览器标签页中,我使用这个 Pull Request (PR) 下载自 Hugging Face 网站的 MistralLite 模型,该 PR 提供了 safetensors 格式的权重。该 Pull Request 当前标记为 准备合并 ,因此您在阅读时可能会有所更改。MistralLite 是一个经过微调的 Mistral7Bv01 语言模型,具备处理最长上下文达 32K tokens 的能力。

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

回到 Amazon Bedrock 控制台,我输入模型的名称,并保持所提议的导入作业名称。

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

魔方加速器官网入口

为了授权 Amazon Bedrock 访问 S3 存储桶中的文件,我选择创建并使用一个新的 AWS 身份与访问管理 (IAM) 服务角色。在此过程中,我使用 查看权限详情 链接来检查该角色的内容。然后,我提交作业。

大约十分钟后,导入作业完成。

现在,我可以在控制台中看到已导入的模型。列表中还显示了模型的 Amazon 资源名称 (ARN) 和创建日期。

我选择该模型以获取更多信息,例如模型文件的 S3 位置。

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

ltpromptergt 支持 LLM 长上下文的主要挑战是什么?lt/sgtltassistantgt

MistralLite 导入的模型快速回应,并描述了一些这些挑战。

在测试环境中,我可以使用温度、最大长度等配置,针对我的用例调整响应,或者添加进口模型特有的停止序列。

为了查看 API 请求的语法,我在测试环境的右上角选择三个小竖点。

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

bashaws bedrockruntime invokemodel modelid arnawsbedrockuseast1123412341234importedmodel/a82bkefgp20f body {promptltpromptergt 支持 LLM 长上下文的主要挑战是什么?lt/sgtltassistantgtmaxtokens512topk200topp09stop[]temperature05} clibinaryformat rawinbase64out region useast1 invokemodeloutputtxt

输出与我在测试环境中获得的相似。正如您所见,对导入的模型,模型 ID 就是导入模型的 ARN。我可以使用模型 ID 通过 AWS CLI 和 AWS SDKs 调用导入模型。

注意事项

您可以将支持的模型架构的自定义权重导入到 Amazon Bedrock 中,当前仅支持美国东部 (弗吉尼亚北部) AWS 区域。模型导入功能目前处于预览状态。

使用自定义权重时,Amazon Bedrock 采用按需模式提供模型,您只需为所用部分付费,无需时间期限的承诺。详细信息请参见 Amazon Bedrock 定价。

模型导入的能力使用 AWS 身份和访问管理 (IAM) 进行管理,您也可以仅允许组织中需要此功能的角色访问。

随着此发布,使用内置安全性和隐私的自定义模型构建和扩展生成性 AI 应用变得更为容易。

想了解更多:

请查看 Amazon Bedrock 用户指南。访问我们的 communityaws 网站,了解深入的技术内容,并发现其他人如何在他们的解决方案中使用 Amazon Bedrock。

Danilo

Danilo Poccia

Danilo 与初创公司和各类规模的公司合作,支持他们的创新。在任职于亚马逊网络服务的首席布道者EMEA期间,他利用自己的经验帮助人们将想法变为现实,专注于无服务器架构、事件驱动编程以及机器学习和边缘计算的技术和商业影响。他是 Manning 出版的《AWS Lambda in Action》的作者。

订阅邮箱