欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 在亚马逊云科技上云原生部署DeepSeek-R1模型(上)

在亚马逊云科技上云原生部署DeepSeek-R1模型(上)

2025/2/8 16:17:54 来源:https://blog.csdn.net/m0_66628975/article/details/145492477  浏览:    关键词:在亚马逊云科技上云原生部署DeepSeek-R1模型(上)

DeepSeek-R1在开源版本发布的第二天就登陆了亚马逊云科技AWS云平台,这个速度另小李哥十分震惊。这又让我想起了在亚马逊云科技全球云计算大会re:Invent2025里,亚马逊CEO Andy Jassy说过的:随着目前生成式AI应用规模的扩大,云计算的成本变得至关重要,大家都在寻求具有高性价比的AI模型。其次开发一个真正优质生成式AI应用真的不容易,当我们自由选择 AI 模型开发应用时,最终会形成多元化的模型生态。这说明:不会存在一个通用模型能满足所有需求。

同时他也提到了亚马逊云科技提供的广泛而深入的模型选择,让客户可以精准匹配业务需求。通过密切关注客户需求与技术发展,亚马逊云科技也在不断扩展精选模型库,既包括行业领先的主流模型,也引入了最新的优秀模型。这种高性能、差异化的模型组合,帮助开发者和企业始终站在AI 创新的前沿。这就是DeepSeek-R1能这么快登录亚马逊云科技平台的核心原因。

DeepSeek-R1模型现已登陆亚马逊云科技

位于杭州的AI初创公司DeepSeek于2024年12月发布了DeepSeek-V3,随后在2025年1月20日推出 DeepSeek-R1、DeepSeek-R1-Zero(6710 亿参数)和DeepSeek-R1-Distill(1.5–70 亿参数),并在1月27日推出了视觉AI模型Janus-Pro-7B。这些模型现已全面开放,并比同类模型的成本便宜90-95%!同时DeepSeek模型以卓越的推理能力从各大海外的AI模型中脱颖而出,一发冲天,这得益于其强化学习(RL)等创新的训练方法。

好消息是现在大家可以在Amazon Bedrock和Amazon SageMaker AI训练、部署和使用DeepSeek-R1模型了:

  • Amazon Bedrock适合希望通过API快速集成DeepSeek预训练基础模型的开发者。
  • Amazon SageMaker AI适用于需要深度定制、训练和部署DeepSeek,并希望直接访问底层基础设施的开发者。
  • AWS Trainium和AWS Inferentia芯片目前也支持DeepSeek-R1-Distill蒸馏模型,可在Amazon EC2或Amazon SageMaker AI上经济高效地运行推理任务。

借助亚马逊云科技,大家可以以最低的云计算基础设施投入,利用DeepSeek-R1模型构建、测试,并安全地扩展大家的生成式AI应用。大家还可以结合Amazon Bedrock Guardrails,为AI应用提供额外的安全防护,确保符合开发者们业务场景的AI安全策略。目前大家可以通过以下方式,在亚马逊云科技上部署DeepSeek-R1:

Amazon Bedrock Marketplace(适用于DeepSeek-R1模型)

Amazon SageMaker JumpStart(适用于DeepSeek-R1模型)

Amazon Bedrock 自定义模型导入(适用于DeepSeek-R1-Distill)

Amazon EC2 Trn1实例(适用于DeepSeek-R1-Distill)

在Amazon Bedrock Marketplace模型市场里部署DeepSeek-R1

Amazon Bedrock Marketplace目前提供全球超过100+个热门、新兴及专业化基础模型,涵盖各种行业领先的AI模型。大家可以在控制台的模型目录中快速发现、订阅并部署适合大家需求的模型。

使用ApplyGuardrail API实现DeepSeek-R1的安全调用

Amazon Bedrock也允许大家引入安全防护措施更安全的访问DeepSeek模型,防止生成有害内容,并针对关键安全指标评估模型。大家也可以使用代码调用Amazon Bedrock ApplyGuardrail API,为 DeepSeek-R1模型实现安全防护措施,评估用户输入和模型响应。大家可以使用 Amazon Bedrock控制台或直接通过代码API创建安全防护策略。创建安全防护的示例代码可以在亚马逊云科技GitHub示例代码仓库找到。Guardrail的工作流程原理如下:

  1. 系统接收用户输入,并将其发送至ApplyGuardrail API进行审核。
  2. 输入通过审核后,才会发送到模型进行推理。
  3. 模型返回输出后,再次经过ApplyGuardrail API对输出进行安全检查。
  4. 如果输出通过审核,最终结果会返回给用户。
  5. 如果输入或输出未通过审核,系统会返回一条消息,说明拦截原因,并指明干预发生在输入阶段还是输出阶段。

 

开始部署DeepSeek-R1

如果大家想要在Amazon Bedrock中访问DeepSeek-R1,请完成以下步骤:

1. 在Amazon Bedrock控制台的导航面板中,选择Foundation models下的Model catalog。大家同样也可以使用亚马逊云科技SDK,通过代码中的InvokeModel API调用该模型。该模型目前不支持Converse API或其他 Amazon Bedrock功能。
2. 筛选提供商为DeepSeek,并选择DeepSeek-R1模型。

