ACK Cloud Native AI Suite: el camino óptimo para la implementación de ingeniería de IA nativa en la nube

Autor: Hu Yuyu (Zhiliu)

Prefacio

En los últimos años, la tecnología de inteligencia artificial se ha desarrollado a pasos agigantados, cubriendo importantes avances en tecnologías clave como el aprendizaje automático, el aprendizaje profundo y las redes neuronales, lo que ha hecho que la inteligencia artificial se utilice ampliamente en diversos campos y haya tenido un profundo impacto. en todos los ámbitos de la vida, una profunda influencia.

Vale la pena mencionar especialmente que en los últimos años, el rápido desarrollo de ChatGPT ha permitido que la tecnología de inteligencia artificial haga avances significativos en el procesamiento del lenguaje natural y la generación de diálogos, lo que permite que la inteligencia artificial ingrese aún más en la vida diaria de las personas y cambie nuestras vidas y formas de trabajo.

Con el rápido desarrollo y aplicación de la tecnología de inteligencia artificial, la ingeniería de IA, como "acelerador de la innovación empresarial de inteligencia artificial", también se actualiza y evoluciona constantemente. Para satisfacer la creciente demanda de potencia informática, mayores requisitos de estabilidad empresarial e innovación y entrega iterativa más rápidas, cada vez más empresas optan por desarrollar, entrenar e implementar modelos de IA en la nube, aprovechando la computación en la nube para obtener estabilidad y flexibilidad. potencia informática heterogénea a gran escala, mejorando así la eficiencia de la iteración del algoritmo y la implementación de aplicaciones, y mejorando la confiabilidad de los servicios a gran escala.

Al mismo tiempo, las tecnologías y arquitecturas nativas de la nube, como contenedores, Kubernetes, malla de servicios y Serverless, también se utilizan ampliamente para admitir múltiples tipos de cargas de trabajo, como IA y big data, y para crear sistemas de producción de IA colaborativos y multifuncionales. , mejorando aún más la elasticidad, escalabilidad y flexibilidad diseñadas por IA.

A medida que más y más empresas crean sistemas y aplicaciones de IA en el servicio de contenedores ACK, ya sean operadores de clústeres ACK y plataformas de IA o ingenieros de algoritmos que utilizan la tecnología de contenedores para depurar y ejecutar tareas de aprendizaje profundo, todas disfrutan de los beneficios de los servicios en la nube. Si bien la tecnología y la arquitectura nativas aportan comodidad y eficiencia, aún enfrentan desafíos en cuanto a costos continuos de operación y mantenimiento y eficiencia de producción.

Por lo tanto, para ayudar a los clientes a construir sistemas de IA en Container Service ACK de manera más fácil y eficiente y mejorar la eficiencia de la producción de IA, lanzamos la suite de IA nativa de la nube Container Service ACK.

Su objetivo es utilizar tecnología y arquitectura nativas de la nube para brindar a los clientes una solución integral de productos y tecnología de IA nativa de la nube, que puede ayudar a los clientes a construir de manera rápida y personalizada sistemas de producción de IA en el servicio de contenedores ACK, y optimizar continuamente la eficiencia y la eficiencia de sistemas heterogéneos. recursos Ejecute cargas de trabajo heterogéneas. Permitir que los clientes implementen la ingeniería de IA de manera más rápida y efectiva, mejorando así la competitividad y las capacidades de innovación de las empresas.

¿Qué es una suite de IA nativa de la nube?

Entonces, ¿de qué forma se proporciona a los clientes la suite de IA nativa de la nube, para qué escenarios de clientes es adecuada y qué capacidades y ventajas tiene?

Primero, echemos un vistazo a la forma del producto de la suite de IA nativa en la nube: ¿Cómo proporcionar capacidades de IA nativas en la nube a los clientes?

