Hub documentation

Introducción

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Introducción

Ejecuta tu código de Python en las CPUs y GPUs de Hugging Face. En esta guía, ejecutarás un comando simple en una CPU y luego generarás texto con un modelo de lenguaje pequeño en una GPU.

Necesitarás una cuenta de Hugging Face con créditos prepagados. Consulta Pricing and Billing para conocer los costos de cómputo.

1. Configurar la CLI

Instala la CLI de Hugging Face y luego inicia sesión en tu cuenta:

>>> hf auth login

2. Ejecutar Hello World

Ejecuta este comando en tu terminal:

>>> hf jobs uv run python -c 'print("Hello from the cloud!")'

hf jobs uv run ejecuta el comando en un entorno de Python en la infraestructura de Hugging Face. Utiliza una CPU de forma predeterminada y transmite los registros del Job a tu terminal. Después del inicio, verás:

Hello from the cloud!

La CLI también imprime el ID de tu Job y un enlace a su página. Abre el enlace para ver su estado y registros en tu navegador. Puedes encontrar tus Jobs de nuevo en tu página de Jobs, o usar el ID con los comandos de CLI a continuación.

Los trabajos también pueden ejecutar un comando en cualquier imagen de Docker:

>>> hf jobs run ubuntu echo 'Hello from the cloud!'

El resto de esta guía utiliza hf jobs uv run. Consulta Uso de imágenes de Docker para saber cuándo y cómo usar una imagen.

3. Ejecutar un modelo en una GPU

Ejecuta este script preparado para generar un nombre de robot. Puedes verlo en GitHub o leer el código a continuación.

hf jobs uv run \
    --flavor t4-small \
    --timeout 5m \
    https://raw.githubusercontent.com/huggingface/hub-docs/main/examples/jobs/hello_gpu.py
  • --flavor t4-small selecciona una máquina con una GPU NVIDIA T4.
  • --timeout 5m establece un límite de cinco minutos para el Job.

El Job descarga el modelo e imprime su respuesta en los registros. Por ejemplo:

RoboLearnbot

Aquí está el script completo:

# /// script
# dependencies = ["torch", "transformers"]
# ///

from transformers import pipeline

generator = pipeline(
    "text-generation",
    model="HuggingFaceTB/SmolLM2-360M-Instruct",
    dtype="float16",
)
messages = [{
    "role": "user",
    "content": "Suggest a name for a robot that helps people learn Python. Answer with only the name.",
}]
outputs = generator(messages, max_new_tokens=48, do_sample=False, return_full_text=False)
print(outputs[0]["generated_text"])

El encabezado de dependencias le indica a uv que instale torch y transformers en el Job. También puedes especificar dependencias con --with. Solo necesitas la CLI hf localmente.

El script ejecuta SmolLM2-360M-Instruct en la GPU del trabajo. max_new_tokens limita la longitud de la respuesta.

El tiempo de inicio varía según la disponibilidad del hardware, la instalación de dependencias y las descargas de modelos.

Al presionar Ctrl+C se detiene la transmisión de registros; el Job sigue ejecutándose. Para detener el Job, use hf jobs cancel JOB_ID, reemplazando JOB_ID con el ID que imprime la CLI.

También puede iniciar el mismo Job desde Python con el cliente huggingface_hub:

from huggingface_hub import run_uv_job

job = run_uv_job(
    "https://raw.githubusercontent.com/huggingface/hub-docs/main/examples/jobs/hello_gpu.py",
    flavor="t4-small",
    timeout="5m",
)
print(job.url)

4. Comprueba tu resultado

Utilice el ID del trabajo de GPU para verificar su estado y leer sus registros nuevamente:

>>> hf jobs inspect JOB_ID
>>> hf jobs logs JOB_ID

Una ejecución exitosa tiene el estado COMPLETED y sus registros contienen la respuesta generada.

La respuesta sigue disponible en los registros del Job después de que finalice. Cuando adaptes el script para generar archivos, guarda esos resultados en un bucket o en un repositorio de Hub para que sobrevivan al Job.

Prueba tu propio script (opcional)

Copia el código anterior en hello_gpu.py, edita el prompt en messages y ejecuta tu archivo local:

hf jobs uv run --flavor t4-small --timeout 5m hello_gpu.py

La CLI sube automáticamente tu script editado. Reemplaza hello_gpu.py con su ruta si lo guardaste en otro lugar.

Próximos pasos

Construya sobre este ejemplo con una carga de trabajo mayor:

Update on GitHub