Apidog

Plataforma de desarrollo de API colaborativa todo en uno

Diseño de API

Documentación de API

Depuración de API

Simulación de API

Prueba automatizada de API

¿Cómo desplegar Deepseek R1 en la nube?

Aprende a desplegar Deepseek R1 en AWS, Azure y Digital Ocean paso a paso. Optimiza el rendimiento y usa Apidog para pruebas API. ¡Empieza ya!

Daniel Costa

Daniel Costa

Updated on April 15, 2025

¿Estás buscando implementar Deepseek R1 —uno de los modelos de lenguaje grandes más potentes— en una plataforma en la nube? Ya sea que estés trabajando en AWS, Azure o Digital Ocean, esta guía te tiene cubierto. Al final de esta publicación, tendrás una hoja de ruta clara para poner en marcha tu modelo Deepseek R1 con facilidad. Además, te mostraremos cómo herramientas como Apidog pueden ayudar a optimizar las pruebas de API durante la implementación.

💡
Descarga Apidog gratis hoy mismo para probar tus API sin esfuerzo y garantizar una integración perfecta con tu modelo implementado.
button

¿Por qué implementar Deepseek R1 en la nube?

Implementar Deepseek R1 en la nube no se trata solo de escalabilidad; se trata de aprovechar el poder de las GPU y la infraestructura sin servidor para manejar cargas de trabajo masivas de manera eficiente. Con sus 671B parámetros, Deepseek R1 exige hardware robusto y configuraciones optimizadas. La nube proporciona flexibilidad, rentabilidad y recursos de alto rendimiento que hacen que la implementación de tales modelos sea factible incluso para equipos más pequeños.

En esta guía, te guiaremos a través de la implementación de Deepseek R1 en tres plataformas populares: AWS, Azure y Digital Ocean. También compartiremos consejos para optimizar el rendimiento e integrar herramientas como Apidog para la gestión de API.

Preparando tu entorno

Antes de lanzarnos a la implementación, preparemos nuestro entorno. Esto implica configurar tokens de autenticación, garantizar la disponibilidad de la GPU y organizar tus archivos.

Tokens de autenticación

Cada proveedor de la nube requiere alguna forma de autenticación. Por ejemplo:

  • En AWS , necesitarás un rol de IAM con permisos para acceder a los buckets de S3 y las instancias de EC2.
  • En Azure , puedes usar experiencias de autenticación simplificadas proporcionadas por los SDK de Azure Machine Learning.
  • En Digital Ocean , genera un token de API desde el panel de control de tu cuenta.

Estos tokens son cruciales porque permiten una comunicación segura entre tu máquina local y la plataforma en la nube.

Organización de archivos

Organiza tus archivos sistemáticamente. Si estás usando Docker (lo cual es altamente recomendado), crea un Dockerfile que contenga todas las dependencias. Herramientas como Tensorfuse proporcionan plantillas preconstruidas para implementar Deepseek R1. De manera similar, los usuarios de IBM Cloud deben cargar sus archivos de modelo a Object Storage antes de continuar.

Opción 1: Implementar Deepseek R1 en AWS usando Tensorfuse

Comencemos con Amazon Web Services (AWS), una de las plataformas en la nube más utilizadas. AWS es como una navaja suiza: tiene herramientas para cada tarea, desde almacenamiento hasta potencia de cómputo. En esta sección, nos centraremos en la implementación de Deepseek R1 usando Tensorfuse, lo cual simplifica el proceso significativamente.

¿Por qué construir con Deepseek-R1?

Antes de sumergirnos en los detalles técnicos, entendamos por qué Deepseek R1 destaca:

  • Alto rendimiento en evaluaciones: Logra resultados sólidos en puntos de referencia estándar de la industria, obteniendo un 90.8% en MMLU y un 79.8% en AIME 2024.
  • Razonamiento avanzado: Maneja tareas de razonamiento lógico de varios pasos con un contexto mínimo, sobresaliendo en puntos de referencia como LiveCodeBench (Pass@1-COT) con una puntuación de 65.9%.
  • Soporte multilingüe: Preentrenado en datos lingüísticos diversos, lo que lo hace experto en la comprensión multilingüe.
  • Modelos destilados escalables: Las variantes destiladas más pequeñas (2B, 7B y 70B) ofrecen opciones más económicas sin comprometer el costo.

Estas fortalezas hacen de Deepseek R1 una excelente opción para aplicaciones listas para producción, desde chatbots hasta análisis de datos a nivel empresarial.

Prerrequisitos