La suite de IA nativa de la nube proporciona capacidades de IA nativa de la nube a través de múltiples componentes ensamblables, escalables y personalizables . Utilizando el servicio de contenedor de Kubernetes como base, encapsula la gestión unificada de varios recursos heterogéneos hacia abajo y proporciona el entorno de clúster estándar de Kubernetes y la API hacia arriba para ejecutar cada componente central. También combina servicios de imágenes de contenedores y capacidades relacionadas con servicios de contenedores, como observabilidad, diagnóstico inteligente y escalado elástico, para proporcionar una solución de producto más completa.

Las capacidades de los componentes principales de la suite de IA nativa de la nube incluyen cuatro módulos jerárquicos para satisfacer las necesidades de los escenarios de los clientes empresariales con diferentes roles y diferentes niveles de arquitectura. De abajo hacia arriba se encuentran la gestión heterogénea de la potencia informática, la gestión de tareas de IA, la aceleración de datos de IA y la gestión de ingeniería de IA.

El primer paso en la ingeniería de IA nativa de la nube es construir un clúster K8 para administrar la potencia informática heterogénea en la nube. Por lo tanto, la primera capa es el módulo de administración de potencia informática heterogénea, que incluye la gestión y operación de recursos heterogéneos, el escalado elástico y Programar y compartir.

Con el clúster informático heterogéneo, los ingenieros de algoritmos pueden comenzar a enviar trabajos de IA, acceder a servicios de almacenamiento a través de la interfaz estándar del clúster K8 y realizar la programación de trabajos de IA y la asignación de recursos de GPU. Finalmente, el modelo entrenado se implementa en el clúster, que es básicamente Procesos de desarrollo y producción de IA. Por lo tanto, el nivel superior es la gestión de tareas de IA, incluido el envío y ejecución, la programación y la flexibilidad de las tareas de IA.

Inmediatamente después, las empresas tuvieron mayores requisitos de eficiencia de producción y encontraron más problemas. Incluyendo un acceso lento a los datos de capacitación, falta de gestión de conjuntos de datos y modelos, falta de verificación de calidad y desempeño para el lanzamiento del modelo, falta de operación y mantenimiento orientados a servicios y métodos de gobernanza después de conectarse, y baja eficiencia de colaboración en equipo. de cierta utilidad para ingenieros de algoritmos y científicos de datos Umbral, etc.

Por lo tanto, el paso superior es la aceleración de datos de IA y la gestión de ingeniería de IA. La aceleración de datos de IA incluye la abstracción y gestión de conjuntos de datos, la aceleración del acceso a datos, la orquestación de conjuntos de datos, etc. Gestión de proyectos de IA, incluidas herramientas de línea de comandos y SDK, consolas de desarrollo y operación y mantenimiento de IA, y optimización de MLOps o LLMOps. Los clientes pueden elegir diferentes componentes para usar según sus necesidades específicas para construir de forma rápida y personalizada su propia plataforma de IA, o utilizar directamente la plataforma y los servicios de Alibaba Cloud AI integrados con la suite de IA nativa de la nube para optimizar el rendimiento, la eficiencia y el rendimiento de la IA. ​sistema de producción en el full stack.

El uso de la suite de IA nativa de la nube puede aumentar la utilización de la GPU en un 100 %, la eficiencia del acceso a los datos en un 30 % y la velocidad de entrenamiento de la IA en un 20 %.

A continuación, echemos un vistazo detallado a los cuatro módulos de capacidad jerárquica, qué ventajas y características tienen y cómo satisfacer las necesidades de diferentes roles, diferentes niveles de arquitectura y diferentes etapas comerciales.

