火山引擎云上实战:一键部署 DeepSeek 大模型(蒸馏版)

大模型容器云安全

点击上方👆蓝字关注我们!

picture.image

DeepSeek 是由中国 AI 初创公司深度求索(DeepSeek)发布的大语言模型。其主要的开源模型包含:

  • DeepSeek-V3 :通用大语言大模型(MoE 结构,671B 参数,激活参数 37B),在 14.8T token 上进行了预训练,可以提供信息检索、数据分析、自然语言处理等服务,能够适应多种应用场景,如客户服务、教育辅导、内容创作等;
  • DeepSeek-R1 :基于 DeepSeek-V3-Base 训练生成的推理模型,擅长数学、代码和自然语言推理等复杂任务,能够在复杂环境中稳定运行并完成指定任务,适用于工业自动化、家庭服务机器人等领域;
  • DeepSeek-R1-Distill :基于 DeepSeek-R1 生成的 800K 样本对原开源模型进行微调得到的新模型,适合资源受限的场景,相比 DeepSeek-R1 具有更小的体积和更低的能耗,同时保持较高的性能,便于部署在更多样化的设备上。

本文将介绍 三种 在火山引擎云上快速部署 DeepSeek-R1-Distill 模型服务的方案:

  • 基于 GPU 云服务器、容器服务 VKE、持续交付 CP 的云原生化 AI 部署方案,可以为模型提供更强的水平扩展能力;

  • 基于函数服务 veFaaS 的 Serverless 化方案,优势是具备更强的灵活性和便捷性;

  • 基于开源 Terraform 的一键部署方案,用户只需复制脚本代码并执行,即可安全、高效地完成基于 ECS 的部署。

方案一:容器化部署

在企业级生产环境中,将容器与 AI 技术相结合可以显著缩短大模型服务的打包和部署的流程,同时实现计算资源的快速部署和灵活调度。 火山引擎容器服务 VKE 通过深度融合新一代云原生技术,提供以容器为核心的高性能 Kubernetes 容器集群管理服务,可以被用户用于快速构建容器化的 AI 应用。

Step1:创建 VKE 集群

在正式部署 DeepSeek-R1-Distill 模型推理服务前,我们需要先完成 VKE 集群的创建:进入火山引擎容器服务 VKE 工作台: https://console.volcengine.com/vke ,创建托管集群(如下图所示),网络模型建议选择 VPC-CNI:

picture.image

通过内外资源共池,火山引擎能为用户提供海量高弹性、高性价比的算力产品,覆盖丰富型号,以满足企业在依托 AI 技术进行数智化转型过程中对算力的需求。在大模型服务部署场景下,我们推荐使用不同的 GPU ECS 来实现更高的性价比,以 DeepSeek-R1-Distill 为例,下面是对节点配置的一些推荐建议(用户也可以选择整机 8 卡机型运行多个容器的方式来部署模型):

picture.image

注:如需使用 ecs.gni3cg/ecs.gni3cl/ecs.pni3l,欢迎联系客户经理申请

