Perspectiva de la IA y el AA: Optimización del rendimiento

Last reviewed 2024-10-11 UTC

En este documento del Framework de la arquitectura: perspectiva de la IA y el AA, se proporciona una descripción general de los principios y las recomendaciones para ayudarte a optimizar el rendimiento de tus cargas de trabajo de IA y AA en Google Cloud. Las recomendaciones de este documento se alinean con el pilar de optimización del rendimiento del framework de arquitectura.

Los sistemas de IA y AA habilitan nuevas capacidades de automatización y toma de decisiones para tu organización. El rendimiento de estos sistemas puede afectar directamente a los impulsores de tu negocio, como los ingresos, los costos y la satisfacción del cliente. Para aprovechar todo el potencial de tus sistemas de IA y AA, debes optimizar su rendimiento en función de tus objetivos comerciales y requisitos técnicos. El proceso de optimización del rendimiento a menudo implica ciertas compensaciones. Por ejemplo, una elección de diseño que proporciona el rendimiento requerido podría generar costos más altos. Las recomendaciones de este documento priorizan el rendimiento sobre otras consideraciones, como los costos.

Para optimizar el rendimiento de la IA y el AA, debes tomar decisiones en función de factores como la arquitectura del modelo, los parámetros y la estrategia de entrenamiento. Cuando tomes estas decisiones, considera todo el ciclo de vida de los sistemas de IA y AA, así como su entorno de implementación. Por ejemplo, los LLM muy grandes pueden tener un rendimiento muy alto en la infraestructura de entrenamiento masiva, pero es posible que los modelos muy grandes no funcionen bien en entornos con limitaciones de capacidad, como los dispositivos móviles.

Traduce los objetivos comerciales a objetivos de rendimiento

Para tomar decisiones arquitectónicas que optimicen el rendimiento, comienza con un conjunto claro de objetivos comerciales. Diseña sistemas de IA y AA que proporcionen el rendimiento técnico necesario para respaldar tus objetivos y prioridades comerciales. Tus equipos técnicos deben comprender la asignación entre los objetivos de rendimiento y los objetivos comerciales.

Ten en cuenta las siguientes recomendaciones:

  • Traducir los objetivos comerciales en requisitos técnicos: Traduce los objetivos comerciales de tus sistemas de IA y AA en requisitos de rendimiento técnico específicos y evalúa los efectos de no cumplir con los requisitos. Por ejemplo, en el caso de una aplicación que predice la deserción de clientes, el modelo de AA debe tener un buen rendimiento en las métricas estándar, como la exactitud y la recuperación, y la aplicación debe cumplir con los requisitos operativos, como la baja latencia.
  • Supervisa el rendimiento en todas las etapas del ciclo de vida del modelo: Durante la experimentación y el entrenamiento después de la implementación del modelo, supervisa tus indicadores clave de rendimiento (KPI) y observa si hay desviaciones de los objetivos comerciales.
  • Automatiza la evaluación para que sea reproducible y estandarizada: Con una metodología y una plataforma estandarizadas y comparables para la evaluación de experimentos, tus ingenieros pueden aumentar el ritmo de mejora del rendimiento.

Ejecuta experimentos frecuentes y haz un seguimiento de ellos

Para transformar la innovación y la creatividad en mejoras de rendimiento, necesitas una cultura y una plataforma que admitan la experimentación. La mejora del rendimiento es un proceso continuo porque las tecnologías de IA y AA se desarrollan de forma continua y rápida. Para mantener un proceso iterativo y a un ritmo rápido, debes separar el espacio de experimentación de tus plataformas de entrenamiento y publicación. Es importante tener un proceso de experimentación estandarizado y sólido.

Ten en cuenta las siguientes recomendaciones:

  • Crea un entorno de experimentación: Las mejoras de rendimiento requieren un entorno dedicado, potente e interactivo que admita la experimentación y el desarrollo colaborativo de canalizaciones de AA.
  • Incorpora la experimentación como una cultura: Ejecuta experimentos antes de cualquier implementación en producción. Lanza versiones nuevas de forma iterativa y siempre recopila datos de rendimiento. Experimenta con diferentes tipos de datos, transformaciones de atributos, algoritmos y hiperparámetros.

Compila y automatiza los servicios de capacitación y entrega