Antes de comenzar, asegúrate de haber configurado Tensorfuse en tu cuenta de AWS. Si aún no lo has hecho, sigue la guía de Introducción. Esta configuración es como preparar tu espacio de trabajo antes de comenzar un proyecto: asegura que todo esté en su lugar para un proceso sin problemas.

Paso 1: Establece tu token de autenticación de API

Genera una cadena aleatoria que se utilizará como tu token de autenticación de API. Guárdalo como un secreto en Tensorfuse usando el siguiente comando:

tensorkube secret create vllm-token VLLM_API_KEY=vllm-key --env default

Asegúrate de que en producción, uses un token generado aleatoriamente. Puedes generar uno rápidamente usando openssl rand -base64 32 y recuerda mantenerlo seguro ya que los secretos de Tensorfuse son opacos.

Paso 2: Prepara el Dockerfile

Usaremos la imagen oficial de vLLM OpenAI como nuestra imagen base. Esta imagen viene con todas las dependencias necesarias para ejecutar vLLM.

Aquí está la configuración del Dockerfile:

# Dockerfile for Deepseek-R1-671B
FROM vllm/vllm-openai:latest
# Enable HF Hub Transfer
ENV HF_HUB_ENABLE_HF_TRANSFER 1
# Expose port 80
EXPOSE 80
# Entrypoint with API key
ENTRYPOINT ["python3", "-m", "vllm.entrypoints.openai.api_server", \
            "--model", "deepseek-ai/DeepSeek-R1", \
            "--dtype", "bfloat16", \
            "--trust-remote-code", \
            "--tensor-parallel-size","8", \
            "--max-model-len", "4096", \
            "--port", "80", \
            "--cpu-offload-gb", "80", \
            "--gpu-memory-utilization", "0.95", \
            "--api-key", "${VLLM_API_KEY}"]

Esta configuración asegura que el servidor vLLM esté optimizado para los requisitos específicos de Deepseek R1, incluyendo la utilización de la memoria de la GPU y el paralelismo de tensores.

Paso 3: Configuración de la implementación

Crea un archivo deployment.yaml para definir tu configuración de implementación:

# deployment.yaml for Deepseek-R1-671B
gpus: 8
gpu_type: h100
secret:
  - vllm-token
min-scale: 1
readiness:
  httpGet:
    path: /health
    port: 80

Implementa tu servicio usando el siguiente comando:

tensorkube deploy --config-file ./deployment.yaml

Este comando configura un servicio LLM de producción de escalado automático listo para servir solicitudes autenticadas.

Paso 4: Accediendo a la aplicación implementada

Una vez que la implementación sea exitosa, puedes probar tu punto final usando curl o la biblioteca cliente OpenAI de Python. Aquí hay un ejemplo usando curl:

curl --request POST \
  --url YOUR_APP_URL/v1/completions \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer vllm-key' \
  --data '{
    "model": "deepseek-ai/DeepSeek-R1",
    "prompt": "Earth to Robotland. What's up?",
    "max_tokens": 200
}'

Para los usuarios de Python, aquí hay un fragmento de código de ejemplo:

import openai
# Replace with your actual URL and token
base_url = "YOUR_APP_URL/v1"
api_key = "vllm-key"
openai.api_base = base_url
openai.api_key = api_key
response = openai.Completion.create(
    model="deepseek-ai/DeepSeek-R1",
    prompt="Hello, Deepseek R1! How are you today?",
    max_tokens=200
)
print(response)

Opción 2: Implementar Deepseek R1 en Azure

Implementar Deepseek R1 en Azure Machine Learning (Azure ML) es un proceso optimizado que aprovecha la infraestructura robusta de la plataforma y las herramientas avanzadas para la inferencia en tiempo real. En esta sección, te guiaremos a través de la implementación de Deepseek R1 usando los Managed Online Endpoints de Azure ML. Este enfoque garantiza escalabilidad, eficiencia y facilidad de gestión.

Paso 1: Crea un entorno personalizado para vLLM en Azure ML

Para comenzar, necesitamos crear un entorno personalizado adaptado para vLLM, que servirá como la columna vertebral para implementar Deepseek R1. El marco de trabajo vLLM está optimizado para la inferencia de alto rendimiento, lo que lo hace ideal para manejar modelos de lenguaje grandes como Deepseek R1.

1.1: Define el Dockerfile :Comenzamos creando un Dockerfile que especifica el entorno para nuestro modelo. El contenedor base vLLM incluye todas las dependencias y controladores necesarios, asegurando una configuración sin problemas:

FROM vllm/vllm-openai:latest
ENV MODEL_NAME deepseek-ai/DeepSeek-R1-Distill-Llama-8B
ENTRYPOINT python3 -m vllm.entrypoints.openai.api_server --model $MODEL_NAME $VLLM_ARGS