最后,在创建集群过程中,我们需要选择组件配置,这里要额外选择 csi-tos 和 nvidia-device-plugin 两个组件进行安装(相关文档: https://www.volcengine.com/docs/6460/101014 ):

picture.image

Step2:创建部署集群

和此前 FLUX.1、Stable-Diffusion-WebUI 的部署流程类似,在本方案中,我们仍将使用火山引擎持续交付 CP 的 AI 应用功能,它提供预置模板,集成了主流的 AI 框架,封装了操作系统、AI 框架、依赖库等应用环境,可以完成 DeepSeek-R1-Distill 在刚刚创建的容器服务中的快速部署,大幅降低开发难度。

  1. 打开火山引擎持续交付产品工作台: https://console.volcengine.com/cp ,在左侧菜单栏选择 “资源管理-部署资源”,点击“创建部署资源”:

picture.image

  1. 在创建部署资源表单中,“接入类型”选择“容器服务 VKE”;地域以及部署集群选中刚刚我们创建的部署 VKE 集群;共享范围选择所有工作区:

picture.image

Step3:创建 AI 应用

  1. 基础信息配置:在持续交付 CP 工作台左侧菜单栏选择“AI 应用”(邀测功能,欢迎联系客户经理申请),点击“创建应用”:

picture.image

  1. 在应用创建表单中,选择“自定义创建”:

picture.image

  1. 完成应用名、部署集群配置。需要注意的是,这里的部署集群需要选择上面创建的部署集群:

picture.image

  1. 完成启动镜像和模型的配置。针对 DeepSeek-R1-Distill,这里我们可以选择 SGLang 镜像进行部署;模型可以直接选择 “官方模型”中的 DeepSeek-R1-Distill,挂载路径配置为 “/model”:

picture.image

其中,SGLang 默认的启动命令如下所示,用户也可以根据实际推理服务的需求,对默认启动命令做修改。

python3 -m sglang.launch_server --model-path /model --context-length 2048 --trust-remote-code --host 0.0.0.0 --port 8080

  1. 完成推理服务规格配置。实例数选择 1,根据不同参数量的 DeepSeek-R1-Distill,我们可以选择不同的配置,下表是一些推荐建议:

picture.image

picture.image

到这里,我们成功触发了 AI 应用部署,等待约 5 分钟左右,属于你的 DeepSeek-R1-Distill 服务就部署完成了。

Step4:创建负载均衡访问推理服务

火山引擎负载均衡 CLB 是一种将访问流量按策略分发给多台后端服务器的服务,可以扩展系统对外服务能力,消除单点故障,从而提高系统的整体可用性。这里我们使用负载均衡 CLB 来对外暴露服务。

  1. 在 AI 应用页面,点击 “访问设置”:

picture.image

  1. 选择“添加负载均衡”,可以根据需求选择 “公网”或者“内网”,这里以公网为例。选择一个公网 CLB,如果没有公网 CLB,可以点击“创建负载均衡”:

picture.image

  1. 在创建负载均衡时, 私有网络配置必须和之前创建 VKE 集群使用同一个私有网络

picture.image

  1. 完成创建后,选中该负载均衡,完成端口配置,容器端口和之前应用的端口保持一致即可:

picture.image

  1. 完成上述操作后,即可在“访问设置”页面看到公网 IP:

picture.image

到这里,我们就正式完成了 DeepSeek-R1-Distill 的部署和对外暴露,我们可以通过本地 curl 命令(如下方所示)调用 API 来体验大模型的问答能力:

curl -X POST http://你的负载均衡IP/v1/chat/completions -H "Content-Type: application/json" -d '{ \
"model": "/models", \
"messages": [ \
{ \
"role": "user", \
"content": "你对DeepSeek的提问" \
} \
],
"stream": false,
"temperature": 0.7
}'

picture.image

方案二:Serverless 化部署

本文推荐的第二种方案是通过 Serverless 化的方式轻量化部署。火山引擎函数服务 veFaaS 是事件驱动的 Serverless 全托管计算平台,通过它,用户在部署 DeepSeek-R1-Distill 时可以无需关心底层资源的运维、自动伸缩,编写代码并上传即可以弹性、安全、可靠的方式运行,且只需为实际运行资源和调用次数付费,代码不运行即不产生任何费用,非常适合对业务敏捷、灵活度要求较高的场景。

如果我们希望通过函数服务 veFaaS 部署 DeepSeek-R1-Distill,一般需要做好以下前置准备:

  1. 本地开发环境
  1. 火山引擎账户在 cn-beijing 区域开通了如下服务:

Step1:创建 Ollama 模型推理服务

  1. 进入火山引擎函数服务 veFaaS 工作台: https://console.volcengine.com/vefaas ,创建「Web 应用」,如下图所示;其中部署方式选择公共镜像部署的 Ollama 镜像模板,计算模式选择 GPU 加速(邀测功能,可联系客户经理申请):

