Perspectiva de la IA y el aprendizaje automático: optimización del rendimiento

Last reviewed 2024-10-11 UTC

Este documento de la sección Perspectiva de IA y aprendizaje automático del framework Well-Architected ofrece una descripción general de los principios y las recomendaciones que te ayudarán a optimizar el rendimiento de tus cargas de trabajo de IA y aprendizaje automático en Google Cloud. Las recomendaciones de este documento se ajustan al pilar de optimización del rendimiento del Google Cloud framework Well-Architected.

Los sistemas de IA y aprendizaje automático ofrecen nuevas funciones de automatización y toma de decisiones a tu organización. El rendimiento de estos sistemas puede afectar directamente a los factores que impulsan tu negocio, como los ingresos, los costes y la satisfacción de los clientes. Para aprovechar todo el potencial de tus sistemas de IA y aprendizaje automático, debes optimizar su rendimiento en función de tus objetivos de negocio y requisitos técnicos. El proceso de optimización del rendimiento suele implicar ciertas concesiones. Por ejemplo, una decisión de diseño que proporcione el rendimiento necesario puede conllevar costes más elevados. Las recomendaciones de este documento priorizan el rendimiento por encima de otras consideraciones, como los costes.

Para optimizar el rendimiento de la IA y el AA, debe tomar decisiones sobre factores como la arquitectura del modelo, los parámetros y la estrategia de entrenamiento. Cuando tomes estas decisiones, ten en cuenta todo el ciclo de vida de los sistemas de IA y aprendizaje automático, así como su entorno de implementación. Por ejemplo, los LLMs de gran tamaño pueden ofrecer un rendimiento muy alto en infraestructuras de entrenamiento masivas, pero es posible que los modelos de gran tamaño no funcionen bien en entornos con limitaciones de capacidad, como los dispositivos móviles.

Traducir los objetivos de negocio en objetivos de rendimiento

Para tomar decisiones de arquitectura que optimicen el rendimiento, empieza con un conjunto claro de objetivos de negocio. Diseña sistemas de IA y aprendizaje automático que proporcionen el rendimiento técnico necesario para alcanzar tus objetivos y prioridades de negocio. Tus equipos técnicos deben comprender la relación entre los objetivos de rendimiento y los objetivos de negocio.

Ten en cuenta las siguientes recomendaciones:

  • Traducir los objetivos empresariales en requisitos técnicos: traduce los objetivos empresariales de tus sistemas de IA y AA en requisitos de rendimiento técnico específicos y evalúa los efectos de no cumplir los requisitos. Por ejemplo, en una aplicación que predice la rotación de clientes, el modelo de aprendizaje automático debe funcionar bien con métricas estándar, como la exactitud y la recuperación, y la aplicación debe cumplir requisitos operativos, como una latencia baja.
  • Monitoriza el rendimiento en todas las fases del ciclo de vida del modelo: durante la experimentación y el entrenamiento, así como después del despliegue del modelo, monitoriza tus indicadores clave de rendimiento (KPIs) y observa cualquier desviación de los objetivos empresariales.
  • Automatizar 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.

Realizar y monitorizar experimentos frecuentes

Para transformar la innovación y la creatividad en mejoras del rendimiento, necesitas una cultura y una plataforma que fomenten la experimentación. La mejora del rendimiento es un proceso continuo, ya que las tecnologías de IA y aprendizaje automático se desarrollan de forma continua y rápida. Para mantener un proceso iterativo y rápido, debes separar el espacio de experimentación de tus plataformas de entrenamiento y servicio. Es importante seguir un proceso de experimentación estandarizado y sólido.

Ten en cuenta las siguientes recomendaciones:

  • Crea un entorno de experimentación: las mejoras del rendimiento requieren un entorno específico, potente e interactivo que admita la experimentación y el desarrollo colaborativo de las canalizaciones de aprendizaje automático.
  • Integra la experimentación en la cultura de tu empresa: haz experimentos antes de implementar cualquier cambio en producción. Lanza nuevas versiones de forma iterativa y recoge siempre datos de rendimiento. Experimenta con diferentes tipos de datos, transformaciones de características, algoritmos e hiperparámetros.

