Todos los productos
Search
Centro de documentos

Container Compute Service:Despliegue de un servicio de inference del modelo DeepSeek-R1 con ACS GPU

Última actualización: Sep 21, 2026

ACS ofrece cómputo GPU serverless con facturación pay-as-you-go, lo que elimina la necesidad de gestionar nodos GPU. Esta guía explica cómo desplegar un servicio de inference del modelo completo DeepSeek-R1, listo para producción, en ACS con vLLM y aceleración RDMA.

Contexto

Modelo DeepSeek-R1

DeepSeek-R1 es el modelo de razonamiento de primera generación de DeepSeek. Se entrenó mediante aprendizaje por refuerzo a gran escala. Este modelo no solo supera a otros modelos de código cerrado, sino que también iguala o excede a OpenAI-O1 en razonamiento matemático, programación y otras pruebas de referencia. Además, tiene un buen rendimiento en tareas basadas en conocimiento y en otros tipos de tareas, como la escritura creativa y las preguntas y respuestas generales. Consulte el repositorio de GitHub de DeepSeek AI para obtener más detalles.

vLLM

vLLM es un framework de inference para LLM eficiente y fácil de usar que admite modelos populares, incluido Qwen. Acelera la inference mediante PagedAttention, procesamiento por lotes continuo y cuantización de modelos. Consulte el repositorio de GitHub de vLLM para obtener más detalles.

ACS

ACS es un servicio de contenedores serverless basado en Kubernetes que proporciona cómputo de propósito general y de GPU sin requerir la gestión de nodos ni de clústeres. La programación integrada, el entorno de ejecución de contenedores, el almacenamiento y la red reducen la complejidad operativa. Por su parte, la facturación pay-as-you-go y el escalado elástico disminuyen los costos. Para la inference de LLM, la aceleración de datos e imágenes de ACS optimiza aún más el tiempo de inicio del modelo y los costos de recursos.

Requisitos previos

Complete los siguientes pasos antes de comenzar:

  1. Cree un clúster de ACS con el rol de servicio predeterminado asignado. Consulte Create an ACS cluster.

  2. Configure kubectl para conectarse a su clúster de ACS. Consulte Obtain the cluster kubeconfig and connect to the cluster by using kubectl.

Especificaciones de la instancia GPU y estimación de costos

El despliegue del modelo completo DeepSeek-R1 en ACS requiere 16 horas de GPU si no se utiliza aceleración. A continuación se muestra la configuración recomendada para una sola instancia:

Recurso

Especificación

GPU

16 tarjetas (96 GiB de memoria por tarjeta)

CPU

64 vCPU

Memoria

512 GiB

Para obtener información sobre cómo seleccionar especificaciones de instancia, consulte GPU. Para conocer los detalles de facturación, consulte Billing overview.

Nota
  • Las especificaciones de las instancias GPU de ACS siguen la lógica de especificaciones de Pod de ACS.

  • Los pods de ACS incluyen 30 GiB de almacenamiento efímero gratuito de forma predeterminada. Esta imagen de inference requiere más espacio. Para aumentar el almacenamiento efímero, consulte Overview of ACS pods.

Paso 1: Preparar los archivos del modelo DeepSeek-R1-GPTQ-INT8

Los LLM requieren mucho espacio en disco. Use volúmenes de almacenamiento NAS u OSS para guardar los modelos de forma persistente. En los siguientes pasos se usa OSS como ejemplo.

Nota: Envíe un ticket para obtener los archivos del modelo y la configuración YAML de despliegue, que incluye lo siguiente:

  • Archivos del modelo: DeepSeek-R1-GPTQ-INT8

  • Modelo de GPU: reemplace la etiqueta alibabacloud.com/gpu-model-series con el modelo de GPU real compatible con ACS

  • Imagen base: reemplace la imagen del contenedor con la dirección real de la imagen

  • Image pull secret: cree un Secret y reemplace el nombre de imagePullSecrets con el nombre real del Secret

(Opcional) Cargar el modelo en OSS

Si descargó los archivos del modelo de manera local, cree un directorio en OSS y cargue el modelo:

ossutil mkdir oss://<your-bucket-name>/models/DeepSeek-R1-GPTQ-INT8
ossutil cp -r /mnt/models/DeepSeek-R1-GPTQ-INT8 oss://<your-bucket-name>/models/DeepSeek-R1-GPTQ-INT8

Install ossutil.

Crear un PV y un PVC

Cree un PersistentVolume (PV) y un PersistentVolumeClaim (PVC) llamados llm-model para su clúster. Para obtener más información, consulte Use an ossfs 1.0 static volume.

Console

Configure el PV con los siguientes valores:

Parámetro

Valor

Storage Volume Type

OSS

Name

llm-model

Access Credentials

AccessKey ID y AccessKey Secret para acceder a OSS

Bucket ID

Seleccione su bucket de OSS

OSS Path

/models/DeepSeek-R1-GPTQ-INT8

Configure el PVC con los siguientes valores:

Parámetro

Valor

Storage Claim Type

OSS

Name

llm-model

Allocation Mode