Aún mirándolo de abajo hacia arriba, echemos un vistazo al módulo de administración de energía informática heterogénea . Brindamos administración de recursos, operación y escalamiento elástico basado en el servicio de contenedor ACK, y podemos admitir CPU, GPU, vGPU, NPU, FPGA, etc. El acceso unificado, el monitoreo, el diagnóstico y el análisis de costos de recursos heterogéneos ayudan al personal de operación y mantenimiento a reducir la complejidad de la gestión de GPU a gran escala y proporcionan reducción inteligente de picos y llenado de valles para reducir el desperdicio de recursos. La suite de IA nativa de la nube también proporciona funciones de programación y uso compartido de recursos, incluida la programación consciente de la topología de CPU/GPU y la programación y el aislamiento compartidos de GPU. La programación consciente de la topología de CPU/GPU se basa en la información de topología de los recursos heterogéneos del nodo, como NVLink, PcleSwitch y otros métodos de comunicación entre tarjetas GPU, así como la topología NUMA de la CPU, etc., y toma decisiones de programación óptimas en la dimensión del clúster para proporcionar cargas de trabajo con un mejor rendimiento. La programación compartida y el aislamiento de GPU pueden permitir que una GPU sea utilizada por múltiples tareas, también puede aislar la memoria de video solicitada por cada aplicación en una GPU y dividir la potencia de cálculo de la GPU, mejorando así la utilización de recursos de la GPU.

A continuación, echemos un vistazo al módulo de gestión de tareas de IA.La suite de IA nativa de la nube es compatible con los principales marcos y herramientas de IA, incluidos tensorflow, pytorch, JupyterLab, TF-Serving, Triton, etc., y se adapta constantemente. a nuevos marcos distribuidos de capacitación e inferencia, como deepspeed, fasttransformer, etc., que pueden enviar y administrar tareas de manera unificada. Al mismo tiempo, admite la integración de Kubeflow Pipelines o el motor de flujo de trabajo nativo de la nube Argo para proporcionar servicios de orquestación de flujo de trabajo para tareas complejas de IA. El módulo de gestión de tareas de IA también proporciona una variedad de estrategias de programación, adecuadas para varios tipos de tareas por lotes típicas, como la capacitación distribuida de IA. El marco de programación nativo de Kubernetes se extiende a través del programador ACK para implementar una variedad de estrategias típicas de programación por lotes, incluida la programación grupal, la programación de capacidad, el reparto justo, Binpack/Spread, etc., para satisfacer las necesidades de programación de diferentes tareas. También admite colas de tareas, proporciona gestión personalizada de prioridades de tareas y control elástico de cuotas de recursos para los inquilinos, y mejora la eficiencia de la programación de tareas y la utilización de recursos. Además, también admite tareas de inferencia y entrenamiento elástico para mejorar la eficiencia de la ejecución de tareas y optimizar los costos.

Echemos otro vistazo al  módulo de aceleración de datos de IA , que es compatible principalmente con Fluid, un marco de orquestación de datos para aplicaciones intensivas en datos nativas de la nube. Fluid propone el concepto de conjuntos de datos elásticos, que agrega servicios de almacenamiento en diferentes ubicaciones y tipos como fuentes de datos en el mismo conjunto de datos para lograr una gestión unificada de los datos. Fluid admite una variedad de motores de caché distribuidos, incluidos Alibaba Cloud JindoRuntime y EFCRuntime, así como AlluxioRuntime y JuiceFSRuntime proporcionados por la comunidad de código abierto. También puede expandir sistemas de almacenamiento de terceros o de construcción propia conectándose a las interfaces estándar de Fluid. Combinado con Fluid, proporciona funciones como el precalentamiento de la caché del conjunto de datos, así como el monitoreo de la capacidad y el escalado elástico de los datos almacenados en la caché para reducir el costo de la extracción de datos para tareas informáticas y mejorar la eficiencia informática de la GPU. Fluid también admite la aceleración del acceso a datos sin servidor para lograr una expansión elástica del rendimiento del acceso a los datos, así como la aceleración del acceso a los datos en la nube híbrida, lo que permite un acceso seguro y rápido al almacenamiento de creación propia mientras se migra elásticamente a la nube. Fluid también admite funciones como la orquestación colaborativa de aplicaciones y el flujo de datos automatizado, lo que hace que el proceso de uso de datos en la nube sea más simple y automatizado.