模型详细信息页面提供了有关模型功能、定价结构和实施指南的多种基本信息。大家可以找到详细的使用说明,包括示例API调用语句代和集成的代码片段。该模型利用强化学习优化和CoT推理能力,支持多种文本生成任务,包括内容创作、代码生成和问答。
该页面同时还包含部署选项和许可信息,帮助大家在应用程序中快速使用上手DeepSeek-R1。

3. 接下来点击Deploy开始使用DeepSeek-R1

系统将提示大家需要为DeepSeek-R1的部署进行资源配置,模型的ID将被自动填充进配置。
4. 在Endpoint name字段输入一个端点名称(1–50 个字母数字字符)。
5. 在Number of instances字段输入要部署的计算服务器数量(1–100 之间)。
6. 在Instance type字段选择的计算服务器实例类型。如果想体验DeepSeek-R1的最佳性能,建议大家使用GPU实例类型,例如ml.p5e.48xlarge。


7. 同时建议大家在高级选项中,也进行安全和底层环境的配置,包括虚拟私有云(VPC)网络、IAM访问角色权限和数据加密设置。对于大多数场景,默认的设置就已经足够了。但对于生产环境的部署,大家需要设计好这些设置,以确保它们符合大家业务和组织内部的安全和合规要求。
8. 选择 Deploy 以开始使用该模型。

9. 在部署完成后,大家就可以直接在Amazon Bedrock playground中测试DeepSeek-R1的输出和性能。先选择Open in playground进入用户交互式界面,我们输入提示词,并调整模型参数,如 temperature 和 maximum length等。
在Bedrock中使用R1时,我建议大家使用DeepSeek的预制聊天提示词模板,这样可以获得更好的回复效果。模板如下:

<|begin▁of▁sentence|><|User|>content for inference<|Assistant|>


在大家集成DeepSeek到AI应用之前,可以通过playground快速测试模型的响应,并优化提示词。

使用Python代码调用DeepSeek-R1生成推理回复

以下的代码段介绍了如何通过Python的形式调用Amazon Bedrock的invoke_model和ApplyGuardrail API两个API进行推理生成回复。该Python代码段初始化了bedrock_runtime客户端,配置了推理参数,并发送包含提示词的请求生成文本。

import boto3
import json
from enum import Enum# Initialize Bedrock client
bedrock_runtime = boto3.client("bedrock-runtime")# Configuration
MODEL_ID = "your-model-id"  # Bedrock model ID
GUARDRAIL_ID = "your-guardrail-id"
GUARDRAIL_VERSION = "your-guardrail-version"class ChatTemplate(Enum):LLAMA = "llama"QWEN = "qwen"DEEPSEEK = "deepseek"def format_prompt(prompt, template):"""Format prompt according to model chat template"""templates = {ChatTemplate.LLAMA: f"""<|begin_of_text|><|start_header_id|>system<|end_header_id|>
You are a helpful assistant<|eot_id|><|start_header_id|>user<|end_header_id|>
{prompt}<|eot_id|><|start_header_id|>assistant<|end_header_id|>""",ChatTemplate.QWEN: f"""<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant""",ChatTemplate.DEEPSEEK: f"""You are a helpful assistant <|User|>{prompt}<|Assistant|>"""}return templates[template]def invoke_with_guardrails(prompt, template=ChatTemplate.DEEPSEEK, max_tokens=1000, temperature=0.6, top_p=0.9):"""Invoke Bedrock model with input and output guardrails"""# Apply input guardrailsinput_guardrail = bedrock_runtime.apply_guardrail(guardrailIdentifier=GUARDRAIL_ID,guardrailVersion=GUARDRAIL_VERSION,source='INPUT',content=[{"text": {"text": prompt}}])if input_guardrail['action'] == 'GUARDRAIL_INTERVENED':return f"Input blocked: {input_guardrail['outputs'][0]['text']}"# Format prompt with selected templateformatted_prompt = format_prompt(prompt, template)# Prepare model inputrequest_body = {"inputs": formatted_prompt,"parameters": {"max_new_tokens": max_tokens,"top_p": top_p,"temperature": temperature}}# Invoke modelresponse = bedrock_runtime.invoke_model(modelId=MODEL_ID,body=json.dumps(request_body))# Parse model responsemodel_output = json.loads(response['body'].read())['generated_text']# Apply output guardrailsoutput_guardrail = bedrock_runtime.apply_guardrail(guardrailIdentifier=GUARDRAIL_ID,guardrailVersion=GUARDRAIL_VERSION,source='OUTPUT',content=[{"text": {"text": model_output}}])if output_guardrail['action'] == 'GUARDRAIL_INTERVENED':return f"Output blocked: {output_guardrail['outputs'][0]['text']}"return model_output# Example usage
if __name__ == "__main__":prompt = "What's 1+1?"result = invoke_with_guardrails(prompt, template=ChatTemplate.DEEPSEEK)print(result)

以上就是在亚马逊云科技上云原生部署DeepSeek-R1模型的上篇内容,我们在本篇中通过Amazon Bedrock部署并测试了DeepSeek模型,在下篇中小李哥将继续介绍,如何利用Amazon Sagemaker JumpStart通过脚本的形式轻松一键部署DeepSeek预训练模型,请大家关注小李哥,不要错过云原生AI开发方案的更多精彩内容。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com