Existing Storage Volume

Existing Storage Volume

Seleccione el PV que creó

kubectl

apiVersion: v1
kind: Secret
metadata:
  name: oss-secret
stringData:
  akId: <your-oss-ak>
  akSecret: <your-oss-sk>
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: llm-model
  labels:
    alicloud-pvname: llm-model
spec:
  capacity:
    storage: 30Gi
  accessModes:
    - ReadOnlyMany
  persistentVolumeReclaimPolicy: Retain
  csi:
    driver: ossplugin.csi.alibabacloud.com
    volumeHandle: llm-model
    nodePublishSecretRef:
      name: oss-secret
      namespace: default
    volumeAttributes:
      bucket: <your-bucket-name>
      url: <your-bucket-endpoint>
      otherOpts: "-o umask=022 -o max_stat_cache_size=0 -o allow_other"
      path: /models/DeepSeek-R1-GPTQ-INT8/
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: llm-model
spec:
  accessModes:
    - ReadOnlyMany
  resources:
    requests:
      storage: 30Gi
  selector:
    matchLabels:
      alicloud-pvname: llm-model

Paso 2: Desplegar el modelo con ACS GPU

Despliegue el servicio de inference DeepSeek-R1-GPTQ-INT8 mediante vLLM con aceleración RDMA. El servicio expone una API compatible con OpenAI.

Nota:

  • El parámetro max-model-len controla la longitud máxima de tokens. Los valores más altos mejoran la calidad de la conversación, pero requieren más memoria GPU. Para DeepSeek-R1-GPTQ-INT8, el máximo recomendado es de aproximadamente 128,000 tokens.

  • RDMA (Remote Direct Memory Access) proporciona redes sin copia de datos y omisión del kernel. Esto reduce la latencia, aumenta el rendimiento y disminuye el uso de CPU en comparación con TCP/IP. Agregue la etiqueta alibabacloud.com/hpn-type: rdma para habilitarlo. Envíe un ticket para confirmar si su modelo de GPU admite RDMA.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: deepseek-r1
  namespace: default
  labels:
    app: deepseek-r1
spec:
  replicas: 1
  selector:
    matchLabels:
      app: deepseek-r1
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
  template:
    metadata:
      labels:
        app: deepseek-r1
        alibabacloud.com/compute-class: gpu
        alibabacloud.com/gpu-model-series: <example-model>
        alibabacloud.com/hpn-type: "rdma"
    spec:
      imagePullSecrets:
        - name: <your-secret-name>
      containers:
        - name: llm-ds-r1
          image: <your-image-address>
          imagePullPolicy: IfNotPresent
          command:
            - sh
            - -c
            - "vllm serve /data/DeepSeek-R1-GPTQ-INT8 --port 8000 --trust-remote-code --served-model-name ds --max-model-len 128000 --quantization moe_wna16 --gpu-memory-utilization 0.98 --tensor-parallel-size 16"
          resources:
            limits:
              alibabacloud.com/gpu: "16"
              cpu: "64"
              memory: 512Gi
            requests:
              alibabacloud.com/gpu: "16"
              cpu: "64"
              memory: 512Gi
          volumeMounts:
            - name: llm-model
              mountPath: /data/DeepSeek-R1-GPTQ-INT8
            - name: shm
              mountPath: /dev/shm
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      volumes:
        - name: llm-model
          persistentVolumeClaim:
            claimName: llm-model
        - name: shm
          emptyDir:
            medium: Memory
            sizeLimit: 32Gi
---
apiVersion: v1
kind: Service
metadata:
  name: deepseek-r1
spec:
  type: ClusterIP
  selector:
    app: deepseek-r1
  ports:
    - protocol: TCP
      port: 8000
      targetPort: 8000

Aplique la configuración:

kubectl apply -f deepseek-r1-deployment.yaml

Paso 3: Comprobar el servicio de inference

  1. Configure el reenvío de puertos hacia el servicio de inference:

    kubectl port-forward svc/deepseek-r1 8000:8000

    Resultado esperado:

    Forwarding from 127.0.0.1:8000 -> 8000
    Forwarding from [::1]:8000 -> 8000

    Importante: el reenvío de puertos de kubectl solo es adecuado para desarrollo y depuración. No ofrece la confiabilidad, seguridad ni escalabilidad que exige un entorno de producción. Para entornos de producción, consulte Get started with ALB Ingress.

  2. Envíe una solicitud de inference de prueba:

    curl http://localhost:8000/v1/chat/completions \
      -H "Content-Type: application/json" \
      -d '{
        "model": "ds",
        "messages": [
          {
            "role": "user",
            "content": "Explain the concept of reinforcement learning in simple terms."
          }
        ],
        "max_tokens": 1024,
        "temperature": 0.7,
        "top_p": 0.9,
        "seed": 10
      }'

    Una respuesta exitosa confirma que el servicio se está ejecutando.

Resultado

Ha desplegado un servicio de inference del modelo completo DeepSeek-R1 en ACS con aceleración GPU. El servicio expone una API compatible con OpenAI, lista para integrarse con sus aplicaciones.