El entrenamiento y la entrega de modelos de IA son componentes fundamentales de tus servicios de IA. Necesitas plataformas y prácticas sólidas que admitan la creación, la implementación y la publicación rápidas y confiables de modelos de IA. Invierte tiempo y esfuerzo en crear plataformas fundamentales para tus tareas principales de entrenamiento y entrega de IA. Estas plataformas fundamentales ayudan a reducir el tiempo y el esfuerzo de tus equipos, y a mejorar la calidad de los resultados a mediano y largo plazo.

Ten en cuenta las siguientes recomendaciones:

  • Usa componentes especializados en IA de un servicio de entrenamiento: Estos componentes incluyen componentes de procesamiento de alto rendimiento y de MLOps, como tiendas de atributos, registros de modelos, tiendas de metadatos y servicios de evaluación del rendimiento de modelos.
  • Usa componentes especializados en IA de un servicio de predicción: Estos componentes proporcionan recursos escalables y de alto rendimiento, admiten la supervisión de atributos y permiten la supervisión del rendimiento del modelo. Para evitar y administrar la degradación del rendimiento, implementa estrategias confiables de implementación y reversión.

Haz coincidir las opciones de diseño con los requisitos de rendimiento

Cuando tomes decisiones de diseño para mejorar el rendimiento, evalúa cuidadosamente si estas opciones respaldan los requisitos de tu empresa o son ineficientes y contraproducentes. Para elegir la infraestructura, los modelos o las configuraciones adecuadas, identifica los cuellos de botella de rendimiento y evalúa cómo se vinculan a tus medidas de rendimiento. Por ejemplo, incluso en aceleradores de GPU muy potentes, las tareas de entrenamiento pueden experimentar cuellos de botella de rendimiento debido a problemas de E/S de datos de la capa de almacenamiento o a limitaciones de rendimiento del modelo en sí.

Ten en cuenta las siguientes recomendaciones:

  • Optimiza el consumo de hardware en función de los objetivos de rendimiento: Para entrenar y entregar modelos de AA que cumplan con tus requisitos de rendimiento, debes optimizar la infraestructura en las capas de procesamiento, almacenamiento y red. Debes medir y comprender las variables que afectan tus objetivos de rendimiento. Estas variables son diferentes para el entrenamiento y la inferencia.
  • Enfócate en los requisitos específicos de la carga de trabajo: Enfoca tus esfuerzos de optimización del rendimiento en los requisitos únicos de tus cargas de trabajo de IA y AA. Recurre a los servicios administrados para el rendimiento de la infraestructura subyacente.
  • Elige estrategias de entrenamiento adecuadas: Hay varios modelos fundamentales y previamente entrenados disponibles, y se lanzan más con frecuencia. Elige una estrategia de entrenamiento que pueda ofrecer un rendimiento óptimo para tu tarea. Decide si debes compilar tu propio modelo, ajustar un modelo previamente entrenado en tus datos o usar una API de modelo previamente entrenado.
  • Reconoce que las estrategias de optimización del rendimiento pueden tener rendimientos decrecientes: Cuando una estrategia de optimización del rendimiento en particular no proporciona un valor comercial incremental que se pueda medir, deja de aplicarla.

Para innovar, solucionar problemas y investigar problemas de rendimiento, establece un vínculo claro entre las opciones de diseño y los resultados de rendimiento. Además de la experimentación, debes registrar de forma confiable el linaje de tus recursos, implementaciones, resultados del modelo y las configuraciones y entradas que generaron los resultados.

Ten en cuenta las siguientes recomendaciones:

  • Crea un sistema de linaje de datos y modelos: Todos tus recursos implementados y sus métricas de rendimiento deben vincularse a los datos, las configuraciones, el código y las opciones que generaron los sistemas implementados. Además, los resultados del modelo deben estar vinculados a versiones específicas del modelo y a cómo se produjeron los resultados.
  • Usa herramientas de explicabilidad para mejorar el rendimiento del modelo: Adopta y estandariza herramientas y comparativas para la exploración y la explicabilidad de los modelos. Estas herramientas ayudan a los ingenieros de AA a comprender el comportamiento del modelo y mejorar el rendimiento o quitar los sesgos.

Colaboradores

Autores:

Otros colaboradores: