Despliegue de aplicaciones con Hugging Face Spaces
Clase 16 de 16 • Curso de NLP con Python
Resumen
Desplegar aplicaciones utilizando Hugging Face Spaces es un proceso sencillo que potencia tus proyectos de Machine Learning. Aquí verás claramente cuáles son los pasos principales, archivos necesarios y consideraciones técnicas para llevar tu interfaz gráfica a producción de forma rápida y efectiva.
¿Qué archivos necesitas para desplegar con Hugging Face?
Para comenzar un despliegue con Hugging Face Spaces necesitas dos archivos esenciales:
- app.py: archivo Python generado a partir de un notebook. Puedes descargarlo directamente desde Google Colab utilizando la opción de exportar como
.py
. - requirements.txt: archivo que especifica versiones y librerías necesarias.
¿Cómo llamar y estructurar tus archivos correctamente?
Es crucial que el archivo Python se denomine app.py
, ya que Hugging Face Spaces busca específicamente este nombre en el despliegue. Adicionalmente:
- Remueve cualquier comando de instalación directa tipo
pip install
del código. - Evita comentarios innecesarios y el parámetro
debug=True
, ya que no son relevantes en producción.
¿Cómo generar un archivo requirements.txt adecuado?
Al generar este archivo, asegúrate de incluir solo las librerías relevantes en las versiones exactas utilizadas:
- Para obtener las versiones utiliza internamente el comando:
pip3 freeze > requirements.txt
. - Revisa este archivo y deja únicamente las necesarias para tu proyecto específico.
- Librerías comunes para proyectos con Hugging Face incluyen:
- Torch y sus derivados (Torch Audio, Torch Vision), porque los Transformers dependen internamente de PyTorch.
- WorkCloud, Transformer, Gradio, Pilot y Pandas.
¿Cuál es el procedimiento para el despliegue en Hugging Face Spaces?
Desplegar con Spaces de Hugging Face es simple si sigues estos pasos:
- Asegúrate de tener una cuenta gratuita en Hugging Face.
- Crea un nuevo espacio (
New Space
) desde tu cuenta: - Define un nombre y descripción que represente claramente tu aplicación.
- Elige una licencia adecuada (se recomienda MIT para compartir públicamente).
- Selecciona Gradio como SDK si has creado la interfaz gráfica con esta herramienta.
- Decide el hardware (CPU o GPU) según la potencia requerida:
- GPU es recomendable para modelos que usan Transformers debido al costo computacional.
- Considera disponibilidad y precios de GPU; por ejemplo, NVIDIA T4 cuesta aproximadamente cuarenta centavos por hora.
- Define la duración tras la que tu espacio entrará en modo inactivo automáticamente para ahorrar recursos.
- Carga los archivos necesarios (
app.py
yrequirements.txt
) directamente en la sección de archivos.
¿Qué ocurre tras cargar los archivos?
Una vez subes los archivos, Hugging Face internamente:
- Crea una imagen de Docker que encapsula tu aplicación para evitar conflictos en distintos entornos.
- Despliega dicha imagen en un contenedor operativo.
- El proceso puede demorar alrededor de cinco minutos.
¿Cómo validar que tu aplicación se desplegó correctamente?
Es posible verificar si tu despliegue está exitosamente activo:
- Accede a Spaces desde tu perfil en Hugging Face.
- Revisa el símbolo de despliegue activo (running) al lado de tu aplicación desplegada.
- Verifica los logs para asegurar que el contenedor se desarrolló correctamente.
Este procedimiento práctico facilita enormemente compartir aplicaciones ML y acelerar tu flujo de trabajo, convirtiendo ideas en despliegues reales. ¡Déjanos tus dudas y comparte tu experiencia con Hugging Face Spaces en los comentarios!