基于Knative快速部署DeepSeek-R1

简介: 本文以DeepSeek-R1模型、GPU类型为A10卡为例,介绍如何在Knative中快速部署一个DeepSeek-R1推理服务。

【阅读原文】戳:基于Knative快速部署DeepSeek-R1

传统的基于GPU利用率的弹性伸缩策略无法准确反映大模型推理服务的实际负载情况,即使GPU利用率达到了100%,也不一定表明系统正处在高负荷运行状态。Knative提供的自动扩缩容机制KPA(Knative Pod Autoscaler)能够根据QPS或RPS来调整资源分配,更直接地反映推理服务的性能表现。本文以DeepSeek-R1模型、GPU类型为A10卡为例,介绍如何在Knative中部署一个DeepSeek-R1推理服务。

 

DeepSeek-R1是一个由深度求索人工智能公司(DeepSeek AI)开发的大型语言模型(LLM)系列,专注于高性能、高效率的自然语言处理任务。它是DeepSeek公司推出的第一代(R1)模型,旨在为企业和开发者提供强大的语言理解和生成能力。

 

 

 

 

准备

 

 

 

已在ACK集群中部署Knative,请参见部署Knative。

 

已部署使用ECI资源所需的ack-virtual-node组件,请参见部署ack-virtual-node组件。

 

 

 

 

部署DeepSeek-R1模型

 

 

 

创建Knative Service资源对象,添加标签alibabacloud.com/eci=true,并配置Annotation k8s.aliyun.com/eci-use-specs用于指定ECI规格,然后执行kubectl apply命令部署YAML文件。

 

资源规格:GPU机型选择A10即可,示例ecs.gn7i-c8g1.2xlarge

 

推理模型:DeepSeek-R1-Distill-Qwen-1.5B

 

示例模板如下。

 

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  labels:
    release: deepseek
  name: deepseek
  namespace: default
spec:
  template:
    metadata:
      annotations:
        k8s.aliyun.com/eci-use-specs : "ecs.gn7i-c8g1.2xlarge" // GPU 规格 A10
        autoscaling.knative.dev/min-scale: "1"
      labels:
        release: deepseek
        alibabacloud.com/eci: "true" 
    spec:
      containers:
      - command:
          - /bin/sh
          - -c
        args:
          - vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B --max_model_len 2048
        image: registry.cn-hangzhou.aliyuncs.com/knative-sample/vllm-openai:v0.7.1
        imagePullPolicy: IfNotPresent
        name: vllm-container
        env:
        - name: HF_HUB_ENABLE_HF_TRANSFER
          value: "0"
        ports:
          - containerPort: 8000
        readinessProbe:
          httpGet:
            path: /health
            port: 8000
          initialDelaySeconds: 60
          periodSeconds: 5
        resources:
          limits:
            nvidia.com/gpu: "1"
          requests:
            nvidia.com/gpu: "1"
        volumeMounts:
          - mountPath: /root/.cache/huggingface
            name: cache-volume
          - name: shm
            mountPath: /dev/shm
      volumes:
        - name: cache-volume
          emptyDir: {}
        - name: shm
          emptyDir:
            medium: Memory
            sizeLimit: 2Gi

 

部署完成之后,可以在服务管理页签,获取服务的访问网关默认域名

 

image.png

 

验证DeepSeek服务:

 

curl -H "Host:  deepseek.default.example.com" -H "Content-Type: application/json" http://deepseek.knative.top/v1/chat/completions -d '{"model": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", "messages": [{"role": "user", "content": "介绍一下DeepSeek-R1"}]}'

 

结果输出:

 

{"id":"chatcmpl-07d99924-b998-4f39-9ec9-01dfb4ece8a0","object":"chat.completion","created":1739003758,"model":"deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B","choices":[{"index":0,"message":{"role":"assistant","reasoning_content":null,"content":"<think>\n\n</think>\n\nDeepSeek-R1 是一个大语言模型,由深度求索公司开发,旨在支持对话和语言理解任务。以下是关于DeepSeek-R1的一些关键信息:\n\n1. **架构与技术**:\n   - **语言处理**:DeepSeek-R1 作为大语言模型,主要功能包括文本生成、理解、对话等。\n   - **自学习能力**:通过大量文本数据进行训练,提升其自然语言处理能力。\n\n2. **应用场景**:\n   - **聊天机器人**:在制造业、医疗、教育等领域用于辅助 Humans进行对话。\n   - **内容生成**:擅长生成高质量的文本 content,用于新闻报道、营销资料等。\n\n3. **技术特点**:\n   - **高效计算**:相比轻量级模型,DeepSeek-R1 更高效,适合实时响应。\n   - **模块化设计**:模型基于模块化架构,便于扩展和优化。\n\n4. **用户评估**:\n   - **使用场景**:适合特定行业的企业需求。\n   - **评价标准**:基于技术准确性和应用场景评估。\n\n5. **特点与优势**:\n   - **性能 superior**:在多个自然语言处理任务中表现优异。\n   - **实用性**:能够解决实际工作场所中的语言处理需求。\n\n6. **未来发展**:\n   - **技术更新**:模型持续优化,关注更多应用领域,如自动驾驶和其他伦理问题。\n\n总结而言,DeepSeek-R1 是一个功能强大且符合特定行业需求的大语言模型,旨在通过高效的人工智能服务于实际应用场景。","tool_calls":[]},"logprobs":null,"finish_reason":"stop","stop_reason":null}],"usage":{"prompt_tokens":8,"total_tokens":337,"completion_tokens":329,"prompt_tokens_details":null},"prompt_logprobs":null}

 

 

 

