[ad_1]
En diciembre de 2020, AWS anunció la disponibilidad general de Amazon SageMaker JumpStart, una característica de Amazon SageMaker que lo ayuda a comenzar con el aprendizaje automático (ML) de manera rápida y sencilla. JumpStart ofrece ajuste e implementación con un solo clic de una variedad de modelos previamente entrenados para tareas populares de ML, así como una selección de soluciones integrales que resuelven problemas comerciales comunes. Estas características descargan cada paso del proceso de ML, lo que facilita el desarrollo de modelos de alta calidad y reduce el tiempo de implementación.
Esta publicación es la quinta de una serie sobre el uso de JumpStart para tareas específicas de ML. En la primera publicación, mostramos cómo puede ejecutar casos de uso de clasificación de imágenes en JumpStart. En la segunda publicación, mostramos cómo ejecutar casos de uso de clasificación de texto. En la tercera publicación, discutimos casos de uso para la segmentación de imágenes. En la cuarta publicación, mostramos cómo puede ejecutar casos de uso de generación de texto.
En esta publicación, proporcionamos una guía paso a paso para implementar modelos de difusión estables previamente entrenados para generar imágenes a partir de texto. Estamos explorando dos formas de lograr el mismo resultado: mediante la interfaz gráfica de usuario de JumpStart en Amazon SageMaker Studio y mediante programación mediante las API de JumpStart.
Si desea pasar directamente al código de la API de JumpStart que cubrimos en esta publicación, puede consultar el siguiente cuaderno de Jupyter de muestra: Introducción a JumpStart – Texto a imagen.
Descripción general de JumpStart
JumpStart lo ayuda a comenzar con los modelos ML para una variedad de tareas sin escribir una sola línea de código. Actualmente, JumpStart le permite hacer lo siguiente:
- Proporcione modelos pre-entrenados para tareas comunes de ML – JumpStart le permite abordar tareas comunes de ML sin esfuerzo de desarrollo al proporcionar una implementación sencilla de modelos entrenados previamente en grandes conjuntos de datos disponibles públicamente. La comunidad de investigación de ML ha hecho todo lo posible para poner a disposición del público gran parte de los modelos desarrollados recientemente. JumpStart alberga una colección de más de 300 modelos que cubren las 15 tareas de ML más populares, como detección de objetos, clasificación de texto y generación de texto, lo que las hace fáciles de usar para principiantes. Estos modelos provienen de centros de modelos populares como TensorFlow, PyTorch, Hugging Face y MXNet.
- Optimizar modelos pre-entrenados – Con JumpStart, puede optimizar modelos previamente entrenados sin tener que escribir su propio algoritmo de entrenamiento. ML describe la capacidad de transferir el conocimiento aprendido en un dominio a otro dominio transferir el aprendizaje. Puede usar el aprendizaje por transferencia para crear modelos precisos para sus conjuntos de datos más pequeños con costos de capacitación mucho más bajos que los del modelo original. JumpStart también incluye algoritmos de entrenamiento populares basados en LightGBM, CatBoost, XGBoost y Scikit-learn que puede entrenar desde cero para regresión tabular y clasificación.
- Utilice soluciones preparadas – JumpStart ofrece un conjunto de 17 soluciones para casos de uso comunes de ML como: B. Pronóstico de demanda y aplicaciones industriales y financieras que puede implementar con solo unos pocos clics. Las soluciones son aplicaciones de aprendizaje automático integrales que unen diferentes servicios de AWS para resolver un caso de uso comercial específico. Utilizan plantillas de AWS CloudFormation y arquitecturas de referencia para una implementación rápida, lo que significa que son totalmente personalizables.
- Ver muestras de cuadernos para algoritmos de SageMaker – SageMaker ofrece un conjunto de algoritmos integrados para facilitar que los científicos de datos y los profesionales de ML comiencen a capacitarse e implementar rápidamente modelos de ML. JumpStart proporciona cuadernos de muestra para ayudarlo a usar rápidamente estos algoritmos.
- Ver videos y blogs de capacitación – JumpStart también tiene numerosas publicaciones de blog y videos que le enseñan cómo usar varias funciones en SageMaker.
JumpStart acepta configuraciones de VPC personalizadas y claves de cifrado de AWS Key Management Service (AWS KMS), lo que le permite utilizar de forma segura los modelos y soluciones disponibles en su entorno empresarial. Puede pasar su configuración de seguridad a JumpStart desde Studio o a través del SDK de Python de SageMaker.
Modelos de difusión estable y de texto a imagen
Text-to-Image es la tarea de generar imágenes realistas que describen el texto de entrada sin procesar. La difusión estable es un modelo popular para esta tarea. Es un modelo de difusión latente, donde el texto de entrada se incrusta primero en un espacio latente a través de un modelo de lenguaje. Luego, se realiza una serie de operaciones de adición y eliminación de ruido en el espacio latente con la arquitectura U-Net. Finalmente, la salida sin ruido se decodifica en un espacio de píxeles.
Por ejemplo, dada la entrada «Jardín pintado en un estilo impresionista», obtenemos la siguiente imagen de salida.
Aunque se usan principalmente para generar imágenes relacionadas con texto, los modelos de difusión estable también se pueden usar para otras tareas, como:
descripción general de la solución
Las siguientes secciones proporcionan una demostración paso a paso de la realización de inferencias mediante la interfaz de usuario de Studio y las API de JumpStart. Pasamos por los siguientes pasos:
- Acceda a JumpStart desde la interfaz de usuario de Studio para implementar y ejecutar la inferencia en el modelo previamente entrenado.
- Use JumpStart mediante programación con SageMaker Python SDK para implementar el modelo previamente entrenado y ejecutar la inferencia.
Acceda a JumpStart desde la interfaz de usuario de Studio y ejecute la inferencia en un modelo previamente entrenado
En esta sección, mostramos cómo entrenar e implementar modelos JumpStart mediante la interfaz de usuario de Studio.
El siguiente video le muestra cómo encontrar e implementar un modelo de texto a imagen previamente entrenado en JumpStart. La página del modelo contiene información valiosa sobre el modelo y su uso. Puede implementar cualquiera de los modelos previamente entrenados disponibles en JumpStart. Para la inferencia, elegimos el tipo de instancia ml.p3.2xlarge porque ofrece la aceleración de GPU requerida para una latencia de inferencia baja a un precio bajo. Después de configurar la instancia de alojamiento de SageMaker, seleccione Desplegar. Su punto final persistente puede tardar entre 5 y 10 minutos en estar en funcionamiento.
¡Después de unos minutos, su punto final está en funcionamiento y listo para responder a las solicitudes de inferencia!
Para acelerar su tiempo de inferencia, JumpStart proporciona un cuaderno de muestra que le muestra cómo ejecutar la inferencia en su punto final recién implementado. Elegir cuaderno abierto por debajo Usar Endpoint desde Studio.
Utilice JumpStart mediante programación con el SDK de SageMaker
En la sección anterior, mostramos cómo puede usar la interfaz de usuario de JumpStart para implementar de forma interactiva un modelo previamente entrenado con solo unos pocos clics. Sin embargo, también puede usar los modelos de JumpStart mediante programación mediante las API integradas en el SDK de SageMaker.
En esta sección, veremos un ejemplo rápido de cómo replicar el proceso anterior mediante el SDK de SageMaker. Seleccionamos un modelo preentrenado apropiado en JumpStart, implementamos ese modelo en un punto final de SageMaker y ejecutamos la inferencia en el punto final implementado. Todos los pasos de esta demostración están disponibles en el cuaderno complementario Introducción a JumpStart – Texto a imagen.
Implementar el modelo preentrenado
SageMaker es una plataforma que hace un uso extensivo de los contenedores Docker para tareas de compilación y tiempo de ejecución. JumpStart utiliza los contenedores de aprendizaje profundo (DLC) de SageMaker específicos del marco disponibles. Primero recuperamos los paquetes adicionales, así como los scripts para manejar el entrenamiento y la inferencia de la tarea seleccionada. Finalmente, los artefactos del modelo pre-entrenados se recuperan por separado model_uris
, lo que da flexibilidad a la plataforma. Puede usar cualquier cantidad de modelos entrenados previamente para la misma tarea con un solo script de inferencia. Ver el siguiente código:
A continuación, inyectemos los recursos en una instancia de modelo de SageMaker y proporcionemos un punto final:
Después de implementar nuestro modelo, ¡podemos obtener predicciones en tiempo real de él!
realizar inferencia
El fragmento de código a continuación le da una idea de cómo se ven los resultados. Para enviar solicitudes a un modelo implementado, el texto de entrada debe proporcionarse en formato codificado utf-8.
La respuesta del punto final es un objeto JSON que contiene la imagen generada y el aviso:
Como salida obtenemos la siguiente imagen.
Conclusión
En esta publicación, mostramos cómo implementar un modelo de generación de texto previamente entrenado usando JumpStart. Puede lograr esto sin tener que escribir ningún código. Pruebe la solución usted mismo y envíenos sus comentarios. Para obtener más información sobre JumpStart y cómo puede usar modelos de código abierto entrenados previamente para una variedad de otras tareas de aprendizaje automático, vea el siguiente video de AWS re:Invent 2020.
Sobre los autores
dr. vivek madan es científico aplicado en el equipo JumpStart de Amazon SageMaker. Recibió su doctorado de la Universidad de Illinois en Urbana-Champaign y fue becario postdoctoral en Georgia Tech. Es un investigador activo en los campos de aprendizaje automático y diseño de algoritmos y ha publicado artículos en conferencias EMNLP, ICLR, COLT, FOCS y SODA.
santosh kulkarni es Enterprise Solutions Architect en Amazon Web Services y trabaja con clientes deportivos en Australia. Le apasiona desarrollar aplicaciones distribuidas a gran escala para resolver problemas comerciales utilizando su conocimiento en AI/ML, Big Data y desarrollo de software.
leonardo bachega es científico sénior y gerente del equipo Amazon SageMaker JumpStart. Le apasiona desarrollar servicios de IA para la visión artificial.
[ad_2]