Desbloqueando la creatividad Cómo la inteligencia artificial generativa y Amazon SageMaker ayudan a las empresas a producir creatividades publicitarias para campañas de marketing con AWS

IA generativa y Amazon SageMaker desbloquean la creatividad en campañas de marketing con AWS

Las agencias de publicidad pueden utilizar la IA generativa y los modelos base de texto a imagen para crear creatividades y contenido publicitario innovadores. En esta publicación, demostramos cómo puedes generar nuevas imágenes a partir de imágenes base existentes utilizando Amazon SageMaker, un servicio completamente administrado para construir, entrenar y implementar modelos de ML a gran escala. Con esta solución, tanto las grandes empresas como las pequeñas pueden desarrollar creatividades publicitarias nuevas mucho más rápido y a un costo menor que nunca. Esto te permite desarrollar contenido publicitario personalizado para tu negocio a bajo costo y a un ritmo rápido.

Visión general de la solución

Considera el siguiente escenario: una empresa automotriz global necesita generar nuevo material de marketing para su nuevo diseño de automóvil que está por lanzar, y contrata a una agencia creativa conocida por brindar soluciones publicitarias a clientes con una fuerte imagen de marca. El fabricante de automóviles busca creatividades publicitarias de bajo costo que muestren el modelo en ubicaciones, colores, vistas y perspectivas diversas, al mismo tiempo que mantienen la identidad de marca del fabricante de automóviles. Con el poder de las técnicas más avanzadas, la agencia creativa puede apoyar a su cliente utilizando modelos de IA generativa dentro de su entorno seguro de AWS.

La solución se desarrolla con IA generativa y modelos de texto a imagen en Amazon SageMaker. SageMaker es un servicio de aprendizaje automático (ML) completamente administrado que facilita la construcción, entrenamiento e implementación de modelos de ML para cualquier caso de uso, con infraestructura, herramientas y flujos de trabajo completamente administrados. Stable Diffusion es un modelo base de texto a imagen de Stability AI que impulsa el proceso de generación de imágenes. Los difusores son modelos pre-entrenados que utilizan Stable Diffusion para generar nuevas imágenes basadas en una imagen existente y una indicación. La combinación de Stable Diffusion con difusores como ControlNet permite tomar contenido específico de la marca existente y desarrollar impresionantes versiones del mismo. Los principales beneficios de desarrollar la solución dentro de AWS junto con Amazon SageMaker son:

  • Privacidad: almacenar los datos en Amazon Simple Storage Service (Amazon S3) y utilizar SageMaker para alojar los modelos te permite cumplir con las mejores prácticas de seguridad dentro de tu cuenta de AWS sin exponer los activos públicamente.
  • Escalabilidad: el modelo Stable Diffusion, cuando se implementa como un punto de enlace de SageMaker, brinda escalabilidad al permitirte configurar el tamaño de las instancias y el número de instancias. Los puntos de enlace de SageMaker también tienen características de escalado automático y alta disponibilidad.
  • Flexibilidad: al crear e implementar puntos de enlace, SageMaker ofrece la flexibilidad de elegir tipos de instancias con GPU. Además, las instancias detrás de los puntos de enlace de SageMaker pueden cambiarse con un esfuerzo mínimo a medida que cambian las necesidades comerciales. AWS también ha desarrollado hardware y chips utilizando AWS Inferentia2 para un rendimiento de alta calidad al costo más bajo para la inferencia de IA generativa.
  • Innovación rápida: la IA generativa es un campo en constante evolución con nuevos enfoques y modelos que se desarrollan y lanzan constantemente. Amazon SageMaker JumpStart incorpora regularmente nuevos modelos junto con modelos base.
  • Integración de extremo a extremo: AWS te permite integrar el proceso creativo con cualquier servicio de AWS y desarrollar un proceso de extremo a extremo utilizando control de acceso detallado a través de AWS Identity and Access Management (IAM), notificación a través de Amazon Simple Notification Service (Amazon SNS) y postprocesamiento con el servicio informático basado en eventos AWS Lambda.
  • Distribución: cuando se generan las nuevas creatividades, AWS permite distribuir el contenido en canales globales en múltiples regiones utilizando Amazon CloudFront.

