En este documento del Google Cloud framework de arquitectura bien definida, se describen los principios y las recomendaciones para ayudarte a diseñar, compilar y administrar cargas de trabajo de IA y AA en Google Cloud que cumplan con tus objetivos operativos, de seguridad, confiabilidad, costo y rendimiento.
El público objetivo de este documento incluye a las personas que toman decisiones, arquitectos, administradores, desarrolladores y operadores que diseñan, compilan, implementan y mantienen cargas de trabajo de IA y AA en Google Cloud.
En las siguientes páginas, se describen los principios y las recomendaciones específicos de la IA y el AA para cada pilar del framework de arquitectura bien diseñada:
- Perspectiva de la IA y el AA: Excelencia operativa
- Perspectiva de la IA y el AA: Seguridad
- Perspectiva de la IA y el AA: confiabilidad
- Perspectiva de la IA y el AA: Optimización de costos
- Perspectiva de la IA y el AA: Optimización del rendimiento
Colaboradores
Autores:
- Benjamin Sadik | Ingeniero de Atención al cliente especializado en IA y AA
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
- Isaac Lo | Gerente de Desarrollo Empresarial de IA
- Kamilla Kurta | Ingeniero de atención al cliente especializado en IA generativa y AA
- Mohamed Fawzi | Jefe de Seguridad y Cumplimiento de Benelux
- Rick (Rugui) Chen | Arquitecto de Soluciones de Infraestructura de IA
- Sannya Dang | Arquitecto de soluciones de IA
Otros colaboradores:
- Daniel Lees | Arquitecto de Seguridad en la Nube
- Gary Harmson | Ingeniero de Atención al cliente
- Jose 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
- Nicolas Pintaux | Ingeniero de Atención al cliente, especialista en modernización de aplicaciones
- Radhika Kanakam | Gerente sénior de programas, GTM de Cloud
- Ryan Cox | Arquitecto principal
- Stef Ruinard | Arquitecto de soluciones de campo de IA generativa
- Wade Holmes | Director de Soluciones Globales
- Zach Seils | Especialista en herramientas de redes
Perspectiva de la IA y el AA: Excelencia operativa
En este documento del framework de arquitectura bien definida: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para ayudarte a compilar y operar sistemas sólidos de IA y AA en Google Cloud. Estas recomendaciones te ayudan a configurar elementos fundamentales, como la observabilidad, la automatización y la escalabilidad. Las recomendaciones de este documento se alinean con el pilar de excelencia operativa del Google Cloud Framework de arquitectura bien definida.
La excelencia operativa dentro del dominio de la IA y el AA es la capacidad de implementar, administrar y gobernar sin problemas los complejos sistemas y canales de IA y AA que potencian los objetivos estratégicos de tu organización. La excelencia operativa te permite responder de manera eficiente a los cambios, reducir la complejidad operativa y garantizar que las operaciones sigan alineadas con los objetivos comerciales.
Crea una base sólida para el desarrollo de modelos
Establece una base sólida para optimizar el desarrollo del modelo, desde la definición del problema hasta la implementación. Esta base garantiza que tus soluciones de IA se basen en componentes y opciones confiables y eficientes. Este tipo de base te ayuda a lanzar cambios y mejoras de forma rápida y sencilla.
Ten en cuenta las siguientes recomendaciones:
- Define el problema que resuelve el sistema de IA y el resultado que deseas.
- Identifica y recopila los datos relevantes que se requieren para entrenar y evaluar tus modelos. Luego, limpia y procesa previamente los datos sin procesar. Implementa verificaciones de validación de datos para garantizar la calidad y la integridad de los datos.
- Elige el enfoque de AA adecuado para la tarea. Cuando diseñes la estructura y los parámetros del modelo, considera la complejidad del modelo y los requisitos computacionales.
- Adopta un sistema de control de versiones para el código, el modelo y los datos.
Automatiza el ciclo de vida del desarrollo de modelos
Desde la preparación y el entrenamiento de datos hasta la implementación y la supervisión, la automatización te ayuda a mejorar la calidad y la eficiencia de tus operaciones. La automatización permite el desarrollo y la implementación de modelos sin problemas, repetibles y sin errores. La automatización minimiza la intervención manual, acelera los ciclos de lanzamiento y garantiza la coherencia en todos los entornos.
Ten en cuenta las siguientes recomendaciones:
- Usa un sistema de orquestación de canalización administrada para organizar y automatizar el flujo de trabajo de AA. La canalización debe controlar los pasos principales del ciclo de vida de desarrollo: preparación, entrenamiento, implementación y evaluación.
- Implementa canalizaciones de CI/CD para el ciclo de vida de desarrollo de modelos. Estas canalizaciones deben automatizar la compilación, la prueba y la implementación de modelos. Las canalizaciones también deben incluir un entrenamiento continuo para volver a entrenar los modelos con datos nuevos según sea necesario.
- Implementa enfoques de lanzamiento por fases, como implementaciones canary o pruebas A/B, para obtener lanzamientos de modelos seguros y controlados.
Implementa la observabilidad
Cuando implementas la observabilidad, puedes obtener estadísticas profundas sobre el rendimiento del modelo, la deriva de datos y el estado del sistema. Implementa mecanismos de supervisión, alertas y registro continuos para identificar problemas de forma proactiva, activar respuestas oportunas y garantizar la continuidad operativa.
Ten en cuenta las siguientes recomendaciones:
- Implementa la supervisión de rendimiento permanente y automatizada para tus modelos. Usa métricas y criterios de éxito para la evaluación continua del modelo después de la implementación.
- Supervisa los extremos y la infraestructura de tu implementación para garantizar la disponibilidad del servicio.
- Configura alertas personalizadas según anomalías y umbrales específicos de la empresa para asegurarte de que los problemas se identifiquen y resuelvan de forma oportuna.
- Usa técnicas de IA explicable para comprender e interpretar los resultados del modelo.
Crea una cultura de excelencia operativa
La excelencia operativa se basa en las personas, la cultura y las prácticas profesionales. El éxito de tu equipo y tu empresa depende de la eficacia con la que tu organización implemente metodologías que permitan el desarrollo confiable y rápido de las capacidades de IA.
Ten en cuenta las siguientes recomendaciones:
- Promociona la automatización y la estandarización como metodologías de desarrollo principales. Usa técnicas de operaciones de AA para optimizar tus flujos de trabajo y administrar el ciclo de vida del AA de manera eficiente. Automatiza tareas para liberar tiempo para la innovación y estandariza los procesos para respaldar la coherencia y facilitar la solución de problemas.
- Prioriza el aprendizaje y la mejora continuos. Promociona oportunidades de aprendizaje que los miembros del equipo puedan usar para mejorar sus habilidades y mantenerse al tanto de los avances de la IA y el AA. Fomenta la experimentación y realiza reuniones retrospectivas con regularidad para identificar áreas de mejora.
- Cultiva una cultura de responsabilidad y propiedad. Define roles claras para que todos comprendan sus contribuciones. Capacita a los equipos para que tomen decisiones dentro de los límites y hagan un seguimiento del progreso mediante métricas transparentes.
- Incorporar la ética y la seguridad de la IA en la cultura Prioriza los sistemas responsables integrando consideraciones éticas en cada etapa del ciclo de vida del AA. Establece principios éticos claros y fomenta debates abiertos sobre los desafíos relacionados con la ética.
Diseña para la escalabilidad
Diseña tus soluciones de IA para controlar los crecientes volúmenes de datos y las demandas de los usuarios. Usa una infraestructura escalable para que tus modelos puedan adaptarse y tener un rendimiento óptimo a medida que tu proyecto se expande.
Ten en cuenta las siguientes recomendaciones:
- Planifica la capacidad y las cuotas. Anticipa el crecimiento futuro y planifica la capacidad de tu infraestructura y las cuotas de recursos según corresponda.
- Prepárate para los eventos de tráfico máximo. Asegúrate de que el sistema pueda manejar aumentos repentinos en el tráfico o la carga de trabajo durante eventos de alta demanda.
- Ajusta las aplicaciones de IA para la producción. Diseña para la escalabilidad horizontal para adaptarse a los aumentos en la carga de trabajo. Usa frameworks como Ray en Vertex AI para paralelizar tareas en varias máquinas.
- Usa servicios administrados cuando corresponda. Usa servicios que te ayuden a escalar y, al mismo tiempo, minimizar la sobrecarga operativa y la complejidad de las intervenciones manuales.
Colaboradores
Autores:
- Sannya Dang | Arquitecto de soluciones de IA
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
Otros colaboradores:
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios
- Ryan Cox | Arquitecto principal
- Stef Ruinard | Arquitecto de soluciones de campo de IA generativa
Perspectiva de la IA y el AA: Seguridad
En este documento del framework de arquitectura bien definida: perspectiva de la IA y el AA, se proporciona una descripción general de los principios y las recomendaciones para garantizar que tus implementaciones de IA y AA cumplan con los requisitos de seguridad y cumplimiento de tu organización. Las recomendaciones de este documento se alinean con el pilar de seguridad del Google Cloud Framework de arquitectura bien definida.
La implementación segura de cargas de trabajo de IA y AA es un requisito fundamental, especialmente en entornos empresariales. Para cumplir con este requisito, debes adoptar un enfoque de seguridad integral que comience con la conceptualización inicial de tus soluciones de IA y AA y se extienda al desarrollo, la implementación y las operaciones en curso. Google Cloud ofrece herramientas y servicios sólidos diseñados para ayudar a proteger tus cargas de trabajo de IA y AA.
Define objetivos y requisitos claros
Es más fácil integrar los controles de seguridad y cumplimiento necesarios al principio del proceso de diseño y desarrollo que agregarlos después del desarrollo. Desde el comienzo del proceso de diseño y desarrollo, toma decisiones que sean apropiadas para tu entorno de riesgo específico y tus prioridades comerciales específicas.
Ten en cuenta las siguientes recomendaciones:
- Identifica posibles vectores de ataque y adopta una perspectiva de seguridad y cumplimiento desde el principio. A medida que diseñes y evoluciones tus sistemas de IA, haz un seguimiento de la superficie de ataque, los posibles riesgos y las obligaciones que podrías enfrentar.
- Alinea tus iniciativas de seguridad de IA y AA con tus objetivos comerciales y asegúrate de que la seguridad sea una parte integral de tu estrategia general. Comprende los efectos de tus opciones de seguridad en tus objetivos comerciales principales.
Mantén la seguridad de los datos y evita pérdidas o manejos inadecuados
Los datos son un recurso valioso y sensible que se debe mantener seguro. La seguridad de los datos te ayuda a mantener la confianza de los usuarios, respaldar tus objetivos comerciales y cumplir con los requisitos de cumplimiento.
Ten en cuenta las siguientes recomendaciones:
- No recopiles, conserves ni uses datos que no sean estrictamente necesarios para los objetivos comerciales. Si es posible, usa datos sintéticos o completamente anónimos.
- Supervisa la recopilación, el almacenamiento y la transformación de datos. Mantén registros de todas las actividades de acceso y manipulación de datos. Los registros te ayudan a auditar el acceso a los datos, detectar intentos de acceso no autorizado y evitar el acceso no deseado.
- Implementa diferentes niveles de acceso (por ejemplo, sin acceso, solo lectura o escritura) según los roles de los usuarios. Asegúrate de que los permisos se asignen según el principio de privilegio mínimo. Los usuarios deben tener solo los permisos mínimos necesarios para realizar las actividades de su rol.
- Implementa medidas como la encriptación, perímetros seguros y restricciones sobre el movimiento de datos. Estas medidas te ayudan a evitar el robo y la pérdida de datos.
- Protege tus sistemas de entrenamiento de AA contra el envenenamiento de datos.
Mantén las canalizaciones de IA seguras y resistentes a la manipulación
Tu código de IA y AA, y las canalizaciones definidas por código, son recursos fundamentales. El código que no está protegido puede manipularse, lo que puede provocar filtraciones de datos, incumplimientos y la interrupción de actividades comerciales fundamentales. Mantener la seguridad de tu código de IA y AA ayuda a garantizar la integridad y el valor de tus modelos y sus resultados.
Ten en cuenta las siguientes recomendaciones:
- Usa prácticas de programación seguras, como la administración de dependencias o la validación y limpieza de entradas, durante el desarrollo del modelo para evitar vulnerabilidades.
- Protege el código de tu canalización y los artefactos de tu modelo, como archivos, pesos del modelo y especificaciones de implementación, del acceso no autorizado. Implementa diferentes niveles de acceso para cada artefacto según los roles y necesidades de los usuarios.
- Aplica el linaje y el seguimiento de tus activos y ejecuciones de canalizaciones. Esta aplicación forzosa te ayuda a cumplir con los requisitos de cumplimiento y a evitar comprometer los sistemas de producción.
Implementa en sistemas seguros con herramientas y artefactos seguros
Asegúrate de que tu código y tus modelos se ejecuten en un entorno seguro que tenga un sistema de control de acceso sólido con garantías de seguridad para las herramientas y los artefactos que se implementan en el entorno.
Ten en cuenta las siguientes recomendaciones:
- Entrena y, luego, implementa tus modelos en un entorno seguro que tenga controles de acceso adecuados y protección contra el uso o la manipulación no autorizados.
- Sigue los lineamientos estándar de los niveles de cadena de suministro para artefactos de software (SLSA) para tus artefactos específicos de IA, como modelos y paquetes de software.
- Usa imágenes de contenedores previamente compilados y validados que se diseñaron específicamente para cargas de trabajo de IA.
Protege y supervisa las entradas
Los sistemas de IA necesitan entradas para realizar predicciones, generar contenido o automatizar acciones. Algunas entradas pueden representar riesgos o usarse como vectores de ataque que deben detectarse y limpiarse. Detectar posibles entradas maliciosas con anticipación te ayuda a mantener tus sistemas de IA seguros y en funcionamiento según lo previsto.
Ten en cuenta las siguientes recomendaciones:
- Implementa prácticas seguras para desarrollar y administrar instrucciones para sistemas de IA generativa, y asegúrate de que se revisen las instrucciones en busca de intenciones dañinas.
- Supervisa las entradas a los sistemas predictivos o generativos para evitar problemas, como extremos sobrecargados o instrucciones que los sistemas no están diseñados para controlar.
- Asegúrate de que solo los usuarios previstos de un sistema implementado puedan usarlo.
Supervisa, evalúa y prepárate para responder a los resultados
Los sistemas de IA aportan valor porque producen resultados que aumentan, optimizan o automatizan la toma de decisiones humanas. Para mantener la integridad y la confiabilidad de tus sistemas y aplicaciones de IA, debes asegurarte de que los resultados sean seguros y estén dentro de los parámetros esperados. También necesitas un plan para responder a los incidentes.
Ten en cuenta las siguientes recomendaciones:
- Supervisa los resultados de tus modelos de IA y AA en producción, y identifica cualquier problema de rendimiento, seguridad y cumplimiento.
- Evalúa el rendimiento del modelo mediante la implementación de métricas y medidas de seguridad sólidas, como la identificación de respuestas generativas fuera del alcance o resultados extremos en modelos predictivos. Recopila comentarios de los usuarios sobre el rendimiento del modelo.
- Implementa procedimientos sólidos de alertas y respuesta ante incidentes para abordar posibles problemas.
Colaboradores
Autores:
- Kamilla Kurta | Ingeniero de atención al cliente especializado en IA generativa y AA
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
- Mohamed Fawzi | Jefe de Seguridad y Cumplimiento de Benelux
Otros colaboradores:
- Daniel Lees | Arquitecto de Seguridad en la Nube
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios
- Wade Holmes | Director de Soluciones Globales
Perspectiva de la IA y el AA: confiabilidad
En este documento del framework de arquitectura bien definida: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para diseñar y operar sistemas de IA y AA confiables en Google Cloud. En él, se explora cómo integrar la observabilidad y las prácticas de confiabilidad avanzadas en tus esquemas de arquitectura. Las recomendaciones de este documento se alinean con el pilar de confiabilidad del Google Cloud Framework de arquitectura bien diseñada.
En el panorama de IA y 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 controlar 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 específica que está alineada con los principios de la ingeniería de confiabilidad de sitios (SRE) y proporciona una base sólida para sistemas de IA y AA confiables.
Asegúrate de que la infraestructura sea escalable y tenga alta disponibilidad
Si diseñas una arquitectura para la escalabilidad y la disponibilidad, permites 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 aumentos repentinos de tráfico.
- Administra los recursos de forma proactiva y anticipa las necesidades futuras mediante pruebas de carga y supervisión del rendimiento. Usa datos históricos y análisis predictivo 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 ML. El balanceo de cargas ayuda a evitar que se sobrecargue una instancia única y garantiza un rendimiento y una disponibilidad coherentes.
Usa una arquitectura modular y con acoplamiento bajo
Para que tus sistemas de IA sean resilientes a fallas en componentes individuales, usa una arquitectura modular. Por ejemplo, diseña los componentes de procesamiento y validación de datos como módulos independientes. 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 pequeños módulos o componentes independientes. 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 a 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 operaciones de AA automatizadas
Con una plataforma de operaciones de AA automatizadas, las etapas y los resultados del ciclo de vida de tu modelo son más confiables. Cuando promueves la coherencia, la vinculación suelta y la modularidad, y expresas las operaciones y la infraestructura como código, quitas los pasos manuales frágiles y mantienes sistemas de IA y AA que son más sólidos y confiables.
Ten en cuenta las siguientes recomendaciones:
- Automatiza el ciclo de vida del desarrollo de modelos, desde la preparación y validación de datos hasta el entrenamiento, la evaluación, la implementación y la supervisión de modelos.
- Administra tu infraestructura como código (IaC). Este enfoque permite un control de versión eficiente, reversiones rápidas cuando sea necesario y implementaciones repetibles.
- Valida que tus modelos se comporten como se espera con datos relevantes. Automatiza la supervisión del rendimiento de tus modelos y crea alertas apropiadas para resultados inesperados.
- Valida las entradas y salidas de tus canalizaciones de IA y AA. Por ejemplo, valida los datos, las configuraciones, los argumentos de comandos, los archivos y las predicciones. Configura alertas para 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 mediante 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 pueden ser coherentes de forma formal, pero ser incorrectos o no deseados. Si implementas la trazabilidad y una administración sólida, puedes asegurarte de que los resultados sean confiables.
Ten en cuenta las siguientes recomendaciones:
- Usa un catálogo de datos y modelos para hacer un seguimiento de tus recursos y administrarlos de manera eficaz. Para facilitar el seguimiento y las auditorías, mantén un registro completo de los datos y las versiones de los modelos durante todo el ciclo de vida.
- Implementa controles de acceso y registros de auditoría estrictos para proteger los datos y los modelos sensibles.
- Aborda el problema fundamental del sesgo en la IA, en particular en las aplicaciones de IA generativa. Para generar confianza, busca la transparencia y la explicabilidad en los resultados del modelo.
- Automatiza la generación de estadísticas de atributos e implementa la detección de anomalías para identificar de forma proactiva los problemas de 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 holísticas de confiabilidad y observabilidad de IA y 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. Una 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 para otros recursos, como el uso de memoria, la latencia de red y el uso de disco. Realiza pruebas de carga y supervisión del rendimiento. Usa los resultados de las pruebas y las métricas de la supervisión para administrar el escalamiento y la capacidad de tus sistemas de IA y AA.
- Establece objetivos de confiabilidad y realiza 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 su confiabilidad. Haz un seguimiento de estas métricas a lo largo del tiempo para identificar cualquier desviación o degradación. Para lograr un control de versiones y una automatización eficientes, define las configuraciones de supervisión como código.
- Define y realiza 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 tu servicio de IA y de 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:
- Jose 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
Perspectiva de la IA y el AA: Optimización de costos
En este documento del framework de arquitectura bien definida: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para optimizar el costo de tus sistemas de IA a lo largo del ciclo de vida del AA. Si adoptas un enfoque proactivo y fundamentado de administración de costos, tu organización puede aprovechar todo el potencial de los sistemas de IA y AA, y también mantener la disciplina financiera. Las recomendaciones de este documento se alinean con el pilar de optimización de costos del Google Cloud Framework de arquitectura bien definida.
Los sistemas de IA y AA pueden ayudarte a obtener estadísticas valiosas y capacidades predictivas a partir de los datos. Por ejemplo, puedes reducir los inconvenientes en los procesos internos, mejorar las experiencias de los usuarios y obtener estadísticas de los clientes más detalladas. La nube ofrece grandes cantidades de recursos y un tiempo de obtención de valor rápido sin grandes inversiones iniciales para las cargas de trabajo de IA y AA. Para maximizar el valor comercial y alinear la inversión con tus objetivos comerciales, debes comprender los impulsores de costos, optimizar los costos de forma proactiva, configurar controles de inversión y adoptar prácticas de FinOps.
Define y mide los costos y las devoluciones
Para administrar de manera eficaz los costos de IA y AA en Google Cloud, debes definir y medir los gastos de los recursos de la nube y el valor comercial de tus iniciativas de IA y AA. Google Cloud proporciona herramientas integrales para la facturación y la administración de costos que te ayudarán a hacer un seguimiento de los gastos de forma detallada. Las métricas de valor de la empresa que puedes medir incluyen la satisfacción del cliente, los ingresos y los costos operativos. Si estableces métricas concretas para los costos y el valor de la empresa, puedes tomar decisiones fundamentadas sobre la asignación y optimización de recursos.
Ten en cuenta las siguientes recomendaciones:
- Establece objetivos comerciales y KPIs claros para tus proyectos de IA y de AA.
- Usa la información de facturación que proporciona Google Cloud para implementar procesos de informes y supervisión de costos que pueden ayudarte a atribuir costos a actividades específicas de IA y de AA.
- Establece paneles, sistemas de alertas y generación de informes para hacer un seguimiento de los costos y las ganancias en función de los KPI.
Optimiza la asignación de recursos
Para lograr la rentabilidad de tus cargas de trabajo de IA y AA en Google Cloud, debes optimizar la asignación de recursos. Si alineas cuidadosamente la asignación de recursos con las necesidades de tus cargas de trabajo, puedes evitar gastos innecesarios y asegurarte de que tus sistemas de IA y AA tengan los recursos que necesitan para funcionar de manera óptima.
Ten en cuenta las siguientes recomendaciones:
- Usa el ajuste de escala automático para ajustar de forma dinámica los recursos para el entrenamiento y la inferencia.
- Comienza con modelos y datos pequeños. Ahorra costos probando hipótesis a una escala más pequeña cuando sea posible.
- Descubre tus necesidades de procesamiento mediante la experimentación. Redimensiona los recursos que se usan para el entrenamiento y la entrega según tus requisitos de la IA.
- Adopta prácticas de operaciones de AA para reducir la duplicación, los procesos manuales y la asignación de recursos ineficiente.
Aplica prácticas de administración y gobernanza de datos
Las prácticas eficaces de administración y gobernanza de datos desempeñan un papel fundamental en la optimización de costos. Los datos bien organizados ayudan a tu organización a evitar duplicaciones innecesarias, reducen el esfuerzo necesario para obtener datos de alta calidad y animan a los equipos a volver a usar los conjuntos de datos. Si administras los datos de forma proactiva, puedes reducir los costos de almacenamiento, mejorar la calidad de los datos y asegurarte de que tus modelos de AA se entrenen y operen con los datos más relevantes y valiosos.
Ten en cuenta las siguientes recomendaciones:
- Establece y adopta un marco de trabajo de administración de datos bien definido.
- Aplica etiquetas y metadatos relevantes a los conjuntos de datos en el momento de la transferencia de datos.
- Asegúrate de que los conjuntos de datos sean detectables y accesibles en toda la organización.
- Haz que tus conjuntos de datos y funciones sean reutilizables durante el ciclo de vida del AA siempre que sea posible.
Automatiza y optimiza con MLOps
Un beneficio principal de adoptar prácticas de operaciones de AA es la reducción de costos, tanto desde una perspectiva tecnológica como en términos de actividades del personal. La automatización te ayuda a evitar la duplicación de actividades de AA y a mejorar la productividad de los científicos de datos y los ingenieros de AA.
Ten en cuenta las siguientes recomendaciones:
- Aumenta el nivel de automatización y estandarización en tus tecnologías de recopilación y procesamiento de datos para reducir el esfuerzo y el tiempo de desarrollo.
- Desarrollar canalizaciones de entrenamiento automatizadas para reducir la necesidad de intervenciones manuales y aumentar la productividad de los ingenieros Implementa mecanismos para que las canalizaciones reutilicen recursos existentes, como conjuntos de datos preparados y modelos entrenados.
- Usa los servicios de evaluación y ajuste de modelos en Google Cloud para aumentar el rendimiento del modelo con menos iteraciones. Esto permite que tus equipos de IA y ML alcancen más objetivos en menos tiempo.
Usa servicios administrados y modelos existentes o previamente entrenados
Existen muchos enfoques para alcanzar los objetivos comerciales mediante el uso de la IA y el AA. Adopta un enfoque incremental para la selección y el desarrollo de modelos. Esto te ayuda a evitar los costos excesivos asociados con comenzar de cero cada vez. Para controlar los costos, comienza con un enfoque simple: usa frameworks de AA, servicios administrados y modelos previamente entrenados.
Ten en cuenta las siguientes recomendaciones:
- Habilita experimentos de AA exploratorios y rápidos con entornos de notebooks.
- Usa modelos existentes y previamente entrenados como punto de partida para acelerar tu proceso de selección y desarrollo de modelos.
- Usa servicios administrados para entrenar o entregar tus modelos. Tanto AutoML como los servicios administrados de entrenamiento de modelos personalizados pueden ayudar a reducir el costo del entrenamiento de modelos. Los servicios administrados también pueden ayudar a reducir el costo de tu infraestructura de entrega de modelos.
Fomenta una cultura de conciencia de los costos y optimización continua
Cultiva un entorno colaborativo que fomente la comunicación y las revisiones regulares. Este enfoque ayuda a los equipos a identificar e implementar oportunidades de ahorro de costos durante el ciclo de vida del aprendizaje automático.
Ten en cuenta las siguientes recomendaciones:
- Adopta los principios de FinOps en todo el ciclo de vida del AA.
- Asegúrate de que todos los costos y beneficios comerciales de los proyectos de IA y de AA tengan propietarios asignados con una responsabilidad clara.
Colaboradores
Autores:
- Isaac Lo | Gerente de Desarrollo Empresarial de IA
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
Otros colaboradores:
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios
- Nicolas Pintaux | Ingeniero de Atención al cliente, especialista en modernización de aplicaciones
Perspectiva de la IA y el AA: Optimización del rendimiento
En este documento del Framework de arquitectura bien definida: 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 arquitectura bien diseñada.
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 una 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.
Transforma los objetivos comerciales en 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 los 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 operaciones de AA, 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 habilitan 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 las 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 crear 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.
Vincula las métricas de rendimiento con las opciones de diseño y configuración
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:
- Benjamin Sadik | Ingeniero de Atención al cliente especializado en IA y AA
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
Otros colaboradores:
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios
- Zach Seils | Especialista en herramientas de redes