Este Dockerfile nos permite pasar el nombre del modelo a través de una variable de entorno (MODEL_NAME), lo que permite flexibilidad al seleccionar el modelo deseado durante la implementación. Por ejemplo, puedes cambiar fácilmente entre diferentes versiones de Deepseek R1 sin modificar el código subyacente.

1.2: Inicia sesión en el espacio de trabajo de Azure ML: A continuación, inicia sesión en tu espacio de trabajo de Azure ML usando la CLI de Azure. Reemplaza <subscription ID>, <Azure Machine Learning workspace name> y <resource group> con tus detalles específicos:

az account set --subscription <subscription ID>
az configure --defaults workspace=<Azure Machine Learning workspace name> group=<resource group>

Este paso asegura que todos los comandos subsiguientes se ejecuten dentro del contexto de tu espacio de trabajo.

1.3: Crea el archivo de configuración del entorno: Ahora, crea un archivo environment.yml para definir la configuración del entorno. Este archivo hace referencia al Dockerfile que creamos anteriormente:

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: r1
build:
  path: .
  dockerfile_path: Dockerfile

1.4: Construye el entorno: Con el archivo de configuración listo, construye el entorno usando el siguiente comando:

az ml environment create -f environment.yml

Este paso compila el entorno, haciéndolo disponible para su uso en tu implementación.

Paso 2: Implementa el Managed Online Endpoint de Azure ML

Una vez que el entorno está configurado, pasamos a implementar el modelo Deepseek R1 usando Managed Online Endpoints de Azure ML. Estos puntos finales proporcionan capacidades de inferencia escalables en tiempo real, lo que los hace perfectos para aplicaciones de nivel de producción.

2.1: Crea el archivo de configuración del punto final: Comienza creando un archivo endpoint.yml para definir el Managed Online Endpoint:

$schema: https://azuremlsdk2.blob.core.windows.net/latest/managedOnlineEndpoint.schema.json
name: r1-prod
auth_mode: key

Esta configuración especifica el nombre del punto final (r1-prod) y el modo de autenticación (key). Puedes recuperar el URI de puntuación y las claves de API del punto final más tarde para fines de prueba.

2.2: Crea el punto final: Usa el siguiente comando para crear el punto final:

az ml online-endpoint create -f endpoint.yml

2.3: Recupera la dirección de la imagen de Docker: Antes de continuar, recupera la dirección de la imagen de Docker creada en el Paso 1. Navega a Azure ML Studio > Entornos > r1 para localizar la dirección de la imagen. Se verá algo así:

xxxxxx.azurecr.io/azureml/azureml_xxxxxxxx

2.4: Crea el archivo de configuración de la implementación: A continuación, crea un archivo deployment.yml para configurar los ajustes de la implementación. Este archivo especifica el modelo, el tipo de instancia y otros parámetros:

$schema: https://azuremlschemas.azureedge.net/latest/managedOnlineDeployment.schema.json
name: current
endpoint_name: r1-prod
environment_variables:
  MODEL_NAME: deepseek-ai/DeepSeek-R1-Distill-Llama-8B
  VLLM_ARGS: "" # Optional arguments for vLLM runtime
environment:
  image: xxxxxx.azurecr.io/azureml/azureml_xxxxxxxx # Paste Docker image address here
  inference_config:
    liveness_route:
      port: 8000
      path: /ping
    readiness_route:
      port: 8000
      path: /health
    scoring_route:
      port: 8000
      path: /
instance_type: Standard_NC24ads_A100_v4
instance_count: 1
request_settings: # Optional but important for optimizing throughput
    max_concurrent_requests_per_instance: 32
    request_timeout_ms: 60000
liveness_probe:
  initial_delay: 10
  period: 10
  timeout: 2
  success_threshold: 1
  failure_threshold: 30
readiness_probe:
  initial_delay: 120 # Wait for 120 seconds before probing, allowing the model to load peacefully
  period: 10
  timeout: 2
  success_threshold: 1
  failure_threshold: 30

Parámetros clave a considerar:

  • instance_count: Define cuántos nodos de Standard_NC24ads_A100_v4 se van a activar. Aumentar este valor escala el rendimiento linealmente, pero también aumenta el costo.
  • max_concurrent_requests_per_instance: Controla el número de solicitudes concurrentes permitidas por instancia. Los valores más altos aumentan el rendimiento, pero pueden aumentar la latencia.
  • request_timeout_ms: Especifica el tiempo máximo (en milisegundos) que el punto final espera una respuesta antes de agotarse el tiempo. Ajusta esto según los requisitos de tu carga de trabajo.

