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

NEWS

@Builders、云计算从业者与爱好者们不容错过的年度必看科技盛会!点击下方小程序即刻参会!

68ce468cf7b3e551e2a93939ad54c4dd.png

6f728ff99b281ae5976d2cd382b574e9.png

使用 Amazon Bedrock,你可以访问来自领先人工智能公司的一系列高性能基础模型(FMs),这些模型可以更轻松地构建和扩展生成式 AI 应用程序。其中一些模型提供可公开获取的权重,可以针对特定用例进行微调和定制。但是,以安全和可扩展的方式部署定制的 FMs 并非易事。

如今 Amazon Bedrock 增加了预览版功能,可以为受支持的模型架构(如 Meta Llama 2、Llama 3 和 Mistral)导入自定义权重,并使用 On-Demand 模式提供自定义模型。你可以从 Amazon SageMaker 和 Amazon Simple Storage Service (Amazon S3) 导入 Hugging Face safetensors 格式的模型权重。

通过这种方式,你可以在 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 模型,该拉取请求提供了 safetensors 格式的权重。拉取请求目前处于“准备合并”状态,所以当你阅读本文时它可能已经是主分支的一部分。MistralLite 是经过微调的 Mistral-7B-v0.1 语言模型,具有处理最长 32K 个令牌上下文的增强能力。

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

912e8595f59ba45638d3797c6dd39095.png

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

3585923264a24f2399ced010d02e1ecc.png

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

cd3d2984dbd492b39c0f6261a7c99d0a.png

为了授权 Amazon Bedrock 访问 S3 存储桶上的文件,我选择创建并使用新的 Amazon Identity and Access Management (IAM) 服务角色的选项。我使用“查看权限详情”链接来检查角色将包含什么内容。然后,我提交作业。

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

404316dd2fd4693dbd58abdfc0f11d52.png

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

cec9960a5ee60cad0efba3ee61787a98.png

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

0ab96002c0593863894ee7f6fce9257b.png

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

<|prompter|>支持LLM长上下文有哪些主要挑战?<|assistant|>

导入的 MistralLite 模型很快就做出了回应,并描述了一些挑战。

9c396d6934f2400590d579fafdabd669.png

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

要查看 API 请求的语法,我选择 Playground 右上角的三个小垂直点。

9ce9133b2cdb61dff7b19692f94871f5.png

我选择“查看API语法”,并使用 Amazon Command Line Interface (Amazon CLI) 运行命令:

Amazon Web Services bedrock-runtime invoke-model \ 
–model-id arn:亚马逊云科技:bedrock:us-east-1:123412341234:imported-model/a82bkefgp20f \ 
–body “{"prompt":"<|prompter|>支持LLM长上下文有哪些主要挑战?<|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

输出与我在 Playground 中获得的类似。如你所见,对于导入的模型,模型 ID 是导入模型的 ARN。我可以使用模型 ID 与 Amazon CLI 和 Amazon SDK 调用导入的模型。

需要了解的事项

你可以为 Amazon Bedrock 支持的模型架构在美国东部(弗吉尼亚州北部)亚马逊云科技区域中引入自己的权重。模型导入功能目前处于预览阶段。

使用自定义权重时,Amazon Bedrock 以 On-Demand 模式提供该模型,你只需为所使用的部分付费,无需承诺基于时间的任何期限。有关详细信息,请参阅 Amazon Bedrock 定价:

https://aws.amazon.com/bedrock/pricing/

导入模型的能力由 Amazon Identity and Access Management (IAM) 管理,你可以仅允许你组织中需要此功能的角色使用它。

通过这次发布,使用内置安全性和隐私性的自定义模型构建和扩展生成式 AI 应用程序变得更加容易。

了解更多信息:

  • 参阅 Amazon Bedrock用户指南:

    https://docs.aws.amazon.com/bedrock/latest/userguide/what-is-bedrock.html

  • 访问我们的开发者社区站点,找到深入的技术内容,并了解其他人如何在他们的解决方案中使用Amazon Bedrock:

    https://community.aws/generative-ai?trk=e8665609-785f-4bbe-86e8-750a3d3e9e61&sc_channel=el

点击阅读原文查看博客,获得更详细内容!

本篇作者

fddd2b1ae9a4802a12c3dae7e1332e1d.jpeg

Danilo Poccia

Danilo 与初创公司和不同规模的公司合作,支持他们的创新。作为亚马逊云科技的首席布道师 (EMEA),他利用自己的经验帮助人们将想法变为现实,专注于无服务器架构、事件驱动编程以及机器学习和边缘计算的技术和商业影响。他是 Manning 出版的《Amazon Web Services Lambda in Action》一书的作者。

年度必看的科技盛会

点击下方小程序即刻参会!

f4b0ae71c2ad908ab0b3d8280b368a5c.jpeg

280f6f148619400d84ef1d875d2ba4f1.gif

听说,点完下面4个按钮

就不会碰到bug了!

4d5e465648e713acd915ae8b0cb1e619.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值