API Tutorial

Tutorial de Difusión Estable: Crea una API de Difusión Estable en GCP VM

Creating Stable Diffusion API on GCP VM instance

¿Qué es Stable Diffusion?

Stable Diffusion es un modelo de aprendizaje profundo de última generación, de texto a imagen, que fue lanzado en 2022. Este modelo innovador está diseñado principalmente para generar imágenes detalladas y de alta calidad basadas en descripciones textuales. Sin embargo, su versatilidad permite diversas aplicaciones que incluyen tareas como inpainting (rellenar partes faltantes de una imagen), outpainting (expandir imágenes más allá de sus límites originales) y traducciones de imagen a imagen guiadas por indicaciones textuales específicas. Para más información sobre sus capacidades, puedes visitar Stability.ai.

Crear una cuenta en Google Cloud Platform (GCP)

Para utilizar el poder de Stable Diffusion, primero necesitarás crear una cuenta en GCP. Visita Google Cloud Platform para registrarte. Es esencial configurar una cuenta de facturación, ya que no se pueden utilizar recursos de GPU en el nivel gratuito. Además, se recomienda establecer un presupuesto con alertas, ya que el uso de GPU puede volverse bastante costoso.

Solicitar acceso a GPU

Una vez que tu cuenta de GCP esté establecida, navega a la página APIs y Servicios para habilitar la API de Compute Engine. Busca la API de Compute Engine y haz clic en Habilitar. A continuación, debes solicitar la capacidad de crear máquinas virtuales que requieren capacidad de GPU. Esto se puede hacer yendo a la sección Cuotas y filtrando por GPUs en todas las regiones. Solicita un aumento de 0 a 1, proporcionando una razón como "Usando un modelo de ML que requiere GPU". Por favor, ten paciencia, ya que la aprobación puede tardar uno o dos días. Para más detalles, visita Cuotas de Google Cloud Compute.

Crear una instancia de VM

A continuación, necesitarás crear una instancia de máquina virtual (VM). Dirígete a Google Cloud Console y haz clic en Crear instancia. Asigna un nombre a tu instancia; usaremos stable-diffusion-instance para este ejemplo. Selecciona una región que soporte GPU; es posible que necesites probar algunas opciones. En la Configuración de máquina, selecciona la opción de GPU. Si buscas un alto rendimiento y puedes asumir el costo, la GPU A100 es la mejor opción, mientras que la T4 es una selección más económica, costando alrededor de $300/mes si funciona continuamente.

Para el tipo de máquina, selecciona n1-standard-4, que proporciona 15GB de memoria—adecuado para la mayoría de las tareas, aunque más puede ser preferible dependiendo de tus necesidades específicas. Asegúrate de ajustar la configuración del disco de arranque; selecciona Cambiar bajo Disco de Arranque, y opta por la opción Deep Learning VM basada en Debian 10. Puede que quieras ajustar el tamaño del disco de arranque (50GB es el mínimo). Bajo Firewall, marca tanto Permitir tráfico HTTP como Permitir tráfico HTTPS.

En las Opciones avanzadas bajo Redes, añade una etiqueta de red como stable-diffusion-tag para identificar esta instancia más tarde.

Crear una regla de firewall

Para acceder a tu instancia rápidamente, visita la página de reglas de firewall y haz clic en Crear regla de firewall. Nombra esta regla stable-diffusion-rule, y para Destinos, selecciona Etiquetas (ingresa la etiqueta stable-diffusion-tag). Para Rangos de IP de origen, ingresa 0.0.0.0/0, y bajo Protocolos y puertos, añade tcp:5000 antes de hacer clic en Crear.

Acceder a la instancia de cómputo

El método más simple para acceder a tu instancia es a través de SSH directamente desde la consola. Navega a la lista de instancias de cómputo y haz clic en la que acabas de crear para conectarte.

Configurar Stable Diffusion en la instancia

Al iniciar sesión en tu instancia por primera vez, se te pedirá instalar el controlador de Nvidia; simplemente responde con 'Y'. Ten en cuenta que cada vez que detengas y reinicies la VM, necesitarás reinstalar estos controladores.

El siguiente paso implica clonar los repositorios requeridos e instalar Cog, que proporciona una forma eficiente de gestionar y desplegar modelos de aprendizaje automático en esta VM sin instalaciones adicionales ya que Docker ya está preinstalado. Ejecuta los comandos necesarios para establecer tu entorno.

Construir la imagen de Docker

Para ejecutar el modelo, descarga los pesos desde Hugging Face. Necesitarás crear una cuenta y generar un token de autenticación si aún no lo has hecho. Una vez que tengas tu token, utilízalo para descargar los pesos con tu script. Después de la instalación, puedes comenzar a probar si el modelo está operativo.

Una vez que todo funcione sin problemas, deberías encontrar una imagen generada, output-1.png, que se puede descargar a través de la terminal. Usa el comando pwd para determinar tu directorio de trabajo, que típicamente devuelve una ruta como /home//cog-stable-diffusion. Esta ruta será integral para establecerse como un volumen al iniciar la imagen de docker de stable diffusion para facilitar el acceso a tus pesos de Hugging Face.

¿Cómo probar la API?

Mientras pruebas la API, ten en cuenta que la carga útil de respuesta estará codificada en base64. Para decodificarla, puedes usar una herramienta en línea como Code Beautify Base64 Decoder.

Explorando características adicionales

Para los usuarios interesados en crear videos cortos, explora Deforum, que tiene un modelo robusto para la generación de videos utilizando métodos similares. Visítalo en Deforum en Replicate. Para usarlo, simplemente detén el contenedor actual y sigue los pasos requeridos.

Conclusión

Gracias por leer este completo tutorial sobre cómo configurar Stable Diffusion. Si encontraste útil esta guía, puedes descubrir más tutoriales y recursos en nuestra dedicada página de tutoriales. ¡Mantente atento a más información e innovaciones en el ámbito de la IA!

Puede que te interese

Tutorial for integrating Google Vertex PaLM API in monday.com using PaLM2 model
An example of InPainting using Stable Diffusion technology.

Dejar un comentario

Todos los comentarios se revisan antes de su publicación.

Este sitio está protegido por hCaptcha y se aplican la Política de privacidad de hCaptcha y los Términos del servicio.