2.5: Implementa el modelo: Finalmente, implementa el modelo Deepseek R1 usando el siguiente comando:

az ml online-deployment create -f deployment.yml --all-traffic

Este paso completa la implementación, haciendo que el modelo sea accesible a través del punto final especificado.

Paso 3: Probando la implementación

Una vez que la implementación está completa, es hora de probar el punto final para asegurar que todo esté funcionando como se espera.

3.1: Recupera los detalles del punto final: Usa los siguientes comandos para recuperar el URI de puntuación y las claves de API del punto final:

az ml online-endpoint show -n r1-prod
az ml online-endpoint get-credentials -n r1-prod

3.2: Transmite respuestas usando el SDK de OpenAI: Para transmitir respuestas, puedes usar el SDK de OpenAI:

from openai import OpenAI

url = "https://r1-prod.polandcentral.inference.ml.azure.com/v1"
client = OpenAI(base_url=url, api_key="xxxxxxxx")

response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-R1-Distill-Llama-8B",
    messages=[
        {"role": "user", "content": "What is better, summer or winter?"},
    ],
    stream=True
)

for chunk in response:
    delta = chunk.choices[0].delta
    if hasattr(delta, "content"):
        print(delta.content, end="", flush=True)

Paso 4: Monitoreo y escalado automático

Azure Monitor proporciona información completa sobre la utilización de recursos, incluidas las métricas de la GPU. Cuando está bajo carga constante, notarás que vLLM consume aproximadamente el 90% de la memoria de la GPU, con una utilización de la GPU que se acerca al 100%. Estas métricas te ayudan a ajustar el rendimiento y optimizar los costos.

Para habilitar el escalado automático, configura las políticas de escalado basadas en los patrones de tráfico. Por ejemplo, puedes aumentar el instance_count durante las horas pico y reducirlo durante las horas de menor actividad para equilibrar el rendimiento y el costo.

Opción 3: Implementar Deepseek R1 en Digital Ocean

Finalmente, discutamos la implementación de Deepseek R1 en Digital Ocean , conocido por su simplicidad y asequibilidad.

Prerrequisitos

Antes de sumergirnos en el proceso de implementación, asegurémonos de que tienes todo lo que necesitas:

  • Cuenta de DigitalOcean: Si aún no tienes una, regístrate para obtener una cuenta de DigitalOcean. Los nuevos usuarios reciben un crédito de $100 para los primeros 60 días, lo cual es perfecto para experimentar con droplets impulsados por GPU.
  • Familiaridad con Bash Shell: Estarás usando la terminal para interactuar con tu droplet, descargar dependencias y ejecutar comandos. No te preocupes si no eres un experto: cada comando se proporcionará paso a paso.
  • GPU Droplet: DigitalOcean ahora ofrece GPU droplets diseñados específicamente para cargas de trabajo de IA/ML. Estos droplets vienen equipados con GPU NVIDIA H100, lo que los hace ideales para implementar modelos grandes como Deepseek R1.

Con estos prerrequisitos en su lugar, estás listo para avanzar.

Configurando el GPU Droplet

El primer paso es configurar tu máquina. Piensa en esto como preparar el lienzo antes de pintar: quieres que todo esté listo antes de sumergirte en los detalles.

Paso 1: Crea un nuevo GPU Droplet

  1. Inicia sesión en tu cuenta de DigitalOcean y navega a la sección Droplets.
  2. Haz clic en Crear Droplet y selecciona el sistema operativo AI/ML Ready. Este sistema operativo viene preconfigurado con controladores CUDA y otras dependencias necesarias para la aceleración de la GPU.
  3. Elige una sola GPU NVIDIA H100 a menos que planees implementar la versión más grande de 671B parámetros de Deepseek R1, lo cual puede requerir múltiples GPU.
  4. Una vez que tu droplet esté creado, espera a que se active. Este proceso normalmente toma solo unos minutos.


¿Por qué elegir la GPU H100?

La GPU NVIDIA H100 es una potencia, que ofrece 80 GB de vRAM, 240 GB de RAM y 720 GB de almacenamiento. A $6.47 por hora, es una opción rentable para implementar modelos de lenguaje grandes como Deepseek R1. Para modelos más pequeños, como la versión de 70B parámetros, una sola GPU H100 es más que suficiente.

Instalando Ollama & Deepseek R1

Ahora que tu GPU droplet está en funcionamiento, es hora de instalar las herramientas necesarias para ejecutar Deepseek R1. Usaremos Ollama, un marco de trabajo ligero diseñado para simplificar la implementación de modelos de lenguaje grandes.

