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

Last reviewed 2024-10-11 UTC

En este documento del Framework de Well-Architected: perspectiva de IA y 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 Google Cloud Framework de Well-Architected.

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 los factores de tu empresa, 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 suele implicar ciertas compensaciones. Por ejemplo, una elección de diseño que proporcione el rendimiento requerido podría generar costos más altos. Las recomendaciones de este documento priorizan el rendimiento por sobre otras consideraciones, como los costos.

Para optimizar el rendimiento de la IA y el AA, debes tomar decisiones sobre 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, y su entorno de implementación. Por ejemplo, los LLM muy grandes pueden tener un rendimiento muy alto en infraestructuras de entrenamiento masivas, pero es posible que no funcionen bien en entornos con capacidad limitada, como los dispositivos móviles.

Traduce los objetivos comerciales en objetivos de rendimiento

Para tomar decisiones de arquitectura 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 correlación entre los objetivos de rendimiento y los objetivos comerciales.

Ten en cuenta las siguientes recomendaciones:

  • Traduce los objetivos comerciales en requisitos técnicos: Traduce los objetivos comerciales de tus sistemas de IA y AA en requisitos específicos de rendimiento técnico 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 cualquier desviación de los objetivos comerciales.
  • Automatiza la evaluación para que sea reproducible y estandarizada: Con una plataforma y una metodología estandarizadas y comparables para la evaluación de experimentos, tus ingenieros pueden aumentar el ritmo de mejora del rendimiento.

Ejecuta y haz un seguimiento de experimentos frecuentes

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, ya que las tecnologías de IA y AA se desarrollan de forma constante y rápida. Para mantener un proceso iterativo y rápido, debes separar el espacio de experimentación de tus plataformas de entrenamiento y de publicación. Es importante contar con un proceso de experimentación sólido y estandarizado.

Ten en cuenta las siguientes recomendaciones:

  • Crea un entorno de experimentación: Las mejoras en el rendimiento requieren un entorno interactivo, potente y exclusivo que admita la experimentación y el desarrollo colaborativo de canalizaciones de AA.
  • Incorpora la experimentación como cultura: Ejecuta experimentos antes de cualquier implementación de producción. Lanza versiones nuevas de forma iterativa y recopila siempre 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 entrega 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 mejoran 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 recursos de procesamiento de alto rendimiento y componentes de MLOps, como almacenes de atributos, registros de modelos, almacenes de metadatos y servicios de evaluación del rendimiento del modelo.
  • 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 funciones 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.

Adapta las opciones de diseño a los requisitos de rendimiento

Cuando tomes decisiones de diseño para mejorar el rendimiento, evalúa con cuidado si estas decisiones respaldan los requisitos de tu empresa o si son inútiles y contraproducentes. Para elegir la infraestructura, los modelos o las configuraciones adecuados, identifica los cuellos de botella del rendimiento y evalúa cómo se vinculan con tus medidas de rendimiento. Por ejemplo, incluso en aceleradores de GPU muy potentes, tus 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 propio modelo.

Ten en cuenta las siguientes recomendaciones:

  • Optimiza el consumo de hardware según los objetivos de rendimiento: Para entrenar y publicar 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: Concentra tus esfuerzos de optimización del rendimiento en los requisitos únicos de tus cargas de trabajo de IA y AA. Depender de los servicios administrados para el rendimiento de la infraestructura subyacente
  • Elige estrategias de entrenamiento adecuadas: Hay varios modelos previamente entrenados y básicos disponibles, y se lanzan más modelos de este tipo 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 con 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 sea medible, deja de aplicarla.

Para innovar, solucionar problemas y analizar los 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 manera confiable el linaje de tus recursos, implementaciones, resultados del modelo y las configuraciones y entradas que produjeron 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 estar vinculados a los datos, las configuraciones, el código y las decisiones que dieron como resultado los sistemas implementados. Además, las salidas del modelo deben vincularse a versiones específicas del modelo y a la forma en que se produjeron las salidas.
  • Usa herramientas de interpretabilidad para mejorar el rendimiento del modelo: Adopta y estandariza herramientas y comparativas para la exploración y la interpretabilidad del modelo. Estas herramientas ayudan a tus ingenieros de AA a comprender el comportamiento del modelo y a mejorar el rendimiento o eliminar sesgos.

Colaboradores

Autores:

Otros colaboradores: