Hugging Face
Hugging Face
Hugging Face es, sin exagerar, la plataforma más importante del ecosistema open source de IA. Si GitHub es donde los desarrolladores comparten código, Hugging Face es donde comparten modelos de inteligencia artificial, datasets y aplicaciones de demostración. Nació en 2016 como una startup de chatbots y hoy es el hub central de la comunidad de machine learning open source.
¿Qué es Hugging Face?
Hugging Face es una plataforma que reúne tres pilares fundamentales:
- Model Hub: Un repositorio con más de 500.000 modelos de IA (texto, imagen, audio, video, multimodal) que cualquiera puede descargar y usar gratuitamente.
- Datasets: Una colección de más de 100.000 datasets públicos para entrenar y evaluar modelos.
- Spaces: Aplicaciones web interactivas donde puedes probar modelos sin escribir una línea de código, y donde cualquier usuario puede desplegar sus propias demos.
La filosofía es clara: democratizar el acceso a la IA para que cualquier persona, sin importar su nivel técnico, pueda usar modelos de vanguardia sin costo.
Cómo usar Hugging Face gratis
Hugging Face ofrece un plan gratuito muy generoso:
- Cuenta gratuita: Crear una cuenta no cuesta nada y te da acceso completo al Model Hub, Datasets y Spaces.
- Inference API gratuita: Puedes hacer llamadas a la mayoría de modelos a través de la API sin pagar, con límites de rate razonables para uso individual.
- Spaces gratuitos: Puedes crear Spaces con hardware gratuito (CPU básico) para desplegar demos.
- Descarga directa: Todos los modelos y datasets se pueden clonar con Git o descargar directamente.
Solo necesitas registrarte en huggingface.co para empezar.
Model Hub: Buscar y probar modelos
El Model Hub es el corazón de Hugging Face. Funciona como un buscador de modelos donde puedes:
- Filtrar por tarea: Clasificación de texto, generación, traducción, resumen, pregunta-respuesta, detección de objetos, generación de imágenes, reconocimiento de voz, y decenas más.
- Filtrar por tipo: Solo modelos con license abierta, solo modelos cuantizados para ejecutar en hardware limitado, solo modelos de una organización específica.
- Probar en el navegador: Muchos modelos tienen un widget interactivo en su página donde puedes introducir texto o imágenes y ver el resultado al instante.
Cursos de modelos populares por tarea
| Tarea | Modelo recomendado | Tamaño |
|---|---|---|
| Chat / Instrucción | meta-llama/Llama-3.2-3B-Instruct | 3B params |
| Generación de texto | openai-community/gpt2 | 124M params |
| Clasificación de sentimiento | distilbert/distilbert-base-uncased-finetuned-sst-2-english | 66M params |
| Traducción | Helsinki-NLP/opus-mt-es-en | ~300M params |
| Generación de imágenes | stabilityai/stable-diffusion-xl-base-1.0 | ~3.5B params |
| Transcripción de audio | openai/whisper-small | 244M params |
| Embeddings | sentence-transformers/all-MiniLM-L6-v2 | 22M params |
Para buscar un modelo, ve a huggingface.co/models, selecciona la tarea en el menú lateral y explora los resultados ordenados por popularidad o por fecha.
Spaces: Aplicaciones demo gratuitas
Los Spaces son apps web que任何人 puede crear y usar sin costo. Son la forma más fácil de probar modelos de IA sin instalar nada.
Tipos de Spaces
- Gradio: El más popular. Crea interfaces web con controles simples (cajas de texto, botones, sliders, imágenes). Ideal para demos de modelos.
- Streamlit: Framework de Python para dashboards interactivos. Útil para visualizaciones y análisis.
- Docker Spaces: Contenedores personalizados. Máxima flexibilidad: puedes instalar cualquier dependencia y ejecutar cualquier código.
- Static: Para páginas HTML/CSS/JS simples sin backend.
Hardware gratuito vs. de pago
- CPU gratuito: Suficiente para modelos pequeños de texto, clasificación, y demos ligeras.
- GPU T4 ($0.40/hora): Para generación de imágenes, LLMs medianos, y tareas más pesadas.
- GPU A10G/A100: Para entrenamiento fine-tuning y modelos grandes.
Para la mayoría de demos educativas, el CPU gratuito es suficiente.
Inference API: Usar modelos sin instalar nada
La Inference API te permite hacer peticiones HTTP a modelos hospedados en los servidores de Hugging Face. Es la forma más rápida de integrar IA en tus proyectos.
Ejemplo: Usar un modelo de texto
import requests
API_URL = "https://api-inference.huggingface.co/models/distilbert/distilbert-base-uncased-finetuned-sst-2-english"headers = {"Authorization": "Bearer TU_TOKEN"}
response = requests.post(API_URL, headers=headers, json={"inputs": "I love Hugging Face!"})print(response.json())# [{'label': 'POSITIVE', 'score': 0.9998}]Ejemplo: Generación de imágenes con Stable Diffusion
import requests
API_URL = "https://api-inference.huggingface.co/models/stabilityai/stable-diffusion-xl-base-1.0"headers = {"Authorization": "Bearer TU_TOKEN"}
payload = {"inputs": "A futuristic city at sunset, digital art"}response = requests.post(API_URL, headers=headers, json=payload)
# La respuesta es la imagen en formato binariowith open(" imagen.png", "wb") as f: f.write(response.content)Cómo obtener tu token
- Regístrate en huggingface.co
- Ve a Settings > Access Tokens
- Crea un token con permisos de lectura (
Read) - Úsalo en el header
Authorization: Bearer TU_TOKEN
Límites de la API gratuita
- Rate limiting: ~1000 peticiones/día para modelos pequeños, menos para modelos grandes.
- Cold starts: Si un modelo no ha sido usado recientemente, la primera petición puede tardar 20-60 segundos mientras se carga.
- No garantía de uptime: Es un servicio gratuito, no apto para producción.
Transformers Library
La biblioteca transformers de Hugging Face es la herramienta principal para usar modelos de IA en Python. Funciona con PyTorch, TensorFlow y JAX.
Instalación
pip install transformers# Para usar GPU o funcionalidades adicionales:pip install transformers[torch]Ejemplo: Clasificación de sentimiento
from transformers import pipeline
clasificador = pipeline("sentiment-analysis")resultado = clasificador("Hugging Face es increíble")print(resultado)# [{'label': 'POSITIVE', 'score': 0.9998}]Ejemplo: Generación de texto
from transformers import pipeline
generador = pipeline("text-generation", model="openai-community/gpt2")resultado = generador("En un mundo dominado por la IA,", max_length=50, num_return_sequences=3)for r in resultado: print(r['generated_text']) print("---")Ejemplo: Traducción español → inglés
from transformers import pipeline
traductor = pipeline("translation_es_to_en", model="Helsinki-NLP/opus-mt-es-en")resultado = traductor("La inteligencia artificial está cambiando el mundo")print(resultado[0]['translation_text'])# "Artificial intelligence is changing the world"Ejemplo: Reconocimiento de imágenes
from transformers import pipeline
clasificador = pipeline("image-classification")resultado = clasificador("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/pipeline-cat-chonk.jpeg")for r in resultado: print(f"{r['label']}: {r['score']:.4f}")Ventajas de la biblioteca Transformers
- Pipeline API: Interfaz de alto nivel para tareas comunes. Una línea de código.
- Modelos y tokenizers: Acceso a la arquitectura interna de cualquier modelo para fine-tuning o personalización.
- AutoModel/AutoTokenizer: Carga automática del modelo y tokenizer correctos solo con el nombre.
- Compatibilidad: Funciona en CPU, GPU y TPU sin cambios de código.
- Comunidad: Miles de modelos preentrenados listos para usar.
Crear tu propio Space
Crear un Space es la mejor forma de compartir tus demos con el mundo.
Paso a paso: Space con Gradio
- Ve a huggingface.co/new-space
- Elige un nombre para tu Space (ej:
mi-clasificador-texto) - Selecciona Gradio como SDK
- Elige CPU basic como hardware (gratis)
- Clic en Create Space
Se creará un repositorio Git con un archivo app.py. Edítalo así:
import gradio as grfrom transformers import pipeline
clasificador = pipeline("sentiment-analysis")
def analizar(texto): resultado = clasificador(texto)[0] return f"{resultado['label']} (confianza: {resultado['score']:.4f})"
demo = gr.Interface( fn=analizar, inputs=gr.Textbox(placeholder="Escribe algo aquí..."), outputs="text", title="Analizador de Sentimiento", description="Escribe un texto y obtén su sentimiento.")
demo.launch()Añade las dependencias en requirements.txt:
transformerstorchgradioHaz commit y push, y en unos minutos tu Space estará vivo y accesible desde cualquier navegador.
Comparación con otros hubs
| Característica | Hugging Face | Kaggle Models | TorchHub | Replicate |
|---|---|---|---|---|
| Modelos disponibles | 500.000+ | ~2.000 | ~200 | ~1.000 |
| Datasets integrados | Sí (100.000+) | Sí (1.200+) | No | No |
| Demos interactivas | Spaces (gratis) | Notebooks | No | Sí (de pago) |
| API gratuita | Sí | Sí (limitada) | No | No (solo trial) |
| Open source | Sí | Parcial | Sí | Parcial |
| Comunidad | Muy activa | Activa | Limitada | Creciendo |
| Fine-tuning integrado | Sí (AutoTrain) | Sí (Kaggle) | No | No |
| Facilidad de uso | Alta | Media | Baja | Alta |
Hugging Face destaca por ser el más completo, el más accesible y el que tiene la comunidad más activa. Kaggle es bueno para competiciones y notebooks, pero su catálogo de modelos es mucho menor. Replicate tiene una API muy limpia pero no es gratis. TorchHub es solo para modelos de PyTorch sin demos ni datasets.
Limitaciones del plan gratuito
Es importante ser honesto sobre lo que NO puedes hacer gratis:
- Modelos grandes: Los LLMs de más de ~7B parámetros probablemente no funcionen en CPU gratuita. Necesitas GPU, que cuesta dinero.
- Rate limits: La Inference API gratuita tiene límites estrictos. Para uso intensivo necesitas un plan PRO ($9/mes) o Enterprise.
- Cold starts: Los modelos poco usados se descargan de memoria. La primera petición puede tardar minutos.
- Sin SLA: El servicio gratuito no garantiza disponibilidad. No lo uses en producción.
- Spaces limitados: El hardware gratuito tiene 2 vCPU y 16 GB RAM. No es suficiente para modelos pesados.
- Almacenamiento efímero: Los Spaces gratuitos pueden reiniciarse y perder datos no persistidos.
- Colas: Los Spaces populares pueden tener colas largas de espera.
Trucos y consejos
1. Usa modelos pequeños y cuantizados
Busca modelos con etiquetas como gguf, awq, gptq o bitsandbytes. Son versiones comprimidas que funcionan en hardware limitado:
Buscar: "GGUF" en el Model Hub para encontrar modelos量化zados listos para CPU.2. Cachea descargas localmente
Los modelos se descargan una vez y se cachean en ~/.cache/huggingface/. Si tienes poco espacio:
from transformers import AutoModelForCausalLMmodelo = AutoModelForCausalLM.from_pretrained("gpt2", cache_dir="./mi_cache")3. Usa pipeline para prototipar rápido
La API de pipeline es perfecta para experimentación. Luego, si necesitas más control, baja al nivel de modelos y tokenizers.
4. Explora los trending models
La página huggingface.co/models tiene una sección “Trending” donde aparecen los modelos más populares de la semana. Es una excelente forma de descubrir novedades.
5. Sigue organizaciones clave
meta-llama: Modelos Llama de Metamistralai: Modelos Mistralstabilityai: Stable Diffusion y modelos de imagenopenai: Modelos OpenAI open source (GPT-2, Whisper)google: Modelos Gemma y otrosmicrosoft: Modelos Phi y otros
6. Usa el Playground de chat
En huggingface.co/chat puedes chatear con modelos open source de forma gratuita, similar a ChatGPT pero con modelos de código abierto.
7.Lee las Model Cards
Cada modelo tiene una “Model Card” con información crucial: qué hace, cómo se entrenó, qué sesgos tiene, cómo usarlo correctamente. Léela siempre antes de usar un modelo en serio.
8. Aprovecha Inference Endpoints para producción
Si necesitas desplegar un modelo en producción con garantías, Hugging Face ofrece Endpoints de pago desde $0.06/hora. Es más barato que montar tu propia infraestructura.
9. Usa la librería datasets para datos
from datasets import load_dataset
dataset = load_dataset("imdb")print(dataset["train"][0])No descargues datos manualmente si ya están en el Hub.
10. Contribuye de vuelta
Si entrenas un modelo útil o creas un dataset interesante, ¡compártelo! La fuerza de Hugging Face es su comunidad.
Resumen
Hugging Face es el punto de partida ideal para cualquier persona que quiera usar IA gratis. Con el Model Hub tienes acceso a cientos de miles de modelos, con Spaces puedes probarlos sin instalar nada, con la Inference API puedes integrarlos en tus proyectos, y con la biblioteca Transformers puedes usarlos en Python con pocas líneas de código. El plan gratuito es suficiente para aprendizaje, experimentación y prototipos. Cuando necesites escalar, los planes de pago ofrecen hardware dedicado y garantías de servicio.
Enlaces útiles:
- Hub: huggingface.co
- Modelos: huggingface.co/models
- Datasets: huggingface.co/datasets
- Spaces: huggingface.co/spaces
- Chat: huggingface.co/chat
- Docs: huggingface.co/docs
- Curso oficial: huggingface.co/course