picture.image

  1. 创建完成后,点击右上角发布按钮,完成服务部署:

picture.image

Step2:创建 API 网关接入点

火山引擎 API 网关 APIG 是基于云原生的、高扩展、高可用的云上网关托管服务。在传统流量网关的基础上,APIG 集成丰富的服务发现和服务治理能力,打通微服务架构的内外部网络,可以帮助用户快速实现各服务之间、服务与客户端之间的安全通信。这里我们通过 APIG 来暴露 DeepSeek-R1-Distill 服务。

  1. 进入火山引擎 API 网关 APIG 的工作台: https://console.volcengine.com/veapig ,创建 API 网关实例。方便起见可以选择创建 Serverless 网关,作为测试接入点:

picture.image

  1. API 网关实例创建完成后,新建网关服务,对外暴露公网域名接入点:

picture.image

  1. 回到火山引擎 veFaaS 控制台,在 veFaaS 界面,选择刚才创建的 API 网关实例与服务,创建 API 网关触发器:

picture.image

Step3:本地使用 open-webui 测试

在这一步中,我们使用开源项目 open-webui ( https://github.com/open-webui/open-webui ) 本地启动前端控制台,访问 Step2/Step3 中配置的 Ollama 服务。

值得注意的是,启动参数中,我们需要:

  1. 指定 open-webui 使用 ollama 作为推理后端,并指定了 ollama 后端地址;
  2. 禁用了 openAI API 的访问;
  3. 禁用了访问鉴权(方便测试);
  4. 禁用了 open-webui 中自带的 embedding 模型、whisper 模型的自动更新。

本地启动命令(需要在本地安装 Docker Desktop):

docker run -p 3000:8080 \ -v open-webui:/app/backend/data \
--name open-webui-new \
--restart always \
--env=OLLAMA_BASE_URL=[此处替换为Step3 API 网关 地址] / \
--env=ENABLE_OPENAI_API=false \
--env=ENABLE_WEBSOCKET_SUPPORT=false \
--env=ENABLE_RAG_WEB_SEARCH=true \
--env=RAG_WEB_SEARCH_ENGINE=duckduckgo \
--env=WEBUI_AUTH=false \
--env=RAG_RERANKING_MODEL_AUTO_UPDATE=false \
--env=WHISPER_MODEL_AUTO_UPDATE=false \
--env=RAG_EMBEDDING_MODEL_AUTO_UPDATE=false \
ghcr.io/open-webui/open-webui:main

在本地浏览器中访问 localhost:3000

picture.image

(可选)Step4:添加并使用其他模型

公共镜像中自带 DeepSeek-R1-Distill-Qwen-1.5B 模型,如果希望使用其他 DeepSeek 蒸馏模型版本,可自行将模型下载到 TOS 对象存储,挂载到函数服务对应路径。

  1. Ollama 模型可参考: https://ollama.com/library ;此处以 DeepSeek-R1-Distill-Qwen-7B 为例:
使用ollama命令行工具下载模型文件

ollama run deepseek-r1:7b

你好

你好!很高兴见到你,有什么我可以帮忙的吗?无论是问题、建议还是闲聊,我都在这儿为你服务。😊 >>>
ollma 模型文件默认存在在 ~/.ollama/models 目录下

➜ ls -lb ~/.ollama/models
total 0
drwxr-xr-x@ 22 bytedance staff 704B Feb 6 13:49 blobs/
drwxr-xr-x@ 3 bytedance staff 96B Feb 3 23:45 manifests/

  1. 函数服务挂载对象存储可参考 https://www.volcengine.com/docs/6662/1222882 ;需要注意 AKSK 需要有 TOS 存储桶读写权限:

picture.image

  1. 挂载完成后需设置环境变量 OLLAMA_MODELS 为模型挂载路径。挂载和环境变量更新重新发布生效:

picture.image

  1. 重复 Step3 本地测试步骤,可以看到多个模型选项:

picture.image

方案三:Terraform 一键部署

Terraform 是一款开源基础设施即代码(IaC)工具,专注于帮助用户通过声明式配置文件自动化创建、管理和版本化云基础设施资源,已支持 300+ 云服务商,方便用户通过单一工具实现多云架构的统一编排。

火山引擎通过多年积极拥抱开源生态,已与 Terraform 做了大量集成,支持用户通过 Terraform 编排火山引擎上的多种云资源,所以我们也推荐使用 Terraform 脚本自动化创建所需的云资源,并自动运行命令,完成 DeepSeek 的一键部署。

Step1:Terraform 环境准备

首先,我们需要完成 Terraform 的安装并初始化使用环境,为后续通过 Terraform 一键部署 DeepSeek-R1-Distill 做好准备。

Terraform 是以二进制可执行文件发布,我们只需下载官方 Terraform,并将 Terraform 可执行文件所在目录添加到系统环境变量 PATH 中即可,具体步骤可参考: https://www.volcengine.com/docs/6706/101977

Step2:创建并执行 Terraform 脚本

创建 main.tf 文件,将下述代码粘贴至 main.tf ,修改
ecs\_instance 中的实例登陆密码 password ,执行 terraform init ,再执行 terraform apply ,等待执行完毕即可。

需要注意的是,模型下载时间与 ECS 所在 region 相关,将 ECS 实例和镜像/模型存储位置选择为同一 region 可显著加快镜像/模型下载速度。当前演示脚本针对 cn-beijing 做演示,如果用户需要切换 region,请修改 main.tf 中的 zone_id 参数和执行脚本中的 region 相关参数。

terraform {
required_providers {
volcengine = {
source = "volcengine/volcengine"
version = "0.0.159"
}
}
}

resource "volcengine_vpc" "foo" {
vpc_name = "acc-test-vpc"
cidr_block = "172.16.0.0/16"
}

resource "volcengine_subnet" "foo" {
subnet_name = "acc-test-subnet"
cidr_block = "172.16.0.0/24"
zone_id = "cn-beijing-c"
vpc_id = volcengine_vpc.foo.id
}

data "volcengine_images" "foo" {
image_name = "Ubuntu 20.04 with GPU Driver 535.154.05 and mlx 5.8-3"
}

resource "volcengine_security_group" "foo" {
security_group_name = "acc-test-security-group"
vpc_id = volcengine_vpc.foo.id
}

resource "volcengine_security_group_rule" "foo" {
direction = "egress"
security_group_id = "${volcengine_security_group.foo.id}"
protocol = "tcp"
port_start = 22
port_end = 8080
cidr_ip = "0.0.0.0/0"
}

resource "volcengine_security_group_rule" "foo1" {
direction = "ingress"
security_group_id = "${volcengine_security_group.foo.id}"
protocol = "tcp"
port_start = 22
port_end = 8080
cidr_ip = "0.0.0.0/0"
}

resource "volcengine_ecs_instance" "foo" {
instance_name = "deepseek一键部署"
description = "acc-test"
host_name = "acc-test"
image_id = data.volcengine_images.foo.images[0].image_id
instance_type = "ecs.gni3cg.5xlarge"
password = "*********" #实例登录密码
instance_charge_type = "PostPaid"
system_volume_type = "ESSD_FlexPL"
system_volume_size = 500
user_data = "IyEvYmluL2Jhc2gKCiMg5a6a5LmJ6L6T5Ye65paH5Lu26Lev5b6EClJFU1VMVF9GSUxFPSIvaG9tZS9yZXN1bHQiCgojIOWIm+W7uuaWh+S7tu+8iOWmguaenOaWh+S7tuS4jeWtmOWcqO+8ie+8jOW5tua4heepuuaWh+S7tuWGheWuuQp0b3VjaCAkUkVTVUxUX0ZJTEUKZWNobyAiIiA+ICRSRVNVTFRfRklMRQoKIyDmm7TmlrAgYXB0IOWMhQplY2hvICJSdW5uaW5nIGFwdCB1cGRhdGUuLi4iID4+ICRSRVNVTFRfRklMRQpzdWRvIGFwdCB1cGRhdGUgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg5a6J6KOF5b+F6KaB55qE5YyFCmVjaG8gIkluc3RhbGxpbmcgcmVxdWlyZWQgcGFja2FnZXMuLi4iID4+ICRSRVNVTFRfRklMRQpzdWRvIGFwdCBpbnN0YWxsIC15IGNhLWNlcnRpZmljYXRlcyBjdXJsIGdudXBnIGxzYi1yZWxlYXNlID4+ICRSRVNVTFRfRklMRSAyPiYxCgojIOWIm+W7uuWvhumSpeebruW9lQplY2hvICJDcmVhdGluZyBkaXJlY3RvcnkgZm9yIGFwdCBrZXlyaW5ncy4uLiIgPj4gJFJFU1VMVF9GSUxFCnN1ZG8gbWtkaXIgLXAgL2V0Yy9hcHQva2V5cmluZ3MgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg6I635Y+WIERvY2tlciDnmoQgR1BHIOWvhumSpQplY2hvICJGZXRjaGluZyBEb2NrZXIgR1BHIGtleS4uLiIgPj4gJFJFU1VMVF9GSUxFCmN1cmwgLWZzU0wgaHR0cHM6Ly9taXJyb3JzLml2b2xjZXMuY29tL2RvY2tlci9saW51eC91YnVudHUvZ3BnIHwgc3VkbyBncGcgLS1kZWFybW9yIC1vIC9ldGMvYXB0L2tleXJpbmdzL2RvY2tlci5ncGcgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg6YWN572uIERvY2tlciDku5PlupMKZWNobyAiQWRkaW5nIERvY2tlciByZXBvc2l0b3J5Li4uIiA+PiAkUkVTVUxUX0ZJTEUKZWNobyAiZGViIFthcmNoPSQoZHBrZyAtLXByaW50LWFyY2hpdGVjdHVyZSkgc2lnbmVkLWJ5PS9ldGMvYXB0L2tleXJpbmdzL2RvY2tlci5ncGddIGh0dHBzOi8vbWlycm9ycy5pdm9sY2VzLmNvbS9kb2NrZXIvbGludXgvdWJ1bnR1ICQobHNiX3JlbGVhc2UgLWNzKSBzdGFibGUiIHwgc3VkbyB0ZWUgL2V0Yy9hcHQvc291cmNlcy5saXN0LmQvZG9ja2VyLmxpc3QgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg5pu05pawIGFwdCDlubblronoo4UgRG9ja2VyCmVjaG8gIlVwZGF0aW5nIGFwdCBhbmQgaW5zdGFsbGluZyBEb2NrZXIuLi4iID4+ICRSRVNVTFRfRklMRQpzdWRvIGFwdCB1cGRhdGUgPj4gJFJFU1VMVF9GSUxFIDI+JjEKc3VkbyBhcHQgaW5zdGFsbCAteSBkb2NrZXItY2UgZG9ja2VyLWNlLWNsaSBjb250YWluZXJkLmlvIGRvY2tlci1jb21wb3NlLXBsdWdpbiA+PiAkUkVTVUxUX0ZJTEUgMj4mMQoKIyDlronoo4UgTnZpZGlhIOebuOWFs+W6kwplY2hvICJBZGRpbmcgTnZpZGlhIHJlcG9zaXRvcnkuLi4iID4+ICRSRVNVTFRfRklMRQpjdXJsIC1zIGh0dHBzOi8vbWlycm9ycy5pdm9sY2VzLmNvbS9udmlkaWFfYWxsL3VidW50dTIyMDQveDg2XzY0LzNiZjg2M2NjLnB1YiB8IHN1ZG8gYXB0LWtleSBhZGQgLSA+PiAkUkVTVUxUX0ZJTEUgMj4mMQpjYXQgPDxFT0YgfCBzdWRvIHRlZSAvZXRjL2FwdC9zb3VyY2VzLmxpc3QuZC9udmlkaWEubGlzdCA+PiAkUkVTVUxUX0ZJTEUgMj4mMQpkZWIgaHR0cDovL21pcnJvcnMuaXZvbGNlcy5jb20vbnZpZGlhX2FsbC91YnVudHUyMjA0L3g4Nl82NC8gLwpFT0YKCiMg5pu05pawIGFwdCDlubblronoo4UgTnZpZGlhIOWuueWZqOW3peWFt+WMhQplY2hvICJVcGRhdGluZyBhcHQgYW5kIGluc3RhbGxpbmcgTnZpZGlhIGNvbnRhaW5lciB0b29sa2l0Li4uIiA+PiAkUkVTVUxUX0ZJTEUKc3VkbyBhcHQgdXBkYXRlID4+ICRSRVNVTFRfRklMRSAyPiYxCnN1ZG8gYXB0IGluc3RhbGwgLXkgbnZpZGlhLWNvbnRhaW5lci10b29sa2l0ID4+ICRSRVNVTFRfRklMRSAyPiYxCgojIOmFjee9riBOdmlkaWEgRG9ja2VyIHJ1bnRpbWUKZWNobyAiQ29uZmlndXJpbmcgTnZpZGlhIHJ1bnRpbWUgZm9yIERvY2tlci4uLiIgPj4gJFJFU1VMVF9GSUxFCnN1ZG8gbnZpZGlhLWN0ayBydW50aW1lIGNvbmZpZ3VyZSAtLXJ1bnRpbWU9ZG9ja2VyID4+ICRSRVNVTFRfRklMRSAyPiYxCgojIOmHjeWQryBEb2NrZXIg5pyN5YqhCmVjaG8gIlJlc3RhcnRpbmcgRG9ja2VyLi4uIiA+PiAkUkVTVUxUX0ZJTEUKc3VkbyBzeXN0ZW1jdGwgcmVzdGFydCBkb2NrZXIgPj4gJFJFU1VMVF9GSUxFIDI+JjEKCiMg6L+Q6KGMIERvY2tlciDlrrnlmagKZWNobyAiUnVubmluZyBEb2NrZXIgY29udGFpbmVyLi4uIiA+PiAkUkVTVUxUX0ZJTEUKZG9ja2VyIHJ1biAtZCAtLW5ldHdvcmsgaG9zdCAtLXByaXZpbGVnZWQgLS1ncHVzPWFsbCAtLW5hbWU9dmxsbV9xd2VuN0IgLS1pcGM9aG9zdCAtdiAvZGF0YTAwL21vZGVsczovZGF0YTAwL21vZGVscyAtdiAvdmFyL3J1bi9udmlkaWEtdG9wb2xvZ3lkLzovdmFyL3J1bi9udmlkaWEtdG9wb2xvZ3lkLyAtZSBNT0RFTF9QQVRIPS9kYXRhMDAvbW9kZWxzIC1lIFBPUlQ9NjAwMSAtZSBNT0RFTF9OQU1FPURlZXBTZWVrLVIxLURpc3RpbGwtUXdlbi03QiAtZSBUUD0xIGNwLWNvbnRyb2xsZXItY24tYmVpamluZy5jci52b2xjZXMuY29tL2FwcGRlbGl2ZXItbWwvdmxsbTowLjcuMSA+PiAkUkVTVUxUX0ZJTEUgMj4mMQoKIyDlrozmiJAKZWNobyAiU2NyaXB0IGV4ZWN1dGlvbiBjb21wbGV0ZWQuIiA+PiAkUkVTVUxUX0ZJTEU="
data_volumes {
volume_type = "ESSD_FlexPL"
size = 500
delete_with_instance = true
}
subnet_id = volcengine_subnet.foo.id
security_group_ids = [volcengine_security_group.foo.id]
project_name = "default"
}

resource "volcengine_eip_address" "foo" {
billing_type = "PostPaidByTraffic"
}

resource "volcengine_eip_associate" "foo" {
allocation_id = volcengine_eip_address.foo.id
instance_id = volcengine_ecs_instance.foo.id
instance_type = "EcsInstance"
}

Step3:测试验证

登录创建好的 ECS 实例,查看 /home/result 文件,直到输出“Script execution completed”,表示安装&启动容器命令执行完成。此时可以 docker logs CONTAINER\_ID 查看容器是否拉取到模型和权重,就绪之后(预期就绪时间 3-5 分钟),我们就可以通过以下命令来体验大模型的问答能力:

curl -X POST http://0.0.0.0:6001/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "/data00/models/DeepSeek-R1-Distill-Qwen-7B",
"messages": [
{
"role": "user",
"content": "请证明一下黎曼猜想"
}
],
"stream": true,
"max_tokens": 100,
"temperature": 0.7
}'

