Amazon Bedrock如何自定义导入DeepSeek?

用自定义模型导入功能,在Amazon Bedrock上部署DeepSeek-R1 Distill Llama模型,无缝集成至Amazon Bedrock环境中,充分利用Amazon Bedrock的Serverless基础设施和统一API。


准备

模型兼容

DeepSeek R1 Distill模型需要基于可支持的架构,Amazon Bedrock支持这些架构进行自定义模型导入,如Llama 2、Llama 3、Llama 3.1、Llama 3.2或Llama 3.3。

准备文件

以Hugging Face格式准备必要的模型文件,并且存储在您的亚马逊云科技账户可访问的Amazon S3存储桶中。由于模型已以安全张量格式提供,无需单独准备文件。

  • .safetensors格式的模型权重。

  • 配置文件(config.json)。

  • Tokenizer文件(tokenizer_config.json、tokenizer.json、tokenizer.model)。


 交互式Jupyter Notebook

复制下方链接,查看如何在Amazon Bedrock上部署DeepSeek-R1.ipynb

Deploy-DeepSeek-R1-On-Amazon-Bedrock.ipynb

https://github.com/manu-mishra/DeepSeekR1onAmazonBedrock/blob/main/Deploy-DeepSeek-R1-On-Amazon-Bedrock.ipynb


 部署步骤

安装所需软件包

首先安装必要的Python软件:

pip install huggingface_hub boto3

下载DeepSeek R1模型 

使用Hugging Face Hub下载特定DeepSeek R1模型。如,下载DeepSeek-R1-Distill-Llama-8B模型,示例如下: ​​​​​​​

1 from huggingface_hub import snapshot_download 2
3 model_id = "deepseek-ai/DeepSeek-R1-Distill-Llama-8B"4 local_dir = snapshot_download(repo_id=model_id, local_dir="DeepSeek-R1-Distill-Llama-8B")

将模型文件上传到Amazon S3 

将下载的模型文件上传到亚马逊云科技账户中的Amazon S3存储桶,上传前请确保该存储桶位于Amazon Bedrock支持的区域,例如us-east-1或us-west-2。​​​​​​​

import boto3import os
s3_client = boto3.client('s3', region_name='us-east-1')bucket_name = 'your-s3-bucket-name'local_directory = 'DeepSeek-R1-Distill-Llama-8B'
for root, dirs, files in os.walk(local_directory):    for file in files:        local_path = os.path.join(root, file)        s3_key = os.path.relpath(local_path, local_directory)        s3_client.upload_file(local_path, bucket_name, s3_key)

 将模型导入Amazon Bedrock 

在Amazon Bedrock控制启动新模型导入任务:

  • 在Amazon Bedrock控制台中,选择“自定义模型”并选择“导入模型”。

  • 提供存储模型文件的Amazon S3 URI(例如,s3://your-s3-bucket-name/DeepSeek-R1-Distill-Llama-8B/)。

  • 按照提示完成导入。

详细操作,可参阅关于导入自定义模型的亚马逊云科技文档。

调用模型

完成上述步骤后,即可使用Amazon Bedrock API调用模型。​​​​​​​

import boto3import json
client = boto3.client('bedrock-runtime', region_name='us-east-1')model_id = 'arn:aws:bedrock:us-east-1:your-account-id:imported-model/your-model-id'prompt = "Your input prompt here"
response = client.invoke_model(    modelId=model_id,    body=json.dumps({'prompt': prompt}),    accept='application/json',    contentType='application/json')
result = json.loads(response['body'].read().decode('utf-8'))print(result) 

 将“your-account-id”和“your-model-id”分别替换为您特定的亚马逊云科技账户ID和模型ID。


总 结 

按照上述步骤,即可在Amazon Bedrock上有效部署DeepSeek R1 DIstill Llama模型,利用其Serverless基础设施和统一API,来实现可扩展的高效模型推理。


有趣分享:

自定义模型导入功能允许在Amazon Bedrock的基础设施上使用外部微调的模型。

DeepSeek R1模型应基于支持的架构,例如Llama 2、Llama 3、Llama 3.1、Llama 3.2或Llama 3.3。

准备模型文件以Hugging Face格式准备您的模型文件,并将它们存储在Amazon S3中。

Constellation Research分析师Holger Mueller,分析评论表示:“亚马逊云科技在支持DeepSeek方面毫不迟疑,致力于保持其作为所有大语言模型(大型和小型)的“中立之地”的地位。”并进一步分析说:“首席信息安全官(CISO)可能会对任何企业级访问都表示担忧,但AI和数据科学群体,对亚马逊云科技支持DeepSeek的举措表现出浓厚的兴趣。”

猜你喜欢

转载自blog.csdn.net/awscloud/article/details/145402091#comments_36146628