Crear y automatizar servicios de entrenamiento y publicación

El entrenamiento y el suministro de modelos de IA son componentes esenciales de tus servicios de IA. Necesitas plataformas y prácticas sólidas que permitan crear, desplegar y servir modelos de IA de forma rápida y fiable. Invierte tiempo y esfuerzo en crear plataformas básicas para tus tareas principales de entrenamiento y publicación de IA. Estas plataformas básicas ayudan a reducir el tiempo y el esfuerzo de tus equipos, así como a mejorar la calidad de los resultados a medio y largo plazo.

Ten en cuenta las siguientes recomendaciones:

  • Usar componentes especializados en IA de un servicio de entrenamiento: estos componentes incluyen computación de alto rendimiento y componentes de MLOps, como almacenes de características, registros de modelos, almacenes de metadatos y servicios de evaluación del rendimiento de modelos.
  • Usar componentes especializados en IA de un servicio de predicción: estos componentes proporcionan recursos escalables y de alto rendimiento, admiten la monitorización de las características y permiten monitorizar el rendimiento del modelo. Para evitar y gestionar la degradación del rendimiento, implementa estrategias de despliegue y reversión fiables.

Ajustar las decisiones de diseño a los requisitos de rendimiento

Cuando tomes decisiones de diseño para mejorar el rendimiento, evalúa detenidamente si estas decisiones se ajustan a los requisitos de tu empresa o si son ineficaces 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 relacionan con tus medidas de rendimiento. Por ejemplo, incluso en aceleradores de GPU muy potentes, tus tareas de entrenamiento pueden experimentar cuellos de botella en el 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:

  • Optimizar el consumo de hardware en función de los objetivos de rendimiento: para entrenar y servir modelos de aprendizaje automático que cumplan tus requisitos de rendimiento, debes optimizar la infraestructura en las capas de computación, almacenamiento y red. Debes medir y comprender las variables que afectan a tus objetivos de rendimiento. Estas variables son diferentes en el entrenamiento y la inferencia.
  • Céntrate en los requisitos específicos de las cargas de trabajo: centra tus esfuerzos de optimización del rendimiento en los requisitos únicos de tus cargas de trabajo de IA y aprendizaje automático. Confía en los servicios gestionados para el rendimiento de la infraestructura subyacente.
  • Elige las estrategias de entrenamiento adecuadas: hay varios modelos preentrenados y de base disponibles, y se lanzan más a menudo. Elige una estrategia de entrenamiento que pueda ofrecer un rendimiento óptimo para tu tarea. Decide si debes crear tu propio modelo, ajustar un modelo preentrenado con tus datos o usar una API de modelo preentrenado.
  • Ten en cuenta que las estrategias de optimización del rendimiento pueden tener rendimientos decrecientes: cuando una estrategia de optimización del rendimiento concreta no proporcione un valor empresarial incremental que se pueda medir, deja de usarla.

Para innovar, solucionar problemas y analizar el rendimiento, establece una relación clara entre las decisiones de diseño y los resultados de rendimiento. Además de la experimentación, debe registrar de forma fiable el linaje de sus recursos, implementaciones, resultados de modelos y las configuraciones y entradas que han producido los resultados.

Ten en cuenta las siguientes recomendaciones:

  • Crea un sistema de linaje de datos y modelos: todos los recursos implementados y sus métricas de rendimiento deben estar vinculados a los datos, las configuraciones, el código y las decisiones que han dado lugar a los sistemas implementados. Además, los resultados del modelo deben estar vinculados a versiones específicas del modelo y a cómo se han generado.
  • Usa herramientas de explicabilidad para mejorar el rendimiento de los modelos: adopta y estandariza herramientas y comparativas para explorar y explicar los modelos. Estas herramientas ayudan a tus ingenieros de aprendizaje automático a entender el comportamiento de los modelos y a mejorar el rendimiento o eliminar sesgos.

Colaboradores

Autores:

Otros colaboradores: