以 Serverless 低成本的⽅式 快速在亚马逊云科技上部署 DeepSeek

2025年春节,最令人瞩目的无疑是DeepSeek的惊艳亮相,它以颠覆性的创新迅速席卷全球,成为街谈巷议的热点。无论是在地铁车厢里,还是公司茶水间,DeepSeek都成了人们津津乐道的话题。社交平台上,网友们争相分享与DeepSeek的"互动瞬间",从探讨未来科技趋势到交流生活小窍门,仿佛一切问题都能通过DeepSeek找到答案。

DeepSeek R1模型是DeepSeek研发的一款高效AI语言模型,能够以极低的成本提供媲美大规模基础模型的性能。它适用于各种AI任务,包括自然语言处理(NLP)、智能客服、知识问答等。

相比传统大规模AI模型,DeepSeek R1计算资源占用更低,推理速度更快,成本更可控。

亚马逊云科技部署DeepSeek的优势

北京时间1月31日,亚马逊宣布已经把DeepSeek - R1纳入其平台,DeepSeek-R1模型现在在亚马逊的云服务上可用。

现在集成了DeepSeek-R1,亚马逊云科技仅按基础设施使用时间收费,延续了亚马逊云科技一贯的弹性计费方式,降低了用户(尤其是中小企业和初创公司)的试错成本。为用户提供更高效、更经济的人工智能解决方案,强化了其作为全栈服务商的定位,有助于抵御竞争对手的AI生态攻势。

如何在亚马逊云科技部署DeepSeek

在亚马逊云科技部署 DeepSeek-R1 模型的路径包括:

  1. Amazon Bedrock Marketplace 中的 DeepSeek-R1 模型

  2. Amazon SageMaker JumpStart 中的 DeepSeek-R1 模型

  3. 使⽤ AWS Trainium 和 AWS Inferentia 部署 DeepSeek-R1--Distill 模型

  4. 使⽤ Amazon Bedrock ⾃定义模型导⼊功能部署 DeepSeek-R1--Distill 模型

上述路径中 ,1/2/3均需要使⽤⼀台亚马逊云科技GPU服务器作为基底部署,即使是对于7B的蒸馏版DeepSeek-R1,也⾄少需要⼀台 g6e.2xlarge服务器,每⽉费⽤为1636.72 美元。

因此本⽂着重介绍其中第四点 ,这是⼀种⽆服务器的部署⽅式,⽆需管理底层基础设施,模型单元⾃动扩展,按实际使⽤量计费。

定价⽰例:

在us-east-1区域导⼊⼀个8B参数的DeepSeek-R1 模型,序列⻓度为128K,并在1个⽉后删除该模型。这需要2个⾃定义模型单元,每分钟的价格为0.1570美元,每⽉的模型存储费⽤为3.90美元。

01 前期准备

Bedrock的⾃定义模型功能只⽀持以下两个区域,因此请确保当前亚马逊云科技控制台已切换⾄正确的区域:

  • 弗吉尼亚北部 us-east-1

  • 俄勒冈州 us-west-2

  1. ⼀个S3存储桶⽤来存储从HuggingFace下载的DeepSeek模型包 ,⽅便导⼊ Bedrock。

  2. ⼀个EC2角⾊⽤来允许EC2服务器读写S3桶 ,⽅便从HuggingFace下载了模型之 后 ,导⼊S3中。

  3. ⼀台EC2服务器⽤来进⾏中转 ,从HuggingFace下载模型并上传⾄S3。该服务器 的存储空间建议为:8B模型⾄少50GB ,70B模型⾄少300GB。

02

模型导入

通过SSH⼯具登录刚才创建的EC2服务器,然后按照以下流程执⾏。

・更新Ubuntu系统的软件包列表,确保能获取最新的软件包信息

复制代码
sudo apt-get update

・安装Amazon CLI

复制代码
sudo apt-get install awscli

・安装Git Large File Storage (LFS) ,这是⼀个Git的扩展 ,⽤于处理⼤⽂件下载