picture.image

注意:有的用户在执行 curl 命令后可能会返回拒绝连接的提示(如下图所示),这可能是因为权重文件没有下载和加载完毕,可以稍后再重试。

picture.image

(可选)Step4:修改相关配置

为了保障模型下载速度,用户可以根据业务所在地就近选择 ECS 实例的地域。在上述示例中,Terraform 默认使用 cn-beijing Region,如果用户需要在华北 2(北京)以外地域拉起 DeepSeek-R1-Distill 实例,可以修改相关参数:

picture.image

具体修改方式为在以下执行脚本中修改对应的字段,然后将整个文件进行 base64 编码后放入 main.tf 中的 user\_data 字段。修改完成后重新执行 main.tf 文件即可。

DeepSeek-R1-Distill 蒸馏版 qwen-7B 执行脚本:

#!/bin/bash

定义输出文件路径

RESULT_FILE="/home/result"

touch RESULT_FILEecho"">RESULT\_FILE echo "" > RESULT_FILE

echo "Running apt update..." >> RESULT_FILEsudoaptupdate>>RESULT\_FILE sudo apt update >> RESULT_FILE 2>&1

echo "Installing required packages..." >> RESULT_FILEsudoaptinstallycacertificatescurlgnupglsbrelease>>RESULT\_FILE sudo apt install -y ca-certificates curl gnupg lsb-release >> RESULT_FILE 2>&1