Paso 1: Abre la consola web

Desde la página de detalles de tu droplet, haz clic en el botón Consola web ubicado en la esquina superior derecha. Esto abre una ventana de terminal directamente en tu navegador, eliminando la necesidad de configuración SSH.

Paso 2: Instala Ollama

En la terminal, pega el siguiente comando para instalar Ollama:

curl -fsSL https://ollama.com/install.sh | sh

Este script automatiza el proceso de instalación, descargando y configurando todas las dependencias necesarias. La instalación puede tomar unos minutos, pero una vez completa, tu máquina estará lista para ejecutar Deepseek R1.

Paso 3: Ejecuta Deepseek R1

Con Ollama instalado, ejecutar Deepseek R1 es tan simple como ejecutar un solo comando. Para esta demostración, usaremos la versión de 70B parámetros, que logra un equilibrio entre rendimiento y uso de recursos:

ollama run deepseek-r1:70b

La primera vez que ejecutes este comando, descargará el modelo (aproximadamente 40 GB) y lo cargará en la memoria. Este proceso puede tomar varios minutos, pero las ejecuciones posteriores serán mucho más rápidas ya que el modelo se almacena en caché localmente.

Una vez que el modelo esté cargado, verás un indicador interactivo donde puedes comenzar a interactuar con Deepseek R1. ¡Es como tener una conversación con un asistente altamente inteligente!

Pruebas y monitoreo con Apidog

Una vez que tu modelo Deepseek R1 esté implementado, es hora de probar y monitorear su rendimiento. Aquí es donde Apidog brilla. Prueba la API de DeepSeek aquí.

button

¿Qué es Apidog?

Apidog es una poderosa herramienta de prueba de API diseñada para simplificar la depuración y la validación. Con su interfaz intuitiva, puedes crear rápidamente casos de prueba, simular respuestas y monitorear la salud de la API.

¿Por qué usar Apidog?

  • Facilidad de uso : ¡No se requiere codificación! La funcionalidad de arrastrar y soltar te permite construir pruebas visualmente.
  • Capacidades de integración : Se integra perfectamente con las canalizaciones de CI/CD, lo que lo hace ideal para flujos de trabajo de DevOps.
  • Información en tiempo real : Monitorea la latencia, las tasas de error y el rendimiento en tiempo real.

Al integrar Apidog en tu flujo de trabajo, puedes asegurar que tu implementación de Deepseek R1 siga siendo confiable y funcione de manera óptima bajo cargas variables.

Conclusión

Implementar Deepseek R1 en la nube no tiene por qué ser desalentador. Siguiendo los pasos descritos anteriormente, puedes configurar con éxito este modelo de vanguardia en AWS, Azure o Digital Ocean. Recuerda aprovechar herramientas como Apidog para optimizar los procesos de prueba y monitoreo.

💡
¿Listo para dar el siguiente paso? Descarga Apidog gratis hoy mismo y sobrecarga tus capacidades de gestión de API mientras implementas Deepseek R1.
button
Cómo usar Ollama: Guía Completa para Principiantes sobre LLMs Locales con OllamaPunto de vista

Cómo usar Ollama: Guía Completa para Principiantes sobre LLMs Locales con Ollama

El panorama de la inteligencia artificial evoluciona constantemente, y los Grandes Modelos de Lenguaje (LLM) se vuelven cada vez más potentes y accesibles. Aunque muchos interactúan con estos modelos a través de servicios basados en la nube, existe un movimiento creciente enfocado en ejecutarlos directamente en computadoras personales. Aquí es donde entra Ollama. Ollama es una herramienta potente pero fácil de usar, diseñada para simplificar drásticamente el complejo proceso de descargar, config

Mikael Svenson

April 28, 2025

¿Dónde Descargar Swagger UI en Español Gratis?Punto de vista

¿Dónde Descargar Swagger UI en Español Gratis?

¿Necesitas Swagger UI en español? Este artículo explica por qué no existe una descarga oficial gratuita y cómo habilitar la traducción. Explora las características de Swagger y por qué Apidog es la alternativa superior para diseño, pruebas y documentación API integrados.

Oliver Kingsley

April 23, 2025

¿Dónde Descargar Postman en Español Gratis?Punto de vista

¿Dónde Descargar Postman en Español Gratis?

¿Puedes descargar Postman en español gratis? Aunque Postman carece de soporte nativo en español, existen soluciones. Explóralas y descubre Apidog, una potente alternativa unificada a Postman diseñada para optimizar todo tu flujo de trabajo de API, sin importar el idioma.

Oliver Kingsley

April 22, 2025