Para esta publicación, utilizamos la siguiente muestra de GitHub, que utiliza Amazon SageMaker Studio con modelos base (Stable Diffusion), indicaciones, técnicas de visión por computadora y un punto de enlace de SageMaker para generar nuevas imágenes a partir de imágenes existentes. El siguiente diagrama ilustra la arquitectura de la solución.

El flujo de trabajo contiene los siguientes pasos:

  1. Almacenamos el contenido existente (imágenes, estilos de marca, etc.) de forma segura en los buckets de S3.
  2. Dentro de los cuadernos de SageMaker Studio, los datos de imagen originales se transforman en imágenes utilizando técnicas de visión por computadora, que conservan la forma del producto (el modelo de automóvil), eliminan el color y el fondo y generan imágenes intermedias en tonos grises.
  3. La imagen intermedia actúa como una imagen de control para Stable Diffusion con ControlNet.
  4. Implementamos un punto de enlace de SageMaker con el modelo base de texto a imagen Stable Diffusion de SageMaker Jumpstart y ControlNet en un tamaño de instancia preferido basado en GPU.
  5. Se utilizan indicaciones que describen nuevos fondos y colores de automóviles junto con la imagen intermedia en tonos grises para invocar el punto de enlace de SageMaker, lo que produce nuevas imágenes.
  6. Las nuevas imágenes se almacenan en los buckets de S3 a medida que se generan.

Implementar ControlNet en los puntos finales de SageMaker

Para implementar el modelo en los puntos finales de SageMaker, debemos crear un archivo comprimido para cada artefacto de modelo de técnica individual junto con los pesos de Difusión Estable, el script de inferencia y el archivo de configuración de NVIDIA Triton.

En el siguiente código, descargamos los pesos del modelo para las diferentes técnicas de ControlNet y Difusión Estable 1.5 al directorio local como archivos tar.gz:

if ids =="runwayml/stable-diffusion-v1-5":
    snapshot_download(ids, local_dir=str(model_tar_dir), local_dir_use_symlinks=False,ignore_patterns=unwanted_files_sd)

elif ids =="lllyasviel/sd-controlnet-canny":
    snapshot_download(ids, local_dir=str(model_tar_dir), local_dir_use_symlinks=False)  

Para crear la tubería del modelo, definimos un script inference.py que los puntos finales en tiempo real de SageMaker utilizarán para cargar y alojar los archivos tar.gz de Difusión Estable y ControlNet. El siguiente es un fragmento de inference.py que muestra cómo se cargan los modelos y cómo se llama a la técnica de Canny:

controlnet = ControlNetModel.from_pretrained(
        f"{model_dir}/{control_net}",
        torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32)

pipe = StableDiffusionControlNetPipeline.from_pretrained(
        f"{model_dir}/sd-v1-5",
        controlnet=controlnet,
        torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32)

# Definir la función de técnica para Canny 
image = cv2.Canny(image, low_threshold, high_threshold)

Implementamos el punto final de SageMaker con el tamaño de instancia requerido (tipo de GPU) desde la URI del modelo:

huggingface_model = HuggingFaceModel(
        model_data=model_s3_uri,  # ruta a su modelo entrenado de SageMaker
        role=role, # rol de IAM con permisos para crear un punto final
        py_version="py39", # versión de Python de DLC
        image_uri=image_uri,
)

# Implementar el modelo como punto final de SageMaker
predictor = huggingface_model.deploy(
        initial_instance_count=1,
        instance_type="ml.p3.2xlarge",
)

Generar nuevas imágenes

Ahora que el punto final está implementado en los puntos finales de SageMaker, podemos pasar nuestras indicaciones y la imagen original que queremos usar como línea de base.

Para definir la indicación, creamos una indicación positiva, p_p, para lo que buscamos en la nueva imagen, y la indicación negativa, n_p, para lo que se debe evitar:

p_p="automóvil de color naranja metálico, automóvil completo, foto en color, al aire libre en un paisaje agradable, realista, alta calidad"

n_p="recortado, fuera de cuadro, peor calidad, baja calidad, artefactos JPEG, feo, borroso, mala anatomía, malas proporciones"