Finalmente, está el módulo de gestión de proyectos de IA . Además de proporcionar herramientas de línea de comandos Arena y SDK para proteger la complejidad subyacente y simplificar la gestión de tareas, también proporciona un panel de operación y mantenimiento simple y una consola de desarrollo para permitir a los usuarios navegar rápidamente. estado del clúster, enviar y ver las necesidades de la tarea. Al mismo tiempo, la suite de IA nativa de la nube se compromete a optimizar continuamente la eficiencia y la experiencia de producción de IA, y adopta plenamente el gran ecosistema modelo para respaldar las necesidades de MLOps, LLMOps y otros campos relacionados.

A través de la introducción anterior, creo que tiene una comprensión básica del conjunto de inteligencia artificial nativa de la nube. A continuación, ¡veamos dos casos típicos de clientes!

Caso de cliente

El primero es Anygate: un caso de construcción de una plataforma de red social de inteligencia artificial basada en una suite de IA nativa de la nube.

SoulAPP de Anydoor es una red social móvil basada en gráficos de intereses y juegos gamificados. Tiene ricos escenarios comerciales de IA, que incluyen coincidencia de voz, robots de chat, reconocimiento de texto, reconocimiento de imágenes, multimodalidad, etc.

Sin embargo, en el método tradicional de construcción e implementación de máquinas virtuales, falta una plataforma unificada de gestión y control, lo que da como resultado:

  • Iteración empresarial lenta: los ingenieros de I+D necesitan dedicar mucho tiempo a la preparación, gestión y operación de los recursos y entornos subyacentes, y no pueden centrarse en el desarrollo empresarial.
  • Trabajos de operación y mantenimiento duplicados: se requiere una gran cantidad de configuración del entorno y manejo de problemas repetidos, lo que requiere una gran inversión en mano de obra y una baja eficiencia de operación y mantenimiento.
  • Rendimiento de bajo costo de recursos: hay una gran cantidad de máquinas apiladas y una baja utilización de recursos, lo que resulta en un desperdicio de recursos inactivos.

En Alibaba Cloud, a través del servicio de contenedores ACK, la suite de inteligencia artificial nativa de la nube, Anygate creó una plataforma AI PaaS que cumple con los estándares de código abierto y se controla de forma independiente. Administró una escala ultragrande desde docenas de tarjetas GPU en la etapa inicial hasta casi mil, ahorrando 1 veces el costo de operación costo de dimensión. Además, la eficiencia de la iteración de desarrollo se ha incrementado de 2 a 5 veces y puede albergar cientos de lanzamientos comerciales de IA todos los días, lo que respalda bien el rápido desarrollo del negocio. A través del uso compartido de GPU y las capacidades de aceleración de datos fluidos, se mejora el rendimiento empresarial y se ahorran costos de recursos en un 50 %.

El segundo caso es la plataforma de aprendizaje automático de Xiaomi: una plataforma de IA de contenedor de nube híbrida sin servidor basada en Fluid.

Xiaomi Machine Learning Platform (CloudML) ofrece servicios de imágenes, PNL, acústica, recomendaciones de búsqueda y otras aplicaciones. Es un servicio en la nube distribuido de alto rendimiento optimizado por Xiaomi para todo el proceso de aprendizaje automático.