复制代码
sudo apt-get install git-lfs

・检查Git LFS的版本 ,确认安装成功

复制代码
git lfs version

・初始化Git LFS

复制代码
git lfs install

・从HuggingFace仓库下载模型⽂件,使⽤Git LFS克隆8B参数的DeepSeek模型

复制代码
git lfs clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Ll ama-8B

・如果需要使⽤70B模型则使⽤这条命令

复制代码
git lfs clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Disti ll-Llama-70B

・检查下载的8B模型⽂件夹的总⼤⼩ ,8B模型⾄少17GB ,70B模型⾄少135GB

复制代码
du -sh DeepSeek-R1-Distill-Llama-8B/

・使⽤Amazon CLI将下载的8B模型⽂件上传到Amazon S3存储桶 命令中的<s3< span=""> URI>需要替换为模型存储位置的S3 URI

复制代码
aws s3 cp ./DeepSeek-R1-Distill-Llama-8B/<s3< span=""> URI> --recursive

・在S3中的⽂件列表应当如下图所⽰

03 在Bedrock倒入模型

・导航⾄Bedrock控制台,找到"导⼊的模型ˮ → "导⼊模型ˮ

・⾃定义⼀个模型名称

・在"模型导⼊设置ˮ⾥填写模型存储的S3 URI。 或者使⽤ "浏览S3ˮ⼯具 ,可视化选 择路径

・通常等到5-30分钟后 ,可以看到模型导⼊完成 请记录此处的模型ARN ,后续调⽤时会⽤到

04 调入导入的Bedrock自定义模型

・通过发送InvokeModel或 InvokeModelWithResponseStream请求,可以通过 API 对导⼊的模型运⾏推理。请参考⽂档:

https://docs.aws.amazon.com/bedrock/latest/userguide/inference- invoke.html

・Amazon CLI 调⽤ InvokeModel API ⽰例 ,请修改此处<model-arn>

复制代码
aws bedrock-runtime invoke-model \ --model-id <model-arn> \--body '{"prompt": "\n\nHuman: 你好 ,你是谁\n\nAssistant:", "max_to kens_to_sample" : 1024}' \--cli-binary-format raw-in-base64-out \ invoke-model-output.txt

使⽤ InvokeModelWithResponseStream API 通过 Python ⽣成流式回复

复制代码
import boto3 import jsonbrt = boto3.client(service_name='bedrock-runtime')body = json.dumps({'prompt': '\n\nHuman: 写⼀篇关于AI改变世界的⽂章\n\nAssistant:','max_tokens_to_sample': 4000 })response = brt.invoke_model_with_ response_stream( modelId='<model-arn>',body=body )stream = response.get('body') if stream:for event in stream:chunk = event.get('chunk') if chunk:print(json.loads(chunk.get('bytes').decode()))
相关推荐
半部论语6 天前
StarRocks vs Doris:深度剖析与选型分析
数据仓库·big data
晴天彩虹雨9 天前
Hive & Presto SQL 查询优化指南
数据仓库·hive·hadoop·sql·big data
不羁的fang少年23 天前
elasticsearch学习
大数据·elasticsearch·big data
Ray.19981 个月前
Flink 中的滚动策略(Rolling Policy)
hive·flink·spark·kafka·big data
胡耀超2 个月前
数据中台是什么?:架构演进、业务整合、方向演进
大数据·数据治理·big data·数据中台
灰灰老师2 个月前
数据分析系列--④RapidMiner进行关联分析(案例)
机器学习·ai·数据分析·big data·rapidminer
牛十二2 个月前
在 Ubuntu22.04 上安装 Splunk
中间件·金融·big data·etl·devops
wumingxiaoyao2 个月前
Flink 应用
大数据·flink·big data·分布式流处理·实时流处理
杨超越luckly2 个月前
HTML应用指南:利用GET请求获取星巴克门店数据
前端·数据挖掘·数据分析·html·big data