mantio es un proveedor global de plataformas en la nube para crear aplicaciones de inteligencia artificial y administrarlas a escala. La plataforma de desarrollo de extremo a extremo de Mantium permite a las empresas y negocios de todos los tamaños crear aplicaciones de IA y automatización de forma más rápida y sencilla de lo que tradicionalmente ha sido posible. Con Mantium, los equipos técnicos y no técnicos pueden crear prototipos, desarrollar, probar e implementar aplicaciones de IA, todo con un enfoque de código bajo. A través de funciones automáticas de registro, monitoreo y seguridad, Mantium también evita que los ingenieros de software y DevOps dediquen su tiempo a reinventar la rueda. A un alto nivel, Mantium ofrece:
- IA de última generación – Experimente y desarrolle con una amplia selección de modelos de lenguaje grande privado y de código abierto con una interfaz de usuario o API simple.
- Automatización de procesos de IA – Cree fácilmente aplicaciones impulsadas por IA con una creciente biblioteca de integraciones y el AI Builder gráfico de Mantium.
- Despliegue rápido – Acorte el cronograma de producción de meses a semanas o incluso días con la implementación con un solo clic. Esta función convierte las aplicaciones de IA en aplicaciones web compartibles con un solo clic.
- Seguridad y regulación – Garantice la seguridad y el cumplimiento de las políticas de gobierno y el apoyo a los procesos humanos en el circuito.
Con Mantium AI Builder, puede desarrollar flujos de trabajo sofisticados que integran API externas, operaciones lógicas y modelos de IA. La siguiente captura de pantalla muestra un ejemplo de la aplicación Mantium AI, que encadena una entrada de Twilio, una política de gobernanza, un bloque de IA (que puede basarse en un modelo de código abierto como GPT-J) y una salida de Twilio.
Para respaldar esta aplicación, Mantium brinda acceso integral y uniforme no solo a API modelo de proveedores de IA como Open AI, Co:here y AI21, sino también a modelos de código abierto de última generación. En Mantium, creemos que cualquier persona debería poder crear aplicaciones de IA modernas de su propiedad, de principio a fin, y apoyamos esto proporcionando acceso sin código y con código bajo a modelos de código abierto optimizados para el rendimiento.
Por ejemplo, uno de los principales modelos de código abierto de Mantium es GPT-J, un modelo de procesamiento de lenguaje natural (NLP) de última generación desarrollado por Eleuther IA. Con 6 mil millones de parámetros, GPT-J es uno de los modelos de generación de texto de código abierto más grandes y de mejor rendimiento. Los usuarios de Mantium pueden integrar GPT-J en sus aplicaciones de IA a través de AI Builder de Mantium. En el caso de GPT-J, esto implica especificar un puntual (una representación en lenguaje natural de lo que debe hacer el modelo) y configurar algunos parámetros opcionales.
Por ejemplo, la siguiente captura de pantalla muestra una demostración abreviada de un mensaje de análisis de opinión que produce explicaciones y predicciones de opinión. En este ejemplo, el autor escribió que la “comida fue maravillosa” y que su “servicio fue extraordinario”. Por lo tanto, este texto expresa un sentimiento positivo.
Sin embargo, un desafío con los modelos de código abierto es que rara vez están diseñados para un rendimiento de nivel de producción. En el caso de modelos grandes como GPT-J, esto puede hacer que la implementación en producción sea poco práctica e incluso inviable, según el caso de uso.
Para garantizar que nuestros usuarios tengan acceso al mejor rendimiento de su clase, siempre buscamos formas de disminuir la latencia de nuestros modelos principales. En esta publicación, describimos los resultados de un experimento de optimización de inferencia en el que usamos el motor de inferencia de DeepSpeed para aumentar la velocidad de inferencia de GPT-J en aproximadamente un 116 %. También describimos cómo hemos implementado la implementación de Hugging Face Transformers de GPT-J con DeepSpeed en nuestro Amazon SageMaker puntos finales de inferencia.
Descripción general del modelo GPT-J
GPT-J es un modelo de lenguaje preentrenado generativo (GPT) y, en términos de su arquitectura, es comparable a modelos de lenguaje grandes, privados y populares como GPT-3 de Open AI. Como se señaló anteriormente, consta de aproximadamente 6 mil millones de parámetros y 28 capas, que consisten en un bloque de avance y un bloque de autoatención. Cuando se lanzó por primera vez, GPT-J fue uno de los primeros modelos de lenguaje grande en usar incrustaciones rotatorias, una nueva estrategia de codificación de posición que unifica los codificadores de posición absoluta y relativa. También emplea una innovadora estrategia de paralelización en la que las capas densas y de avance se combinan en una sola capa, lo que minimiza la sobrecarga de comunicación.
Aunque es posible que GPT-J no califique como grande según los estándares actuales (los modelos grandes generalmente constan de más de 100 mil millones de parámetros), aún tiene un rendimiento impresionante y, con un poco de ingeniería rápida o un ajuste mínimo, puede usarlo para resolver muchos problemas. Además, su tamaño relativamente modesto significa que puede implementarlo más rápidamente y a un costo mucho menor que los modelos más grandes.
Dicho esto, GPT-J sigue siendo bastante grande. Por ejemplo, entrenar GPT-J en FP32 con actualizaciones de peso completo y el optimizador Adam requiere más de 200 GB de memoria: 24 GB para los parámetros del modelo, 24 GB para los gradientes, 24 GB para los gradientes cuadrados de Adam, 24 GB para los estados del optimizador, y los requisitos de memoria adicionales para cargar lotes de entrenamiento y almacenar activaciones. Por supuesto, la capacitación en FP16 reduce estos requisitos de memoria casi a la mitad, pero una huella de memoria de más de 100 GB aún requiere estrategias de capacitación innovadoras. Por ejemplo, en colaboración con SageMaker, el equipo de NLP de Mantium desarrolló un flujo de trabajo para entrenar (afinar) GPT-J usando la biblioteca paralela de modelos distribuidos de SageMaker.
Por el contrario, servir GPT-J para la inferencia tiene requisitos de memoria mucho más bajos: en FP16, los pesos del modelo ocupan menos de 13 GB, lo que significa que la inferencia se puede realizar fácilmente en una sola GPU de 16 GB. Sin embargo, la inferencia con implementaciones listas para usar de GPT-J, como Hugging Face Transformers implementación que usamos, es relativamente lento. Para respaldar los casos de uso que requieren una generación de texto altamente receptiva, nos hemos centrado en reducir la latencia de inferencia de GPT-J.
Desafíos de latencia de respuesta de GPT-J
La latencia de respuesta es un obstáculo central para los transformadores preentrenados generativos (GPT) como GPT-J que impulsan la generación de texto moderna. Los modelos GPT generan texto a través de secuencias de pasos de inferencia. En cada paso de inferencia, el modelo recibe texto como entrada y, condicionado a esta entrada, toma una muestra de una palabra de su vocabulario para agregarla al texto. Por ejemplo, dada la secuencia de tokens "Necesito un paraguas porque está", el próximo token de alta probabilidad podría ser "llover". Sin embargo, también podría ser "soleado" o "atado", que podría ser el primer paso hacia una secuencia de texto como "Necesito un paraguas porque va a empezar a llover".
Escenarios como este plantean algunos desafíos interesantes para implementar modelos GPT porque los casos de uso del mundo real pueden implicar decenas, cientos o incluso miles de pasos de inferencia. Por ejemplo, generar una respuesta de 1,000 tokens requiere 1,000 pasos de inferencia. En consecuencia, aunque un modelo puede ofrecer velocidades de inferencia que parecen lo suficientemente rápidas por sí solas, es fácil que la latencia alcance niveles insostenibles cuando se generan textos largos. Observamos una latencia promedio de 280 milisegundos por paso de inferencia en una GPU V100. Esto puede parecer rápido para un modelo de 6.7 millones de parámetros, pero con tales latencias, se tarda aproximadamente 30 segundos en generar una respuesta de 500 tokens, lo que no es ideal desde la perspectiva de la experiencia del usuario.
Optimización de las velocidades de inferencia con DeepSpeed Inference
velocidadprofunda es una biblioteca de optimización de aprendizaje profundo de código abierto desarrollada por Microsoft. Aunque se centra principalmente en la optimización del entrenamiento de modelos grandes, DeepSpeed también proporciona un marco de optimización de inferencia que admite un conjunto selecto de modelos, incluidos BERT, Megatron, GPT-Neo, GPT2 y GPT-J. DeepSpeed Inference facilita la inferencia de alto rendimiento con grandes arquitecturas basadas en Transformer a través de una combinación de paralelismo de modelos, núcleos CUDA optimizados para inferencia y cuantificación.
Para aumentar la velocidad de inferencia con GPT-J, usamos el motor de inferencia de DeepSpeed para inyectar núcleos CUDA optimizados en la implementación de GPT-J de Hugging Face Transformers.
Para evaluar los beneficios de velocidad del motor de inferencia de DeepSpeed, realizamos una serie de pruebas de latencia en las que cronometramos GPT-J en varias configuraciones. Específicamente, variamos si se usó o no DeepSpeed, el hardware, la longitud de la secuencia de salida y la longitud de la secuencia de entrada. Nos enfocamos en la longitud de la secuencia de salida y de entrada, porque ambas afectan la velocidad de inferencia. Para generar una secuencia de salida de 50 tokens, el modelo debe realizar 50 pasos de inferencia. Además, el tiempo requerido para realizar un paso de inferencia depende del tamaño de la secuencia de entrada: las entradas más grandes requieren más tiempo de procesamiento. Aunque el efecto del tamaño de la secuencia de salida es mucho mayor que el efecto del tamaño de la secuencia de entrada, aún es necesario tener en cuenta ambos factores.
En nuestro experimento, utilizamos el siguiente diseño:
- Motor de inferencia DeepSpeed - Encendido apagado
- Materiales – T4 (ml.g4dn.2xgrande), V100 (ml.p3.2xgrande)
- Longitud de la secuencia de entrada - 50, 200, 500, 1000
- Longitud de la secuencia de salida - 50, 100, 150, 200
En total, este diseño tiene 64 combinaciones de estos cuatro factores y, para cada combinación, realizamos 20 pruebas de latencia. Cada prueba se ejecutó en un punto final de inferencia de SageMaker preinicializado, lo que garantiza que nuestras pruebas de latencia reflejen los tiempos de producción, incluidos los intercambios de API y el preprocesamiento.
Nuestras pruebas demuestran que el motor de inferencia GPT-J de DeepSpeed es sustancialmente más rápido que la implementación básica de PyTorch de Hugging Face Transformers. La siguiente figura ilustra las latencias medias de generación de texto para GPT-J con y sin aceleración DeepSpeed en los extremos de inferencia de SageMaker ml.g4dn.2xlarge y ml.p3.2xlarge.
En la instancia ml.g4dn.2xlarge, que está equipada con una GPU NVIDIA T16 de 4 GB, observamos una reducción de la latencia media de aproximadamente un 24 % [desviación estándar (SD) = 0.05]. Esto correspondió a un aumento de una media de 12.5 (SD = 0.91) tokens por segundo a una media de 16.5 (SD = 2.13) tokens por segundo. En particular, el efecto de aceleración de DeepSpeed fue aún más fuerte en la instancia ml.p3.2xlarge, que está equipada con una GPU NVIDIA V100. En ese hardware, observamos una reducción de latencia media del 53 % (SD = 07). En términos de tokens por segundo, esto correspondió a un aumento de una media de 21.9 (SD = 1.97) tokens por segundo a una media de 47.5 (SD = 5.8) tokens por segundo.
También observamos que la aceleración ofrecida por DeepSpeed se atenuó ligeramente en ambas configuraciones de hardware a medida que crecía el tamaño de las secuencias de entrada. Sin embargo, en todas las condiciones, la inferencia con las optimizaciones GPT-J de DeepSpeed fue sustancialmente más rápida que la línea de base. Por ejemplo, en la instancia de g4dn, las reducciones de latencia máxima y mínima fueron del 31 % (tamaño de secuencia de entrada = 50) y del 15 % (tamaño de secuencia de entrada = 1000), respectivamente. Y en la instancia p3, las reducciones de latencia máxima y mínima fueron del 62 % (tamaño de secuencia de entrada = 50) y del 40 % (tamaño de secuencia de entrada = 1000), respectivamente.
Implementación de GPT-J con DeepSpeed en un extremo de inferencia de SageMaker
Además de aumentar drásticamente las velocidades de generación de texto para GPT-J, el motor de inferencia de DeepSpeed es fácil de integrar en un punto final de inferencia de SageMaker. Antes de agregar DeepSpeed a nuestra pila de inferencia, nuestros puntos finales se ejecutaban en una imagen de Docker personalizada basada en una imagen oficial de PyTorch. SageMaker hace que sea muy fácil implementar puntos finales de inferencia personalizados, e integrar DeepSpeed fue tan simple como incluir la dependencia y escribir algunas líneas de código. La guía de código abierto sobre el flujo de trabajo de implementación para implementar GPT-J con DeepSpeed está disponible en GitHub.
Conclusión
Mantium se dedica a liderar la innovación para que todos puedan construir rápidamente con IA. Desde la automatización de procesos impulsada por IA hasta configuraciones estrictas de seguridad y cumplimiento, nuestra plataforma completa proporciona todas las herramientas necesarias para desarrollar y administrar aplicaciones de IA sólidas y responsables a escala y reduce la barrera de entrada. SageMaker ayuda a empresas como Mantium a llegar al mercado rápidamente.
Para saber cómo Mantium puede ayudarlo a crear flujos de trabajo complejos basados en IA para su organización, visite www.mantiumai.com.
Sobre los autores
joe hoover es científico aplicado sénior en el equipo de investigación y desarrollo de IA de Mantium. Le apasiona desarrollar modelos, métodos e infraestructura que ayuden a las personas a resolver problemas del mundo real con sistemas de PNL de última generación. En su tiempo libre, le gusta viajar con mochila, hacer jardinería, cocinar y pasar el rato con su familia.
Patel Dhawal es Arquitecto Principal de Aprendizaje Automático en AWS. Ha trabajado con organizaciones que van desde grandes empresas hasta empresas emergentes medianas en problemas relacionados con la computación distribuida y la inteligencia artificial. Se enfoca en el aprendizaje profundo, incluidos los dominios de NLP y Computer Vision. Ayuda a los clientes a lograr una inferencia de modelos de alto rendimiento en SageMaker.
Sunil Padmanabhan es Arquitecto de Soluciones para Startups en AWS. Como ex fundador de una startup y CTO, le apasiona el aprendizaje automático y se enfoca en ayudar a las nuevas empresas a aprovechar AI/ML para sus resultados comerciales y diseñar e implementar soluciones de ML/AI a escala.
- Coinsmart. El mejor intercambio de Bitcoin y criptografía de Europa.
- Platoblockchain. Inteligencia del Metaverso Web3. Conocimiento amplificado. ACCESO LIBRE.
- CriptoHawk. Radar de altcoins. Prueba gratis.
- Fuente: https://aws.amazon.com/blogs/machine-learning/how-mantium-achieves-low-latency-gpt-j-inference-with-deepspeed-on-amazon-sagemaker/
- "
- 000
- 100
- 28
- 7
- 9
- a
- Nuestra Empresa
- Absoluto
- de la máquina
- en consecuencia
- Mi Cuenta
- Lograr
- a través de
- adición
- Adicionales
- afectar
- AI
- Todos
- Aunque
- hacerlo
- Amazon
- análisis
- nadie
- abejas
- API
- applicación
- aplicaciones
- aplicada
- enfoque
- aproximadamente
- aplicaciones
- arquitectura
- artificial
- inteligencia artificial
- Automático
- Automatización
- Hoy Disponibles
- promedio
- AWS
- barrera
- Base
- porque
- antes
- beneficios
- mil millones
- Bloquear
- build
- constructor
- Construir la
- negocios
- cases
- Reto
- retos
- Soluciones
- Plataforma en la nube
- código
- colaboración
- combinación
- combinaciones
- combinado
- Comunicación
- Empresas
- completar
- integraciones
- compliance
- exhaustivo
- computadora
- informática
- condiciones
- Core
- podría
- CTO
- personalizado
- Clientes
- innovador
- a dedicados
- profundo
- entrega
- demostrar
- Dependiente
- depende
- desplegar
- desplegado
- Desplegando
- despliegue
- describir
- Diseño
- diseñado
- desarrollar
- desarrollado
- el desarrollo
- Desarrollo
- distribuidos
- Computación distribuída
- Docker
- dominios
- dramáticamente
- pasan fácilmente
- efecto
- emplea
- permite
- de extremo a extremo
- Punto final
- Motor
- Ingeniería
- certificados
- asegurando que
- empresas
- equipado
- evaluar
- todos
- ejemplo
- Cambios
- experience
- experimento
- en los detalles
- un recuerdo extraordinario
- Cara
- factores importantes
- familia
- RÁPIDO
- más rápida
- Feature
- Caracteristicas
- Figura
- Nombre
- centrado
- se centra
- siguiendo
- Footprint
- fundador
- Marco conceptual
- Desde
- ser completados
- Además
- generar
- la generación de
- generación de AHSS
- generativo
- Buscar
- gobierno
- GPU
- Creciendo
- guía
- Materiales
- ayuda
- ayudando
- ayuda
- esta página
- Alta
- altamente
- Cómo
- Sin embargo
- HTTPS
- Cientos
- ideal
- imagen
- implementación
- Incluye
- aumente
- creciente
- Innovation
- originales
- Las opciones de entrada
- ejemplo
- integrar
- integraciones
- Intelligence
- solo
- IT
- idioma
- large
- mayores
- mayor
- .
- líder
- APRENDE:
- aprendizaje
- Nivel
- Apalancamiento
- Biblioteca
- líneas
- carga
- Largo
- mirando
- máquina
- máquina de aprendizaje
- para lograr
- HACE
- gestionan
- administrar
- Mercado
- significa
- Salud Cerebral
- métodos
- Microsoft
- podría
- mínimo
- ML
- modelo
- modelos
- monitoreo
- meses
- más,
- Natural
- necesario
- Nvidia
- obstáculo
- LANZAMIENTO
- Ofrecido
- oficial
- habiertos
- de código abierto
- Operaciones
- optimización
- optimizado
- optimizando
- organización
- para las fiestas.
- EL DESARROLLADOR
- apasionado
- Personas
- actuación
- la perspectiva
- plataforma
- políticas
- política
- Popular
- posición
- positivo
- posible
- industria
- Predicciones
- bastante
- Director de la escuela
- privada
- problemas
- Automatización de procesos
- en costes
- tratamiento
- Producción
- proveedor
- los proveedores
- proporciona un
- proporcionando
- calificar
- con rapidez
- I + D
- aumento
- que van
- en comunicarse
- la reducción de
- reflejar
- liberado
- Estrenos
- representación
- exigir
- Requisitos
- Requisitos
- requiere
- respuesta
- responsable
- Resultados
- Ejecutar
- correr
- Safety
- Said
- Escala
- Científico
- segundos
- selección
- sentimiento
- Serie
- servicio
- set
- sencillos
- soltero
- Tamaño
- So
- Software
- Soluciones
- RESOLVER
- algo
- sofisticado
- específicamente
- velocidad
- velocidades
- Gastos
- montón
- estándar
- comienzo
- inicio
- Startups
- el estado de la técnica
- Zonas
- Sin embargo
- estrategias
- Estrategia
- más fuerte
- SOPORTE
- soportes
- Todas las funciones a su disposición
- equipo
- Técnico
- términos
- test
- pruebas
- La
- por lo tanto
- miles
- A través de esta formación, el personal docente y administrativo de escuelas y universidades estará preparado para manejar los recursos disponibles que derivan de la diversidad cultural de sus estudiantes. Además, un mejor y mayor entendimiento sobre estas diferencias y similitudes culturales permitirá alcanzar los objetivos de inclusión previstos.
- equipo
- veces
- de hoy
- juntos
- ficha
- Tokens
- tradicionalmente
- Formación
- típicamente
- ui
- bajo
- Actualizaciones
- utilizan el
- usuarios
- diversos
- visión
- formas
- web
- ¿
- Sistemas de
- sean
- sin
- trabajado
- flujos de trabajo
- la escritura
- tú