Los clústeres autoconstruidos que soportan CloudML tienen una capacidad de grupo de recursos y una elasticidad de recursos relativamente limitadas, lo que resulta en altos costos de recursos inactivos durante los períodos bajos del negocio y escasez de recursos durante los picos comerciales. Después de migrar a una nube híbrida basada en la arquitectura de contenedores Serverless, hemos obtenido las ventajas de agilidad, seguridad, elasticidad y bajo costo que brindan los contenedores Serverless, sin embargo, también nos hemos encontrado con varios desafíos técnicos importantes:

  • No se pueden personalizar los tipos de almacenamiento extendido: los clústeres de nubes públicas solo admiten los tipos de almacenamiento de Alibaba Cloud (como NAS, OSS, etc.) y no pueden adaptarse directamente al almacenamiento de archivos distribuido desarrollado internamente (StarFS).
  • Falta de métodos de acceso a datos confiables y transparentes: cómo evitar la fuga de datos durante el uso del sistema de caja negra de contenedores sin servidor y cómo garantizar la seguridad y confiabilidad durante el almacenamiento, la transmisión y el acceso a los datos, faltan las soluciones correspondientes.
  • Las diferencias en la infraestructura conducen a una experiencia de usuario inconsistente: en un escenario de nube híbrida, cuando las tareas del usuario se migran entre la nube pública y un clúster de construcción propia, la experiencia del usuario debe ser consistente con la del clúster de construcción propia sin hacer demasiados cambios. cambios.

Los problemas anteriores se pueden resolver bien a través de la solución de acceso al sistema de almacenamiento de fluidos proporcionada en la suite de IA nativa de la nube Alibaba Cloud ACK:

En primer lugar, proporciona un buen soporte extendido para el acceso al almacenamiento StarFS de construcción propia y, gracias a la función de observabilidad del conjunto de datos proporcionada por Fluid, se pueden obtener las características de acceso a los datos de las cargas de trabajo en la nube, lo que respalda la carga de datos y recursos en caliente. asignación Tuning.

En segundo lugar, la solución es de fácil acceso y cómoda de gestionar. Puede completar el trabajo de acoplamiento entre StarFS y el entorno de Kubernetes usted mismo. Todo el desarrollo de ThinRuntime es simple y no requiere conocimientos complejos de desarrollo personalizado de Kubernetes.

Según esta solución, solo necesita comprender la construcción de Dockerfile para completarla. El trabajo de desarrollo demora entre 2 y 3 horas, lo que reduce significativamente el costo de usar ECI para acceder a StarFS.

Después de comprender las capacidades, ventajas y casos de clientes de la suite de IA nativa en la nube, si su empresa tiene necesidades similares, le presentaremos cómo utilizar la suite de IA nativa en la nube y le brindaremos algunos experimentos interesantes para que pueda comenzar rápidamente.

Uso del kit de IA nativo en la nube

Los kits de IA nativos de la nube suelen tener dos tipos de roles de usuario: los administradores de operaciones y mantenimiento son los principales responsables de construir la infraestructura de IA y la gestión diaria, mientras que los científicos de datos y los ingenieros de algoritmos utilizan kits de IA nativos de la nube para enviar y gestionar tareas.

Estos dos tipos de roles pueden operar y colaborar de manera eficiente a través de consolas y herramientas de línea de comandos.

Primero, el administrador de operación y mantenimiento necesita crear y configurar el clúster ACK, así como los recursos y servicios relacionados, y agregar recursos heterogéneos para la administración, operación y mantenimiento. Luego configure el sistema y el entorno, incluida la activación e instalación de la suite de IA nativa de la nube, la gestión de usuarios y cuotas, y la preparación de datos. Después de completar estos preparativos, los ingenieros de algoritmos y científicos de datos pueden comenzar a usar la herramienta de línea de comandos Arena o la consola de desarrollo de la suite de IA proporcionada por la suite de IA nativa de la nube para desarrollar, entrenar e implementar modelos, y utilizar la programación, la elasticidad y la aceleración del acceso a datos. , etc., mejorar la eficiencia y el rendimiento de la producción de IA y realizar operaciones y mantenimiento del razonamiento orientados al servicio. Los administradores de operación y mantenimiento pueden ver clústeres, nodos, tareas de capacitación, cuotas de recursos, análisis de costos y otros paneles de monitoreo a través de la consola de operación y mantenimiento, para monitorear y administrar el clúster en tiempo real.

Este modelo de trabajo eficiente y colaborativo puede mejorar la eficiencia de la producción y optimizar la utilización y gestión de recursos.