Finalmente, invocamos nuestro punto final con la indicación y la imagen de origen para generar nuestra nueva imagen:

request={"prompt":p_p, 
        "negative_prompt":n_p, 
        "image_uri":'s3://<bucker>/sportscar.jpeg', #contenido existente
        "scale": 0.5,
        "steps":20, 
        "low_threshold":100, 
        "high_threshold":200, 
        "seed": 123, 
        "output":"output"}
response=predictor.predict(request)

Diferentes técnicas de ControlNet

En esta sección, comparamos las diferentes técnicas de ControlNet y su efecto en la imagen resultante. Utilizamos la siguiente imagen original para generar nuevo contenido utilizando Difusión Estable con Control-net en Amazon SageMaker.

La siguiente tabla muestra cómo la salida de la técnica dicta en qué centrarse de la imagen original.

Nombre de la técnica Tipo de técnica Salida de la técnica Indicación Difusión Estable con ControlNet
canny Una imagen monocromática con bordes blancos sobre un fondo negro. automóvil de color naranja metálico, automóvil completo, foto en color, al aire libre en un paisaje agradable, realista, alta calidad
depth Una imagen en escala de grises con áreas negras que representan áreas profundas y áreas blancas que representan áreas poco profundas. automóvil de color rojo metálico, automóvil completo, foto en color, al aire libre en un paisaje agradable en la playa, realista, alta calidad
hed Una imagen monocromática con bordes suaves blancos sobre un fondo negro. automóvil de color blanco metálico, automóvil completo, foto en color, en una ciudad, de noche, realista, alta calidad
scribble Una imagen monocromática dibujada a mano con contornos blancos sobre un fondo negro. automóvil de color azul metálico, similar al automóvil original, automóvil completo, foto en color, al aire libre, vista impresionante, realista, alta calidad, punto de vista diferente <img src="https://d2908q01v

Limpieza

Después de generar nuevas creatividades publicitarias con IA generativa, es importante limpiar cualquier recurso que no se vaya a utilizar. Elimine los datos de Amazon S3 y detenga cualquier instancia de bloc de notas de SageMaker Studio para evitar cargos adicionales. Si utilizó SageMaker JumpStart para implementar Stable Diffusion como un punto de enlace en tiempo real de SageMaker, elimine el punto de enlace ya sea a través de la consola de SageMaker o SageMaker Studio.

Conclusión

En esta publicación, utilizamos modelos base en SageMaker para crear nuevas imágenes de contenido a partir de imágenes existentes almacenadas en Amazon S3. Con estas técnicas, las agencias de marketing, publicidad y otras agencias creativas pueden utilizar herramientas de IA generativa para mejorar su proceso de creación de creatividades publicitarias. Para profundizar en la solución y el código mostrado en esta demostración, consulte el repositorio de GitHub.

También consulte Amazon Bedrock para conocer casos de uso sobre IA generativa, modelos base y modelos de texto a imagen.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

El catálogo de modelos de inteligencia artificial de Azure de Microsoft se expande con modelos innovadores de inteligencia artificial

Microsoft ha lanzado una amplia expansión de su Catálogo de Modelos de IA de Azure, incorporando una variedad de mode...

Inteligencia Artificial

De Experimentos 🧪 a Despliegue 🚀 MLflow 101 | Parte 01

Imagínate esto tienes una nueva idea de negocio y los datos que necesitas están a tu alcance. Estás emocionado/a por ...

Inteligencia Artificial

Los emojis son cada vez más legalmente vinculantes. Pero todavía están abiertos a una amplia interpretación

Cada año, más casos en los tribunales de Estados Unidos consideran los emojis como legalmente vinculantes. Sin embarg...

Inteligencia Artificial

Optimiza el costo de implementación de los modelos base de Amazon SageMaker JumpStart con los puntos finales asincrónicos de Amazon SageMaker

En esta publicación, nos enfocamos en estas situaciones y resolvemos el problema de arriesgar altos costos al impleme...

Aprendizaje Automático

Conoce Video-ControlNet Un nuevo modelo de difusión de texto a video que cambiará el juego y dará forma al futuro de la generación de video controlable.

En los últimos años, ha habido un rápido desarrollo en la generación de contenido visual basado en texto. Entrenados ...