echo "Creating directory for apt keyrings..." >> RESULT_FILEsudomkdirp/etc/apt/keyrings>>RESULT\_FILE sudo mkdir -p /etc/apt/keyrings >> RESULT_FILE 2>&1

echo "Fetching Docker GPG key..." >> RESULT_FILEcurlfsSLhttps://mirrors.ivolces.com/docker/linux/ubuntu/gpgsudogpgdearmoro/etc/apt/keyrings/docker.gpg>>RESULT\_FILE curl -fsSL https://mirrors.ivolces.com/docker/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg >> RESULT_FILE 2>&1

echo "Adding Docker repository..." >> RESULT_FILEecho"deb[arch=RESULT\_FILE echo "deb [arch=(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.ivolces.com/docker/linux/ubuntu (lsb_releasecs)stable"sudotee/etc/apt/sources.list.d/docker.list>>(lsb\_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >> RESULT_FILE 2>&1

echo "Updating apt and installing Docker..." >> RESULT_FILEsudoaptupdate>>RESULT\_FILE sudo apt update >> RESULT_FILE 2>&1
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin >> $RESULT_FILE 2>&1

echo "Adding Nvidia repository..." >> RESULT_FILEcurlshttps://mirrors.ivolces.com/nvidia_all/ubuntu2204/x86_64/3bf863cc.pubsudoaptkeyadd>>RESULT\_FILE curl -s https://mirrors.ivolces.com/nvidia\_all/ubuntu2204/x86\_64/3bf863cc.pub | sudo apt-key add - >> RESULT_FILE 2>&1
cat <<EOF | sudo tee /etc/apt/sources.list.d/nvidia.list >> $RESULT_FILE 2>&1
deb http://mirrors.ivolces.com/nvidia\_all/ubuntu2204/x86\_64/ /
EOF

echo "Updating apt and installing Nvidia container toolkit..." >> RESULT_FILEsudoaptupdate>>RESULT\_FILE sudo apt update >> RESULT_FILE 2>&1
sudo apt install -y nvidia-container-toolkit >> $RESULT_FILE 2>&1

echo "Configuring Nvidia runtime for Docker..." >> RESULT_FILEsudonvidiactkruntimeconfigureruntime=docker>>RESULT\_FILE sudo nvidia-ctk runtime configure --runtime=docker >> RESULT_FILE 2>&1

echo "Restarting Docker..." >> RESULT_FILEsudosystemctlrestartdocker>>RESULT\_FILE sudo systemctl restart docker >> RESULT_FILE 2>&1

运行 Docker 容器

echo "Running Docker container..." >> RESULT_FILEdockerrundnetworkhostprivilegedgpus=allname=vllm_qwen7Bipc=hostv/data00/models:/data00/modelsv/var/run/nvidiatopologyd/:/var/run/nvidiatopologyd/eMODEL_PATH=/data00/modelsePORT=6001eMODEL_NAME=DeepSeekR1DistillQwen7BeTP=1cpcontrollercnbeijing.cr.volces.com/appdeliverml/vllm:0.7.1>>RESULT\_FILE docker run -d --network host --privileged --gpus=all --name=vllm\_qwen7B --ipc=host -v /data00/models:/data00/models -v /var/run/nvidia-topologyd/:/var/run/nvidia-topologyd/ -e MODEL\_PATH=/data00/models -e PORT=6001 -e MODEL\_NAME=DeepSeek-R1-Distill-Qwen-7B -e TP=1 cp-controller-cn-beijing.cr.volces.com/appdeliver-ml/vllm:0.7.1 >> RESULT_FILE 2>&1

完成

echo "Script execution completed." >> $RESULT_FILE

小结

以上就是基于火山引擎 GPU 云服务器、容器服务 VKE、持续交付 CP、函数服务 veFaaS 等产品快速拉起 DeepSeek-R1-Distill 模型服务的全过程,欢迎感兴趣的用户开通相关产品服务进行体验。

2 月 11 日,为助力企业开发者在业务场景下更深度地使用全尺寸 DeepSeek,火山引擎技术专家及 AI 开发者将在【 云上话 AI · 线上研讨会 】分享更多调用部署经验,并进行实操演示,也欢迎广大企业和开发者预约参与。

picture.image

相关链接

  1. 火山引擎: www.volcengine.com
  2. GPU ECS: www.volcengine.com/product/gpu
  3. VKE: www.volcengine.com/product/vke
  4. CP: www.volcengine.com/product/cp
  5. veFaaS: www.volcengine.com/product/vefaas
  6. CLB: www.volcengine.com/product/clb
  7. APIG: www.volcengine.com/product/apig
0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
vivo 容器化平台架构与核心能力建设实践
为了实现规模化降本提效的目标,vivo 确定了基于云原生理念构建容器化生态的目标。在容器化生态发展过程中,平台架构不断演进,并针对业务的痛点和诉求,持续完善容器化能力矩阵。本次演讲将会介绍 vivo 容器化平台及主要子系统的架构设计,并分享重点建设的容器化核心能力。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论