Microsoft Artificial Intelligence presenta DeepSpeed-MII, una nueva biblioteca Python de código abierto de DeepSpeed que acelera más de 20 000 modelos de aprendizaje profundo ampliamente utilizados.
Si bien el software de código abierto ha hecho que la IA sea más accesible para más personas, todavía existen dos barreras principales para su uso generalizado: la latencia de inferencia y el costo.
La optimización del sistema ha recorrido un largo camino y puede reducir significativamente la latencia y el costo como resultado del modelo DL, pero no están fácilmente disponibles. Muchos científicos de datos carecen de la experiencia para definir e implementar adecuadamente un conjunto de optimizaciones del sistema para adaptarse a un modelo particular, lo que hace que la inferencia de baja latencia y bajo costo esté fuera de su alcance. La naturaleza compleja del panorama de salida del modelo DL, incluidas las amplias variaciones en el tamaño del modelo, la arquitectura, las características de rendimiento del sistema, los requisitos de hardware, etc., es la razón principal de esta existencia.
Recientemente, la investigación DeepSpeed-MII de código abierto de Microsoft, una nueva biblioteca de Python de código abierto desarrollada por la compañía para facilitar la adopción generalizada de la inferencia de bajo costo y baja latencia de modelos de alto rendimiento. MII brinda acceso a miles de modelos DL populares con aplicaciones altamente efectivas.
MII utiliza muchas optimizaciones de DeepSpeed-Inference, como la agrupación profunda para transformadores, el corte de tensor automatizado para la inferencia de múltiples GPU, la cuantificación sobre la marcha con ZeroQuant y otras que brindan ahorros de costos/latencia baja. Proporciona un rendimiento de última generación al tiempo que permite la implementación de bajo costo de estos modelos en las instalaciones y en Azure a través de AML con solo unas pocas líneas de código.
DeepSpeed-Inference es el motor que impulsa MII bajo el capó. MII aplica automáticamente optimizaciones de resultados del sistema DeepSpeed para minimizar la latencia y maximizar el rendimiento según el tipo de modelo, el tamaño, el tamaño del lote y los recursos de hardware disponibles. Para lograr esto, MII y DeepSpeed-Inference usan una de las muchas reglas de inyección de modelos predefinidas que le permiten definir la arquitectura básica de un modelo PyTorch y reemplazarlo con una implementación optimizada más adelante. Como resultado, los miles de modelos compatibles populares de MII obtienen acceso inmediato a la suite de optimización de inferencia detallada de DeepSpeed.
Cara abrazo, FairSeq, EluetherAI, etc. incluidos miles de modelos de transformadores disponibles en varios repositorios de modelos de código abierto. MII puede crear texto, responder preguntas, clasificar y más. soporta varios programas como Trabaja con modelos extremadamente complejos con cientos de millones de modelos. configuraciones, incluidas las basadas en las arquitecturas BERT, RoBERTa, GPT, OPT y BLOOM. Además, se admiten técnicas de imagen modernas como Stable Diffusion.
Las cargas de trabajo resultantes pueden ser críticas para el retraso, donde el objetivo principal es minimizar el retraso, o sensibles al costo, donde el objetivo principal es minimizar el costo.
Hay dos opciones de DeepSpeed-Inference que MII puede usar. El primero, ds-public, está incluido en la biblioteca pública de DeepSpeed e incluye la mayoría de las mejoras mencionadas anteriormente. El segundo, ds-azure, está disponible para todos los usuarios de Microsoft Azure a través de MII y proporciona una conexión más profunda con Azure. Las instancias de MII se pueden nombrar mediante dos variaciones de DeepSpeed-Inference, MII-Public y MII-Azure.
En comparación con la implementación PyTorch de código abierto (Baseline), MII-Public y MII-Azure brindan una latencia significativa y reducciones de costos. Sin embargo, pueden tener diferentes rendimientos para cargas de trabajo generativas específicas. MII puede reducir la latencia en un factor de 6 para varios modelos de código abierto en varias cargas de trabajo, lo que lo hace ideal para casos críticos de latencia donde normalmente se usa un tamaño establecido de 1. El equipo usó un tamaño de lote grande que aumentó la línea de base y el rendimiento de MII para lograr el costo más bajo. Los resultados muestran que Bloom, OPT, etc. Modelos de lenguaje costosos como pueden reducir drásticamente el costo de la inferencia mediante el uso de MII.
MII-Public puede ejecutarse localmente o en cualquier servicio en la nube. MII desarrolla un servidor GRPC mínimo y proporciona un punto de inferencia GRPC para consultas para ayudar con esta implementación. MII se puede usar mediante AML Inference con Azure.
Los investigadores esperan que su trabajo sea compatible con una amplia variedad de modelos. Creen que MII permitirá la incorporación más amplia de potentes capacidades de IA en una variedad de aplicaciones y ofertas de productos al reducir inmediatamente la latencia y el costo de la inferencia.
Github: https://github.com/microsoft/deepspeed-mii#supported-models-and-tasks
Referencia: https://www.microsoft.com/en-us/research/project/deepspeed/deepspeed-mii/