自定义域名

 

 

Knative支持对某个Knative服务定义特定的域名。

 

image.png

 

通过云解析DNS, 可以将域名解析到访问网关。

 

 

 

 

部署个人AI助手

 

 

 

ChatGPTNextWeb提供一键部署私人ChatGPT网页应用,支持DeepSeek,Claude,GPT4&Gemini Pro模型(https://github.com/ChatGPTNextWeb/NextChat),这里我们通过Knative快速部署访问。

 

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: chatgpt-next-web
spec:
  template:
    spec:
      containers:
      - name: chatgpt-next-web
        image: registry.cn-hangzhou.aliyuncs.com/knative-sample/chatgpt-next-web:v2.15.8
        ports:
        - containerPort: 3000
        readinessProbe:
          tcpSocket:
            port: 3000
          initialDelaySeconds: 60
          periodSeconds: 5
        env:
        - name: HOSTNAME
          value: '0.0.0.0'
  # 替换为你的 OpenAI API 地址

 

服务管理页签,获取服务的访问网关默认域名

 

image.png

 

1. 将chatgpt-next-web服务的网关地址与需要访问的域名进行Host绑定,在Hosts文件中添加绑定信息。绑定示例如下:

 

8.211.157.198 chatgpt-next-web.default.example.com # 网关IP和域名请以您的实际数据为准。

 

2. 完成Host绑定后,在服务管理页签,单击chatgpt-next-web服务的默认域名访问。如图所示:

 

image.png

 

3. 配置DeepSeek

 

设置接口访问地址:

http://deepseek.knative.top

API Key:可以直接在DeepSeek官方开放平台申请

https://platform.deepseek.com/api_keys

自定义域名模型:deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B

 

image.png

 

4. 查看效果。

 

image.png

 

欢迎有兴趣的加入阿里云Knative钉钉交流群(群号:23302777)。




我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~

相关文章
|
存储 网络协议 算法
UDP 协议和 TCP 协议
本文介绍了UDP和TCP协议的基本结构与特性。UDP协议具有简单的报文结构,包括报头和载荷,报头由源端口、目的端口、报文长度和校验和组成。UDP使用CRC校验和来检测传输错误。相比之下,TCP协议提供更可靠的传输服务,其结构复杂,包含序列号、确认序号和标志位等字段。TCP通过确认应答和超时重传来保证数据传输的可靠性,并采用三次握手建立连接,四次挥手断开连接,确保通信的稳定性和完整性。
584 1
UDP 协议和 TCP 协议
|
存储 监控 调度
应对IDC资源紧缺:ACK Edge如何解决LLM推理服务的弹性挑战
基于ACK Edge的混合云LLM弹性推理解决方案,通过动态调整云上和云下的GPU资源使用,来应对推理服务的潮汐流量需求,提高资源利用效率,降低运营成本,并确保服务稳定性和高可用性。
|
存储 缓存 弹性计算
聚宽揭秘:为什么量化研究员喜欢在Kubernetes上使用Fluid简化数据管理?
通过引入阿里云的 ack-fluid 技术,基于 JindoRuntime 的分布式缓存加速,解决了多数据源、弹性扩展、动态挂载等挑战,显著提升了数据处理效率和资源利用率,降低运营成本。这一方案帮助量化研究员实现了更高效的开发和实验流程,为未来的优化和扩展奠定了基础。
|
Kubernetes Serverless 云计算
OpenKruise社区Rollouts组件重磅更新:即插即用的蓝绿发布能力
Kruise Rollouts作为OpenKruise社区提供的旁路组件,其能对原始工作负载进行增强。蓝绿发布是Kruise Rollouts在0.6.0版本中新引入的能力。
|
边缘计算 Prometheus 监控
边缘GPU节点的可观测原理和最佳实践
介绍ACK Edge接入的边缘GPU节点的可观测原理和最佳实践。
|
自然语言处理 语音技术 开发工具
CosyVoice再升级,可扩展流式语音合成
通义实验室在前期的工作中提出了基于监督离散语音标记的多语言语音合成模型CosyVoice。通过使用两种流行的生成模型:语言模型 (LM) 和流匹配进行渐进式语义解码,CosyVoice 在语音语境学习中实现了较高的韵律自然度、内容一致性和说话人相似性。
2679 2
CosyVoice再升级,可扩展流式语音合成
|
边缘计算 调度 对象存储
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
部署DeepSeek但IDC GPU不足,阿里云ACK Edge虚拟节点来帮忙
334 0
|
存储 缓存 算法
【Conan 入门教程 】了解 Conan2.1 中默认生成器的作用
【Conan 入门教程 】了解 Conan2.1 中默认生成器的作用
489 1
|
并行计算 Java API
Java8实战-CompletableFuture:组合式异步编程
Java8实战-CompletableFuture:组合式异步编程
302 0
|
监控 Shell Linux
shell linux中用shell写一个占用CPU的脚本
shell linux中用shell写一个占用CPU的脚本
1476 0