Si desea comenzar con algunas funciones simples y comenzar rápidamente con la suite de IA nativa en la nube, hemos preparado un tutorial experimental de nivel niñera de bajo costo y umbral para usted, que le permitirá experimentar la suite de IA nativa en la nube que acelera la IA. a través de escenarios simples e interesantes proceso de ingeniería.

En cuanto al costo, la suite de IA nativa de la nube se factura mediante pago por uso: pruébela primero y pague después.

El costo de usar la suite de IA nativa en la nube = el costo de la suite de IA nativa en la nube + el costo de ACK + el costo de otros productos en la nube

La suite de IA nativa de la nube adopta un método de facturación escalonada. Si el número máximo de tarjetas GPU ese día no supera las 8, la suite de IA nativa de la nube en sí es gratuita.

Si desea tener una comprensión integral y profunda de más capacidades de la suite de IA nativa de la nube, también le ofrecemos una serie de cursos de práctica de ingeniería de IA nativa de la nube. Estos cursos lo ayudarán a comenzar con más funciones y mejores prácticas. de la suite de IA nativa de la nube, lo que le permite aplicarla mejor en proyectos reales.

Además de los cursos, también te brindamos un grupo de comunicación donde podrás interactuar y comunicarte con nosotros. En el grupo de comunicación, puede mantenerse al tanto de las tendencias de productos de las suites de IA nativas de la nube y discutir los últimos desarrollos tecnológicos de la IA nativa de la nube. Al mismo tiempo, también le brindaremos soluciones y servicios de soporte más específicos según sus escenarios comerciales.

Experimento 1: Kit de IA nativo de la nube: ajuste del estilo Pokémon StableDiffusion en cinco minutos [ 1]

Experimento 2: Suite de IA nativa de la nube: entrenamiento con un solo clic de modelos grandes e implementación de servicios de inferencia compartidos de GPU [ 2]

Para obtener más experimentos, consulte: Serie de prácticas de ingeniería de IA nativa en la nube [ 3]

Esperamos que continúe prestando atención a la suite de IA nativa de la nube y nos permita ayudarlo a acelerar la implementación de la ingeniería de IA con tecnología y arquitectura nativas de la nube, mejorar la eficiencia de la producción de IA y optimizar los costos. explore la tecnología y las aplicaciones de la IA nativa de la nube y brinde capacidades de producto más completas, mejores servicios y experiencia. Bienvenido a utilizar DingTalk para comunicarse con nosotros buscando el código de grupo. (Número de grupo DingTalk: 33214567)

Enlaces relacionados:

[1] Kit de IA nativo de la nube: perfeccionando el estilo Pokémon StableDiffusion en cinco minutos

https://developer.aliyun.com/adc/scenario/5d4b9f5be5104302b9c4ca2fd1a4755e

[2] Suite de IA nativa en la nube: entrenamiento con un solo clic de modelos grandes e implementación de servicios de inferencia compartidos de GPU

https://developer.aliyun.com/adc/scenario/99e00d4dea0e4fbf952780b30136209d

[3] Serie de cursos de práctica de ingeniería de IA nativa en la nube

https://developer.aliyun.com/adc/scenarioSeries/e5427732f6e94cde939a7aeed1d19180

El autor del marco de código abierto NanUI pasó a vender acero y el proyecto fue suspendido. La primera lista gratuita en la App Store de Apple es el software pornográfico TypeScript. Acaba de hacerse popular, ¿por qué los grandes empiezan a abandonarlo? Lista de octubre de TIOBE: Java tiene la mayor caída, C# se acerca Java Rust 1.73.0 lanzado Un hombre fue alentado por su novia AI a asesinar a la Reina de Inglaterra y fue sentenciado a nueve años de prisión Qt 6.6 publicado oficialmente Reuters: RISC-V La tecnología se convierte en la clave de la guerra tecnológica entre China y Estados Unidos. Nuevo campo de batalla RISC-V: no controlado por ninguna empresa o país, Lenovo planea lanzar una PC con Android.
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/3874284/blog/10116743
Recomendado
Clasificación