Tema 02: Ecosistema Hugging Face
2. El ecosistema de modelos de IA
El ecosistema Hugging Face
Model Hub
Catálogo con más de 500.000 modelos preentrenados para todas las tareas imaginables: visión, NLP, audio, multimodal.
Datasets
Más de 100.000 datasets públicos listos para entrenar y evaluar, con APIs unificadas de carga y procesamiento.
Spaces
Demos web interactivas con Gradio o Streamlit, desplegadas sin servidor. Prueba modelos en segundos con interfaz gráfica.
Transformers
Librería Python que unifica la API de carga, inferencia y fine-tuning para miles de arquitecturas diferentes.
El flujo típico
Buscar modelo
Probar en Space
Descargar con Transformers
Integrar en tu aplicación
Cómo buscar modelos efectivamente
Descripción y uso
Para qué fue entrenado, qué tareas resuelve, cómo usarlo con código de ejemplo.
Limitaciones
Sesgos conocidos, casos donde falla, advertencias de seguridad y aspectos éticos.
Licencia
Términos legales de uso: ¿puedes usarlo comercialmente? ¿Debes atribuir autoría?
Archivos
Configuración JSON, pesos del modelo (.safetensors preferido), tokenizers, ejemplos.
Métricas
Resultados en benchmarks estándar, comparación con otros modelos.
Las descargas y los likes sirven para descubrir candidatos, no para decidir cuál funciona mejor en tu dominio. La fecha de última actualización avisa de modelos abandonados.
Antes de descargar, lee la ficha
La Model Card contesta si el modelo sirve para tu caso antes de gastar tiempo.
Respuesta B. Exacto: la tarea reduce la búsqueda y la documentación permite juzgar la adecuación.
Un dominio sensible obliga a revisar para qué se entrenó el modelo, con qué datos y qué limitaciones declara. El número de descargas no responde a ninguna de esas preguntas.
Licencias: evita problemas legales
Comercial OK
- Apache-2.0: muy permisiva, ideal para empresas.
- MIT: similar a Apache, aún más simple.
- BSD: variantes 2-clause y 3-clause, ambas permisivas.
Con restricciones
- OpenRAIL/CreativeML: uso comercial OK, pero con cláusulas de uso responsable.
- CC BY-SA: requiere compartir derivados bajo la misma licencia.
No comercial
- Research Only: solo investigación académica.
- CC BY-NC: prohibido uso comercial.
Las condiciones se revisan por artefacto y por versión: el repositorio de código y los pesos publicados pueden llevar licencias distintas, y ambas pueden cambiar entre versiones. Esta clasificación orienta la búsqueda; la decisión final se toma leyendo la licencia vigente del artefacto concreto.
Comprueba licencia y caso de uso
La misma licencia cambia de respuesta según lo que vayas a hacer con el modelo.
Permitido con condiciones
Orientación para buscar, no asesoramiento legal. La licencia real se lee en el artefacto y la versión que vayas a usar.
La tabla recoge lo que explica la diapositiva anterior. Los tres casos que más sorprenden: AGPL no obliga a nada mientras no distribuyas ni sirvas el modelo, pero sí en cuanto lo expones por web; una licencia no comercial tampoco vale para un prototipo interno de empresa, porque el propósito ya es comercial; y CC BY-SA permite vender, pero obliga a publicar los derivados con la misma licencia.
Código y pesos pueden diferir
Un repositorio permisivo no garantiza que los pesos lo sean.
Respuesta B. Exacto: cada recurso puede añadir términos distintos.
Conviene revisar la licencia del repositorio, la del checkpoint concreto y la de los datos de entrenamiento cuando se declara, además de la versión a la que se aplican.
Usar modelos
-
Hub remoto
El modelo vive en Hugging Face Hub identificado por su nombre (ej: «facebook/detr-resnet-50»).
-
Descarga a caché
Primera ejecución: descarga config.json, pesos .safetensors, y metadatos a ~/.cache/huggingface/
-
Carga en memoria
El modelo se instancia en RAM/VRAM según el dispositivo (CPU/GPU) que especifiques.
-
Inferencia
Procesas inputs y obtienes predicciones. Puedes usar GPU y mixed precision para acelerar.
Buenas prácticas
Inferencia en 3 líneas de código
from transformers import pipeline
# 1. Cargar modelo (automáticamente baja config y pesos)
detector = pipeline("object-detection", model="PekingU/rtdetr_r50vd")
# 2. Inferencia
results = detector("imagen.jpg")
# 3. Resultado
print(results) # [{'label': 'cat', 'score': 0.99, 'box': {...}}]
El identificador del modelo determina qué arquitectura y qué preprocesador se instancian. Para reproducibilidad conviene fijar también la revisión. En producción, las clases específicas permiten controlar batching, dispositivo, precisión y formato de salida.
Arma tu pipeline
from transformers import pipeline
pipe = pipeline(
"image-classification",
model="google/vit-base-patch16-224",
device="cpu",
)
salida = pipe("foto.jpg")
print(salida[:3])
ViT base, 86 M de parámetros. Devuelve etiquetas de las 1.000 de ImageNet, así que solo sirve si tus clases están ahí. Arranca en cualquier portátil. Cuenta con segundos por imagen.
Las cuatro tareas usan la misma llamada y cambian el identificador del modelo, que es lo que hace el Hub cómodo para probar. Las dos que aceptan candidate_labels (CLIP y Grounding DINO) son las que permiten cambiar de clases sin reentrenar. El argumento device admite «cpu» o «cuda»; con varias tarjetas se indica el índice.
Qué te ahorra un pipeline
Conviene saber qué pasos quedan ocultos antes de llevarlo a producción.
Respuesta A. Exacto: el pipeline agrupa pasos frecuentes para una primera prueba.
El pipeline reúne preprocesado, inferencia y posprocesado para una tarea común. No elige el modelo por ti ni garantiza el mejor rendimiento en tu dominio.
Del Hub a tu código
Dos formas de cargar el mismo modelo: rápida para probar, específica para producción.
# Para probar: el pipeline resuelve pre y posprocesado
from transformers import pipeline
detector = pipeline("object-detection", model="PekingU/rtdetr_r50vd")
print(detector("mi_imagen.jpg"))
# Para producción: control sobre dispositivo, precisión y salida
import torch
from transformers import AutoImageProcessor, AutoModelForObjectDetection
model_id = "PekingU/rtdetr_r50vd"
processor = AutoImageProcessor.from_pretrained(model_id, revision="main")
model = AutoModelForObjectDetection.from_pretrained(model_id, revision="main")
model = model.to("cuda").eval()
¿Me cabe en la GPU?
Primera pregunta al elegir modelo, y se responde con una multiplicación.
- T4 · 16 GB
- L4 · 24 GB
- A100 · 40 GB
- Colab gratis · 15 GB
- Portátil · 8 GB
Memoria estimada para inferencia0,8 GB
Solo los pesos0,6 GB
Cabe en 5 de las 5 tarjetas de la lista, contando solo inferencia.
Pesos por precisión más un 35 % de margen para activaciones y fragmentación, con lotes pequeños. Entrenar necesita bastante más, porque además guarda gradientes y estados del optimizador.
La cuenta es directa: parámetros por bytes de cada precisión. En float32 cada parámetro ocupa 4 bytes, en float16 dos y cuantizado a int8 uno. Por eso pasar de float32 a float16 es lo primero que se prueba cuando un modelo no entra, y suele costar muy poca calidad en inferencia.
Candidatos reales para visión
Filtra por tarea y por licencia, que son los dos criterios que descartan antes.
Modelos visibles: 7
PekingU/rtdetr_r50vdDetección COCO, tiempo realApache-2.0~42 M
facebook/detr-resnet-50El DETR original, de referenciaApache-2.0~41 M
hustvl/yolos-smallDetección con ViT puroApache-2.0~31 M
IDEA-Research/grounding-dino-baseCajas a partir de una fraseApache-2.0~233 M
google/owlv2-base-patch16Vocabulario abierto por textoApache-2.0~154 M
facebook/sam2.1-hiera-largeSegmentación con prompts, imagen y vídeoApache-2.0~224 M
facebook/dinov2-baseFeatures densas sin etiquetasApache-2.0~86 M
openai/clip-vit-base-patch32Imagen y texto en un espacio comúnMIT~151 M
briaai/RMBG-1.4Recorte de fondo con canal alfaNo comercial~44 M
Lista consultada el 17 de septiembre de 2026 y pensada como punto de partida, no como ranking. Los tamaños son aproximados y la licencia debe confirmarse en la ficha del modelo y de sus pesos antes de usarlo, porque puede cambiar entre versiones. Fíjate en el caso de RMBG-1.4: excelente para recortar fondo, pero su licencia no permite uso comercial sin acuerdo.
Pruébalo ahora, sin instalar nada
Un Space es el modelo ya montado y corriendo en el navegador. Arrastras tu foto y ves la salida, sin entorno, sin pesos y sin GPU.
Quitar el fondo
Sube una foto de producto y descarga el recorte con transparencia. Es el modelo del tema 6 puesto a trabajar.
Profundidad de una sola foto
Sube cualquier foto y mira el mapa de distancias. Prueba con una imagen con espejos o cristales y verás dónde falla.
Detectar escribiendo la clase
Página de la tarea, con los modelos, los datasets y los Spaces que están vivos hoy. Escribe «una caja de cartón» y mira qué encuentra.
Segmentar
La misma idea para máscaras: modelos de segmentación semántica, de instancias y promptable, con demos que puedes abrir al momento.
Puntos clave
Pose de personas y puntos de interés para matching, con los 413 modelos que hay publicados y sus demos.
Preguntar sobre una imagen
Los modelos que reciben imagen y texto y responden. Sube una foto de una etiqueta y pídele los campos en JSON.
El reto de diez minutos
- Busca por tarea, no por nombreEntra en la página de la tarea que te interesa y ordena por descargas del último mes.
- Abre un Space y sube una foto tuyaUna de tu trabajo, no una de internet. Lo que falle aquí va a fallar en producción.
- Mira la licencia antes de emocionarteEstá en la ficha del modelo, no en la del Space. Si pone AGPL o «research only», anótalo.
- Copia el fragmento de la fichaCasi todas traen tres líneas listas para pegar en el cuaderno.
- Apunta el tamaño y la fechaParámetros y última actualización. Un modelo abandonado hace tres años es una deuda, no un atajo.
Un Space es un repositorio con una aplicación Gradio o Streamlit y un fichero de dependencias, que Hugging Face construye y ejecuta. En el nivel gratuito corre en CPU y se duerme tras un rato sin visitas, de ahí que a veces tarde en arrancar o falle al construirse. Cualquiera puede duplicar un Space en su cuenta con el botón de duplicar, cambiarle el modelo y tener su propia demo en minutos, que es la forma más rápida de enseñar un resultado a alguien que no programa. Para un piloto interno conviene duplicarlo en privado en lugar de usar el público.
Antes de quedarte con un modelo del Hub
Siete comprobaciones que evitan rehacer el trabajo.
- La tarea coincideLa etiqueta del Hub dice lo que necesitas, no algo parecido.
- La licencia permite tu usoComprobada en el repositorio y en los pesos, para la versión que vas a usar.
- La ficha declara limitacionesSesgos, casos donde falla, datos de entrenamiento. Si no dice nada, desconfía.
- Cabe en tu hardwareCon la precisión que vas a usar y con margen para el lote.
- Formato de pesos seguro.safetensors antes que .bin.
- Revisión anotadaIdentificador y revisión guardados para poder reproducir.
- Probado con tus datosUna decena de imágenes tuyas dicen más que cualquier métrica publicada.
Busca y prueba un modelo
Compara la documentación con lo que observas al ejecutar el cuaderno.
- Guarda una copia en Drive.
- Ejecuta el modelo propuesto.
- Elige otro y justifica la decisión.
Para que la comparación sea reproducible, anota el identificador y la revisión del modelo, la tarea, la licencia, el preprocesador, el dispositivo y el consumo aproximado de memoria. Las descargas o likes sirven para descubrir candidatos, no para decidir cuál funciona mejor en tu dominio.