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 diseñar y operar sistemas confiables de IA y AA en Google Cloud. Explora cómo integrar prácticas avanzadas de confiabilidad y observabilidad en tus planos arquitectónicos. Las recomendaciones de este documento se alinean con el pilar de confiabilidad del Google Cloud framework de Well-Architected.
En el panorama de la IA y el AA en rápida evolución, los sistemas confiables son esenciales para garantizar la satisfacción del cliente y alcanzar los objetivos comerciales. Necesitas sistemas de IA y AA que sean sólidos, confiables y adaptables para satisfacer las demandas únicas del AA predictivo y la IA generativa. Para manejar las complejidades de MLOps, desde el desarrollo hasta la implementación y la mejora continua, debes usar un enfoque que priorice la confiabilidad. Google Cloud ofrece una infraestructura de IA creada específicamente que se alinea con los principios de la ingeniería de confiabilidad de sitios (SRE) y proporciona una base sólida para los sistemas de IA y AA confiables.
Garantizar que la infraestructura sea escalable y tenga alta disponibilidad
Si diseñas tu arquitectura para la escalabilidad y la disponibilidad, permitirás que tus aplicaciones manejen diferentes niveles de demanda sin interrupciones del servicio ni degradación del rendimiento. Esto significa que tus servicios de IA seguirán disponibles para los usuarios durante las interrupciones de la infraestructura y cuando el tráfico sea muy alto.
Ten en cuenta las siguientes recomendaciones:
- Diseña tus sistemas de IA con capacidades de escalamiento automático y dinámico para controlar las fluctuaciones en la demanda. Esto ayuda a garantizar un rendimiento óptimo, incluso durante los picos de tráfico.
- Administra los recursos de forma proactiva y anticipa las necesidades futuras a través de pruebas de carga y supervisión del rendimiento. Usa datos históricos y análisis predictivos para tomar decisiones fundamentadas sobre la asignación de recursos.
- Diseña para la alta disponibilidad y la tolerancia a errores adoptando los arquetipos de implementación multizona y multirregional en Google Cloud y, luego, implementa la redundancia y la replicación.
- Distribuye el tráfico entrante en varias instancias de tus servicios y extremos de IA y AA. El balanceo de cargas ayuda a evitar que una sola instancia se sobrecargue y garantiza un rendimiento y una disponibilidad coherentes.
Usa una arquitectura modular y con acoplamiento bajo
Para que tus sistemas de IA sean resistentes a las fallas en los componentes individuales, usa una arquitectura modular. Por ejemplo, diseña los componentes de procesamiento y validación de datos como módulos separados. Cuando falla un componente en particular, la arquitectura modular ayuda a minimizar el tiempo de inactividad y permite que tus equipos desarrollen e implementen correcciones más rápido.
Ten en cuenta las siguientes recomendaciones:
- Separa tu sistema de IA y AA en módulos o componentes pequeños y autónomos. Este enfoque promueve la reutilización del código, simplifica las pruebas y el mantenimiento, y te permite desarrollar e implementar componentes individuales de forma independiente.
- Diseña los módulos con acoplamiento bajo con interfaces bien definidas. Este enfoque minimiza las dependencias y te permite realizar actualizaciones y cambios independientes sin afectar todo el sistema.
- Planifica la degradación elegante. Cuando falla un componente, las otras partes del sistema deben seguir proporcionando un nivel adecuado de funcionalidad.
- Usa APIs para crear límites claros entre los módulos y ocultar los detalles de implementación a nivel del módulo. Este enfoque te permite actualizar o reemplazar componentes individuales sin afectar las interacciones con otras partes del sistema.
Crea una plataforma de MLOps automatizada
Con una plataforma de MLOps automatizada, las etapas y los resultados del ciclo de vida de tu modelo son más confiables. Al promover la coherencia, el desacoplamiento y la modularidad, y al expresar las operaciones y la infraestructura como código, se eliminan los pasos manuales frágiles y se mantienen sistemas de IA y AA más sólidos y confiables.
Ten en cuenta las siguientes recomendaciones:
- Automatiza el ciclo de vida del desarrollo del modelo, desde la preparación y validación de los datos hasta el entrenamiento, la evaluación, la implementación y la supervisión del modelo.
- Administra tu infraestructura como código (IaC). Este enfoque permite un control de versión eficiente, reversiones rápidas cuando es necesario y una implementación repetible.
- Valida que tus modelos se comporten según lo esperado con datos pertinentes. Automatiza la supervisión del rendimiento de tus modelos y crea alertas adecuadas para los resultados inesperados.
- Valida las entradas y salidas de tus canalizaciones de AA y de AA. Por ejemplo, valida datos, configuraciones, argumentos de comandos, archivos y predicciones. Configura alertas para los valores inesperados o no permitidos.
- Adopta una estrategia de control de versiones administrada para los extremos de tu modelo. Este tipo de estrategia permite lanzamientos incrementales y una recuperación rápida en caso de problemas.
Mantén la confianza y el control a través de la administración de datos y modelos
La confiabilidad de los sistemas de IA y AA depende de las capacidades de confianza y gobernanza de tus datos y modelos. Los resultados de la IA pueden no cumplir con las expectativas de forma silenciosa. Por ejemplo, los resultados podrían ser coherentes formalmente, pero podrían ser incorrectos o no deseados. Si implementas la trazabilidad y una gobernanza sólida, puedes garantizar que los resultados sean confiables.
Ten en cuenta las siguientes recomendaciones:
- Usa un catálogo de datos y modelos para hacer un seguimiento y administrar tus recursos de manera eficaz. Para facilitar el seguimiento y las auditorías, mantén un registro completo de las versiones de los datos y los modelos a lo largo del ciclo de vida.
- Implementa controles de acceso estrictos y registros de auditoría para proteger los datos y modelos sensibles.
- Abordar el problema crítico del sesgo en la IA, en particular en las aplicaciones de IA generativa Para generar confianza, procura que los resultados del modelo sean transparentes y explicables.
- Automatiza la generación de estadísticas de atributos y aplica la detección de anomalías para identificar de forma proactiva los problemas relacionados con los datos. Para garantizar la confiabilidad del modelo, establece mecanismos para detectar y mitigar el impacto de los cambios en las distribuciones de datos.
Implementa prácticas integrales de observabilidad y confiabilidad de la IA y el AA
Para mejorar continuamente tus operaciones de IA, debes definir objetivos de confiabilidad significativos y medir el progreso. La observabilidad es un elemento fundamental de los sistemas confiables. La observabilidad te permite administrar las operaciones en curso y los eventos críticos. La observabilidad bien implementada te ayuda a compilar y mantener un servicio confiable para tus usuarios.
Ten en cuenta las siguientes recomendaciones:
- Realiza un seguimiento de las métricas de infraestructura para los procesadores (CPU, GPU y TPU) y otros recursos, como el uso de memoria, la latencia de red y el uso de disco. Realiza pruebas de carga y supervisa el rendimiento. Usa los resultados de las pruebas y las métricas de la supervisión para administrar el ajuste de escala y la capacidad de tus sistemas de IA y AA.
- Establece objetivos de confiabilidad y haz un seguimiento de las métricas de la aplicación. Mide métricas como la capacidad de procesamiento y la latencia de las aplicaciones de IA que compilas. Supervisa los patrones de uso de tus aplicaciones y los extremos expuestos.
- Establece métricas específicas del modelo, como indicadores de precisión o seguridad, para evaluar la confiabilidad del modelo. Realiza un seguimiento de estas métricas a lo largo del tiempo para identificar cualquier desvío o degradación. Para lograr control de versión y una automatización eficientes, define las configuraciones de supervisión como código.
- Define y haz un seguimiento de las métricas a nivel de la empresa para comprender el impacto de tus modelos y la confiabilidad en los resultados comerciales. Para medir la confiabilidad de tus servicios de IA y AA, considera adoptar el enfoque de SRE y definir objetivos de nivel de servicio (SLO).
Colaboradores
Autores:
- Rick (Rugui) Chen | Arquitecto de soluciones de infraestructura de IA
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
Otros colaboradores:
- José Andrade | Ingeniero de Atención al cliente de Infraestructura Empresarial
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios