Estás leyendo la publicación: Meta AI Fuentes abiertas AITemplate (AIT), un marco Python que transforma redes neuronales profundas en código C++ para acelerar los servicios de inferencia
Las GPU son cruciales para brindar la potencia computacional requerida para implementar modelos de IA para modelos preentrenados a gran escala en varios dominios de aprendizaje automático como la visión artificial, el procesamiento del lenguaje natural y el aprendizaje multimodal. Actualmente, los profesionales de la IA ahora tienen una opción mínima en cuanto a la elección de soluciones de inferencia de GPU de alto rendimiento debido a su naturaleza específica de plataforma. Un sistema de aprendizaje automático creado para la GPU de una empresa debe volver a implementarse por completo para ejecutarse en hardware de un proveedor de tecnología diferente. Debido a las dependencias de hardware en entornos de tiempo de ejecución complicados, es un desafío mantener el código que compone estas soluciones. Además, los canales de producción de IA con frecuencia necesitan un desarrollo rápido. Aunque los kits de herramientas de software propietario como TensorRT ofrecen opciones de personalización, con frecuencia no cumplen con esta demanda. Al reducir aún más la agilidad del desarrollo, la solución propietaria puede dificultar la depuración rápida del código.
Meta AI ha creado Plantilla AI (AIT), una solución de inferencia unificada de código abierto con distintos back-ends de aceleración para tecnología de GPU AMD y NVIDIA, para abordar estas dificultades de la industria. En una gama de modelos populares de IA, incluidas redes neuronales convolucionales, transformadores y difusores, proporciona un rendimiento casi idéntico al de las arquitecturas Tensor Core (NVIDIA GPU) y Matrix Core (AMD GPU) nativas del hardware. El equipo mejoró el rendimiento hasta 12 veces en las GPU de NVIDIA al utilizar AIT y 4 veces en las GPU de AMD al utilizar el modo ansioso de PyTorch. Actualmente, AITemplate está habilitado en los sistemas de GPU A100 de NVIDIA y MI200 de AMD, que se usan comúnmente en centros de datos de empresas tecnológicas, instalaciones de investigación y proveedores de servicios de computación en la nube.
AITemplate es un sistema de Python que convierte modelos de IA en código de plantilla de GPU C++ de alto rendimiento para acelerar la inferencia. Una capa de front-end que realiza varias transformaciones de gráficos para optimizar el gráfico y una capa de back-end que produce plantillas de kernel de C++ para el objetivo de GPU conforman el sistema. La visión detrás del marco es admitir alta velocidad manteniendo la simplicidad. El proyecto incluye varios avances de rendimiento, como la fusión mejorada del kernel, una técnica de optimización que unifica varios kernels en uno solo para operarlos de manera más efectiva y optimizaciones avanzadas de bloques de transformadores. Estas mejoras aumentan drásticamente el uso de Matrix Cores de AMD y Tensor Cores de NVIDIA, lo que da como resultado un rendimiento de vanguardia. Además, AIT mantiene su dependencia de bibliotecas externas al mínimo.
Gracias a su compatibilidad con tres optimizaciones avanzadas (vertical, horizontal y fusiones de memoria), AITemplate cuenta con uno de los sistemas de fusión de kernel más sofisticados de la empresa. Además, ser fácil de implementar hace que AITemplate sea una solución viable. Se crea un binario autónomo e independiente que contiene el modelo de IA. Este binario tiene buena compatibilidad con versiones anteriores porque puede operar en cualquier entorno con el mismo hardware y versiones más recientes de CUDA 11 / ROCM 5. Además, AITemplate ofrece modelos prediseñados de uso común (por ejemplo, VisionTransformer, BERT, Stable Diffusion, ResNet y MaskRCNN). Esto agiliza el procedimiento de implementación y simplifica a los profesionales la implementación de modelos preentrenados de PyTorch. La plantilla Python Jinja2 y la plantilla GPU Tensor Core/Matrix Core C++ son las dos capas de sistemas de plantillas que componen AITemplate. Después de generar perfiles en Python, el sistema convierte la plantilla Jinja2 en código C++ para determinar la configuración óptima del kernel. El código binario final del modelo se crea compilando el código fuente generado mediante el compilador GPU C++. Los usuarios pueden convertir sus modelos de una variedad de marcos, incluido PyTorch, a AITemplate debido a su diseño frontal, que es similar a PyTorch.
Además de aumentar la cantidad de plataformas disponibles para IA, Meta AI espera desarrollar técnicas que también puedan ayudar a resolver problemas ambientales al reducir las emisiones de carbono. Según los estudios, el uso de GPU puede influir en las emisiones de carbono. AITemplate acelera la ejecución de GPU, lo que puede minimizar aún más las emisiones. En resumen, AITemplate proporciona un rendimiento de vanguardia para las GPU AMD y NVIDIA de la generación actual y próxima con una complejidad mínima del sistema. Sin embargo, según los investigadores, apenas están comenzando a desarrollar un motor de inferencia de IA de alto rendimiento. Están intentando activamente mejorar AITemplate con nuevas optimizaciones y soporte completo para formas dinámicas. Sus objetivos a largo plazo incluyen expandir AITemplate a más plataformas de hardware de diferentes proveedores de tecnología. Meta tiene como objetivo crear un ecosistema para la inferencia de IA que sea más ecológico y efectivo, con un rendimiento, flexibilidad y opciones de back-end más notables, y el desarrollo de AITemplate es un trampolín en esa dirección.
Este artículo está escrito como un artículo de resumen de investigación por el personal de Marktechpost basado en el artículo de investigación ‘Inferencia más rápida y flexible en GPU con AITemplate, un nuevo y revolucionario motor de inferencia‘. Todo el crédito de esta investigación es para los investigadores de este proyecto. Revisar la código y referencia artículo.
Por favor no olvides unirte Nuestro subreddit de ML
Echa un vistazo a https://aitoolsclub.com para encontrar 100 de Cool AI Tools