Well-Architected Framework: perspectiva de la IA y el aprendizaje automático

Last reviewed 2025-02-14 UTC

En este documento del Google Cloud marco de trabajo Well-Architected se describen principios y recomendaciones para ayudarte a diseñar, crear y gestionar cargas de trabajo de IA y aprendizaje automático en Google Cloud que cumplan tus objetivos de operaciones, seguridad, fiabilidad, costes y rendimiento.

El público objetivo de este documento incluye a responsables de la toma de decisiones, arquitectos, administradores, desarrolladores y operadores que diseñan, crean, implementan y mantienen cargas de trabajo de IA y aprendizaje automático en Google Cloud.

En las páginas siguientes se describen los principios y las recomendaciones específicos de la IA y el AA para cada pilar del marco de trabajo Well-Architected:

Colaboradores

Autores:

Otros colaboradores:

Perspectiva de la IA y el aprendizaje automático: excelencia operativa

Este documento del framework Well-Architected: perspectiva de IA y aprendizaje automático ofrece una descripción general de los principios y las recomendaciones para crear y operar sistemas de IA y aprendizaje automático sólidos 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 ajustan al pilar de excelencia operativa del Google Cloud framework Well-Architected.

La excelencia operativa en el ámbito de la IA y el aprendizaje automático es la capacidad de desplegar, gestionar y gobernar sin problemas los sistemas y las canalizaciones de IA y aprendizaje automático que ayudan a alcanzar los objetivos estratégicos de tu organización. La excelencia operativa te permite responder de forma eficiente a los cambios, reducir la complejidad operativa y asegurarte de que tus operaciones se ajusten a los objetivos de negocio.

Las recomendaciones de este documento se corresponden con los siguientes principios básicos:

Crea una base sólida para el desarrollo de modelos

Para desarrollar e implementar sistemas de IA fiables y escalables que te ayuden a alcanzar tus objetivos empresariales, es fundamental contar con una base sólida para el desarrollo de modelos. Esta base permite que los flujos de trabajo sean coherentes, automatiza los pasos críticos para reducir los errores y asegura que los modelos se puedan escalar en función de la demanda. Una base sólida para el desarrollo de modelos asegura que tus sistemas de aprendizaje automático se puedan actualizar, mejorar y volver a entrenar sin problemas. Además, te ayuda a alinear el rendimiento de tus modelos con las necesidades empresariales, a implementar soluciones de IA eficaces rápidamente y a adaptarte a los requisitos cambiantes.

Para sentar una base sólida que te permita desarrollar tus modelos de IA, ten en cuenta las siguientes recomendaciones.

Define los problemas y los resultados necesarios

Antes de iniciar cualquier proyecto de IA o aprendizaje automático, debes tener claro qué problemas de empresa quieres resolver y qué resultados quieres obtener. Empieza con un esquema de los objetivos de negocio y desglósalos en indicadores clave de rendimiento (KPIs) medibles. Para organizar y documentar las definiciones de los problemas y las hipótesis en un entorno de cuaderno de Jupyter, usa herramientas como Vertex AI Workbench. Para implementar el control de versiones de código y documentos, así como para documentar tus proyectos, objetivos y suposiciones, usa herramientas como Git. Para desarrollar y gestionar las peticiones de aplicaciones de IA generativa, puedes usar Vertex AI Studio.

Recoger y preprocesar los datos necesarios

Para implementar el preprocesamiento y la transformación de datos, puedes usar Dataflow (para Apache Beam), Dataproc (para Apache Spark) o BigQuery si es adecuado un proceso basado en SQL. Para validar esquemas y detectar anomalías, usa TensorFlow Data Validation (TFDV) y aprovecha las analizaciones de calidad de datos automatizadas en BigQuery cuando sea posible.

En el caso de la IA generativa, la calidad de los datos incluye la precisión, la relevancia, la diversidad y la alineación con las características de salida requeridas. En los casos en los que los datos reales son insuficientes o están desequilibrados, puedes generar datos sintéticos para mejorar la solidez y la generalización del modelo. Para crear conjuntos de datos sintéticos basados en patrones existentes o para aumentar los datos de entrenamiento y mejorar el rendimiento de los modelos, usa BigQuery DataFrames y Gemini. Los datos sintéticos son especialmente valiosos para la IA generativa, ya que pueden ayudar a mejorar la diversidad de las peticiones y la solidez general del modelo. Cuando crees conjuntos de datos para ajustar modelos de IA generativa, considera la posibilidad de usar las funciones de generación de datos sintéticos de Vertex AI.

En las tareas de IA generativa, como el ajuste preciso o el aprendizaje por refuerzo con retroalimentación humana (RLHF), asegúrate de que las etiquetas reflejen con precisión la calidad, la relevancia y la seguridad de los resultados generados.

Seleccionar un enfoque de aprendizaje automático adecuado

Al diseñar el modelo y los parámetros, ten en cuenta la complejidad del modelo y las necesidades computacionales. En función de la tarea (como la clasificación, la regresión o la generación), puedes usar entrenamiento personalizado de Vertex AI para crear modelos personalizados o AutoML para tareas de aprendizaje automático más sencillas. Para las aplicaciones habituales, también puedes acceder a modelos preentrenados a través de Vertex AI Model Garden. Puedes experimentar con una gran variedad de modelos fundacionales de vanguardia para diferentes casos prácticos, como generar texto, imágenes y código.

Puede que quieras afinar un modelo fundacional preentrenado para conseguir un rendimiento óptimo en tu caso práctico específico. Si necesitas un alto rendimiento en el entrenamiento personalizado, configura TPUs de Cloud o recursos de GPU para acelerar el entrenamiento y la inferencia de modelos de aprendizaje profundo, como los modelos de lenguaje grandes (LLMs) y los modelos de difusión.

Configurar el control de versiones para el código, los modelos y los datos

Para gestionar e implementar versiones de código de forma eficaz, utiliza herramientas como GitHub o GitLab. Estas herramientas ofrecen funciones de colaboración sólidas, estrategias de ramificación e integración con flujos de procesamiento de CI/CD para garantizar un proceso de desarrollo optimizado.

Usa las soluciones adecuadas para gestionar cada artefacto de tu sistema de aprendizaje automático, como los siguientes ejemplos:

  • En el caso de los artefactos de código, como las imágenes de contenedor y los componentes de la canalización, Artifact Registry ofrece una solución de almacenamiento escalable que puede ayudar a mejorar la seguridad. Artifact Registry también incluye el control de versiones y se puede integrar con Cloud Build y Cloud Deploy.
  • Para gestionar los artefactos de datos, como los conjuntos de datos que se usan para el entrenamiento y la evaluación, utiliza soluciones como BigQuery o Cloud Storage para el almacenamiento y el control de versiones.
  • Para almacenar metadatos y punteros a las ubicaciones de los datos, usa tu sistema de control de versiones o un catálogo de datos independiente.

Para mantener la coherencia y el control de versiones de los datos de las características, usa Vertex AI Feature Store. Para monitorizar y gestionar los artefactos de los modelos, incluidos los binarios y los metadatos, usa Vertex AI Model Registry, que te permite almacenar, organizar y desplegar versiones de modelos sin problemas.

Para asegurar la fiabilidad de los modelos, implementa Vertex AI Model Monitoring. Detecta la deriva de los datos, monitoriza el rendimiento e identifica anomalías en producción. En el caso de los sistemas de IA generativa, monitoriza los cambios en la calidad de los resultados y el cumplimiento de las medidas de seguridad.

Automatizar el ciclo de vida del desarrollo de modelos

La automatización te ayuda a optimizar cada fase del ciclo de vida de la IA y el AA. La automatización reduce el esfuerzo manual y estandariza los procesos, lo que conlleva una mayor eficiencia operativa y un menor riesgo de errores. Los flujos de trabajo automatizados permiten iterar más rápido, desplegar de forma coherente en todos los entornos y obtener resultados más fiables, de modo que tus sistemas puedan escalarse y adaptarse sin problemas.

Para automatizar el ciclo de vida del desarrollo de tus sistemas de IA y aprendizaje automático, ten en cuenta las siguientes recomendaciones.

Usar un sistema de orquestación de canalizaciones gestionado

Usa Vertex AI Pipelines para automatizar cada paso del ciclo de vida del aprendizaje automático, desde la preparación de los datos hasta el entrenamiento, la evaluación y el despliegue de los modelos. Para acelerar el despliegue y fomentar la coherencia entre proyectos, automatiza las tareas recurrentes con ejecuciones de canalizaciones programadas, monitoriza los flujos de trabajo con métricas de ejecución y desarrolla plantillas de canalizaciones reutilizables para flujos de trabajo estandarizados. Estas funciones se extienden a los modelos de IA generativa, que a menudo requieren pasos especializados, como la ingeniería de peticiones, el filtrado de respuestas y la evaluación human-in-the-loop. En el caso de la IA generativa, Vertex AI Pipelines puede automatizar estos pasos, incluida la evaluación de las salidas generadas en función de las métricas de calidad y las directrices de seguridad. Para mejorar la diversidad de las peticiones y la solidez del modelo, los flujos de trabajo automatizados también pueden incluir técnicas de aumento de datos.

Implementar flujos de procesamiento de CI/CD

Para automatizar la creación, la prueba y el despliegue de modelos de aprendizaje automático, usa Cloud Build. Este servicio es especialmente eficaz cuando ejecutas conjuntos de pruebas para el código de la aplicación, lo que asegura que la infraestructura, las dependencias y el empaquetado del modelo cumplan los requisitos de implementación.

Los sistemas de aprendizaje automático suelen necesitar pasos adicionales más allá de las pruebas de código. Por ejemplo, debes hacer pruebas de estrés de los modelos con cargas variables, realizar evaluaciones masivas para evaluar el rendimiento de los modelos en distintos conjuntos de datos y validar la integridad de los datos antes de volver a entrenarlos. Para simular cargas de trabajo realistas en las pruebas de estrés, puedes usar herramientas como Locust, Grafana k6 o Apache JMeter. Para identificar los cuellos de botella, monitoriza métricas clave como la latencia, la tasa de errores y la utilización de recursos a través de Cloud Monitoring. En el caso de la IA generativa, las pruebas también deben incluir evaluaciones específicas del tipo de contenido generado, como la calidad del texto, la fidelidad de la imagen o la funcionalidad del código. Estas evaluaciones pueden incluir métricas automatizadas, como la perplejidad en el caso de los modelos de lenguaje, o evaluaciones con participación humana para aspectos más sutiles, como la creatividad y la seguridad.

Para implementar tareas de prueba y evaluación, puedes integrar Cloud Build con otros Google Cloud servicios. Por ejemplo, puedes usar Vertex AI Pipelines para evaluar modelos automáticamente, BigQuery para analizar datos a gran escala y la validación de la canalización de Dataflow para validar las características.

Puedes mejorar aún más tu flujo de procesamiento de CI/CD usando Vertex AI para el entrenamiento continuo, lo que te permitirá volver a entrenar automáticamente los modelos con datos nuevos. En el caso concreto de la IA generativa, para que los resultados generados sean relevantes y diversos, el reentrenamiento puede implicar la actualización automática de los modelos con nuevos datos o peticiones de entrenamiento. Puedes usar Model Garden de Vertex AI para seleccionar los modelos base más recientes que estén disponibles para el ajuste. De esta forma, los modelos se mantienen actualizados y optimizados para las necesidades cambiantes de tu empresa.

Implementar lanzamientos de modelos seguros y controlados

Para minimizar los riesgos y garantizar que los lanzamientos sean fiables, implementa un enfoque de lanzamiento de modelos que te permita detectar problemas pronto, validar el rendimiento y revertir los cambios rápidamente cuando sea necesario.

Para empaquetar tus modelos y aplicaciones de aprendizaje automático en imágenes de contenedor y desplegarlos, usa Cloud Deploy. Puedes desplegar tus modelos en endpoints de Vertex AI.

Implementa lanzamientos controlados para tus aplicaciones y sistemas de IA mediante estrategias como los lanzamientos canary. En el caso de las aplicaciones que usan modelos gestionados, como Gemini, te recomendamos que publiques gradualmente las nuevas versiones de la aplicación para un subconjunto de usuarios antes de realizar la implementación completa. Este enfoque te permite detectar posibles problemas en una fase temprana, sobre todo cuando usas modelos de IA generativa en los que los resultados pueden variar.

Para lanzar modelos ajustados, puedes usar Cloud Deploy para gestionar el despliegue de las versiones del modelo y usar la estrategia de lanzamiento canary para minimizar los riesgos. Con los modelos gestionados y los modelos ajustados, el objetivo de los lanzamientos controlados es probar los cambios con una audiencia limitada antes de lanzar las aplicaciones y los modelos para todos los usuarios.

Para llevar a cabo una validación sólida, usa Vertex AI Experiments para comparar los modelos nuevos con los que ya tienes y Vertex AI Model Evaluation para evaluar el rendimiento de los modelos. En el caso concreto de la IA generativa, define métricas de evaluación que se ajusten al caso práctico previsto y a los posibles riesgos. Puedes usar el servicio de evaluación de IA generativa de Vertex AI para evaluar métricas como la toxicidad, la coherencia, la precisión de los datos y el cumplimiento de las directrices de seguridad.

Para garantizar la fiabilidad de la implementación, necesitas un plan de restauración sólido. En el caso de los sistemas de aprendizaje automático tradicionales, usa Vertex AI Model Monitoring para detectar la deriva de los datos y la degradación del rendimiento. En el caso de los modelos de IA generativa, puede monitorizar las métricas relevantes y configurar alertas para detectar cambios en la calidad de los resultados o la aparición de contenido dañino mediante la evaluación de modelos de Vertex AI junto con Cloud Logging y Cloud Monitoring. Configura alertas basadas en métricas específicas de la IA generativa para activar procedimientos de reversión cuando sea necesario. Para hacer un seguimiento del linaje de los modelos y volver a la versión estable más reciente, usa las estadísticas de Vertex AI Model Registry.

Implementar la observabilidad

El comportamiento de los sistemas de IA y aprendizaje automático puede cambiar con el tiempo debido a cambios en los datos o en el entorno, así como a actualizaciones de los modelos. Esta naturaleza dinámica hace que la observabilidad sea crucial para detectar problemas de rendimiento, sesgos o comportamientos inesperados. Esto es especialmente cierto en el caso de los modelos de IA generativa, ya que los resultados pueden ser muy variables y subjetivos. La observabilidad te permite abordar de forma proactiva los comportamientos inesperados y asegurarte de que tus sistemas de IA y aprendizaje automático sigan siendo fiables, precisos y justos.

Para implementar la observabilidad en tus sistemas de IA y aprendizaje automático, ten en cuenta las siguientes recomendaciones.

Monitorizar el rendimiento continuamente

Usa métricas y criterios de éxito para evaluar los modelos de forma continua después de la implementación.

Puedes usar Vertex AI Model Monitoring para hacer un seguimiento proactivo del rendimiento de los modelos, identificar el sesgo entre el entrenamiento y el servicio, así como la deriva de las predicciones, y recibir alertas para activar el reentrenamiento necesario de los modelos u otras intervenciones. Para monitorizar de forma eficaz la desviación entre el entrenamiento y el servicio, crea un conjunto de datos de referencia que represente la distribución de datos ideal y usa TFDV para analizar tus datos de entrenamiento y establecer un esquema de referencia.

Configura Monitorización de modelos para comparar la distribución de los datos de entrada con el conjunto de datos de referencia y detectar automáticamente las desviaciones. En el caso de los modelos de aprendizaje automático tradicionales, céntrate en las métricas, como la exactitud, la precisión, la recuperación, la puntuación F1, el AUC-ROC y la pérdida logarítmica. Define umbrales personalizados para las alertas en Monitorización de modelos. En el caso de la IA generativa, usa el servicio de evaluación de IA generativa para monitorizar continuamente la salida del modelo en producción. También puedes habilitar métricas de evaluación automática para la calidad, la seguridad, el cumplimiento de las instrucciones, la fundamentación, el estilo de escritura y la verbosidad de las respuestas. Para evaluar la calidad, la relevancia, la seguridad y el cumplimiento de las directrices de las respuestas generadas, puedes incorporar la evaluación human-in-the-loop.

Crea bucles de retroalimentación para volver a entrenar automáticamente los modelos con Vertex AI Pipelines cuando Model Monitoring active una alerta. Usa estas estadísticas para mejorar tus modelos continuamente.

Evaluar modelos durante el desarrollo

Antes de implementar tus LLMs y otros modelos de IA generativa, evalúalos a fondo durante la fase de desarrollo. Usa la evaluación de modelos de Vertex AI para conseguir un rendimiento óptimo y reducir los riesgos. Usa la evaluación rápida de Vertex AI para que Google Cloud ejecute automáticamente evaluaciones basadas en el conjunto de datos y las peticiones que proporciones.

También puede definir e integrar métricas personalizadas que sean específicas de su caso de uso. Para recibir comentarios sobre el contenido generado, integra flujos de trabajo con intervención humana mediante Vertex AI Model Evaluation.

Usa pruebas adversarias para identificar vulnerabilidades y posibles modos de fallo. Para identificar y mitigar posibles sesgos, usa técnicas como el análisis de subgrupos y la generación de contrafactuales. Usa las estadísticas obtenidas de las evaluaciones que se completaron durante la fase de desarrollo para definir tu estrategia de monitorización de modelos en producción. Prepara tu solución para la monitorización continua tal como se describe en la sección Monitoriza el rendimiento continuamente de este documento.

Monitorizar la disponibilidad

Para obtener visibilidad del estado y el rendimiento de los endpoints y la infraestructura implementados, utiliza Cloud Monitoring. En el caso de tus endpoints de Vertex AI, monitoriza métricas clave como la tasa de solicitudes, la tasa de errores, la latencia y el uso de recursos, y configura alertas para detectar anomalías. Para obtener más información, consulta las métricas de Cloud Monitoring de Vertex AI.

Monitoriza el estado de la infraestructura subyacente, que puede incluir instancias de Compute Engine, clústeres de Google Kubernetes Engine (GKE) y TPUs y GPUs. Recibe recomendaciones de optimización automatizadas de Active Assist. Si usas el autoescalado, monitoriza su comportamiento para asegurarte de que responde adecuadamente a los cambios en los patrones de tráfico.

Monitoriza el estado de los despliegues de modelos, incluidas las versiones canary y las restauraciones, integrando Cloud Deploy con Cloud Monitoring. Además, puedes monitorizar posibles amenazas y vulnerabilidades de seguridad con Security Command Center.

Configurar alertas personalizadas para umbrales específicos de la empresa

Para identificar y corregir anomalías y problemas a tiempo, configure alertas personalizadas basadas en umbrales específicos de sus objetivos de negocio. Estos son algunos ejemplos de Google Cloud productos que puedes usar para implementar un sistema de alertas personalizado:

  • Cloud Logging: recoge, almacena y analiza registros de todos los componentes de tu sistema de IA y AA.
  • Cloud Monitoring: crea paneles de control personalizados para visualizar métricas y tendencias clave, y define métricas personalizadas en función de tus necesidades. Configura alertas para recibir notificaciones sobre problemas críticos e integra las alertas con tus herramientas de gestión de incidentes, como PagerDuty o Slack.
  • Error Reporting: captura y analiza automáticamente los errores y las excepciones.
  • Cloud Trace: analiza el rendimiento de los sistemas distribuidos e identifica los cuellos de botella. El rastreo es especialmente útil para comprender la latencia entre los diferentes componentes de tu canalización de IA y aprendizaje automático.
  • Cloud Profiler: analiza continuamente el rendimiento de tu código en producción e identifica los cuellos de botella del rendimiento en el uso de la CPU o la memoria.

Crea una cultura de excelencia operativa

Centrarse en crear soluciones de IA sostenibles, fiables y eficaces, en lugar de solo en crear modelos. Permite que los equipos aprendan, innoven y mejoren continuamente, lo que conlleva ciclos de desarrollo más rápidos, menos errores y una mayor eficiencia. Si prioriza la automatización, la estandarización y las consideraciones éticas, puede asegurarse de que sus iniciativas de IA y AA aporten valor de forma constante, mitiguen los riesgos y promuevan el desarrollo responsable de la IA.

Para crear una cultura de excelencia operativa en tus sistemas de IA y aprendizaje automático, ten en cuenta las siguientes recomendaciones.

Impulsa la automatización y la estandarización

Para enfatizar la eficiencia y la coherencia, integra la automatización y las prácticas estandarizadas en cada fase del ciclo de vida de la IA y el aprendizaje automático. La automatización reduce los errores manuales y permite que los equipos se centren en la innovación. La estandarización asegura que los procesos se puedan repetir y escalar en todos los equipos y proyectos.

Prioriza el aprendizaje y la mejora continuos

Fomentar un entorno en el que la formación continua y la experimentación sean principios fundamentales. Anima a los equipos a mantenerse al día de los avances en IA y aprendizaje automático, y ofréceles oportunidades para aprender de proyectos anteriores. Una cultura de curiosidad y adaptación impulsa la innovación y asegura que los equipos estén preparados para afrontar nuevos retos.

Fomentar la responsabilidad y la implicación

Fomenta la confianza y la colaboración con roles, responsabilidades y métricas de éxito claramente definidos. Faculta a los equipos para que tomen decisiones fundamentadas dentro de estos límites y establece formas transparentes de medir el progreso. El sentimiento de propiedad motiva a los equipos y asegura la responsabilidad colectiva de los resultados.

Integrar consideraciones éticas y de seguridad de la IA

Prioriza las consideraciones éticas en cada fase del desarrollo. Anima a los equipos a reflexionar de forma crítica sobre el impacto de sus soluciones de IA y fomenta debates sobre la equidad, los sesgos y el impacto social. Los principios claros y los mecanismos de rendición de cuentas aseguran que tus sistemas de IA se ajusten a los valores de la organización y fomenten la confianza.

Diseñar para la escalabilidad

Para adaptarse al creciente volumen de datos y a las demandas de los usuarios, así como para maximizar el valor de las inversiones en IA, tus sistemas de IA y aprendizaje automático deben ser escalables. Los sistemas deben adaptarse y funcionar de forma óptima para evitar cuellos de botella en el rendimiento que obstaculicen la eficacia. Si diseñas una infraestructura escalable, te aseguras de que la infraestructura de IA pueda gestionar el crecimiento y mantener la capacidad de respuesta. Usa una infraestructura escalable, planifica la capacidad y emplea estrategias como el escalado horizontal y los servicios gestionados.

Para diseñar tus sistemas de IA y aprendizaje automático de forma que sean escalables, ten en cuenta las siguientes recomendaciones.

Planificar la capacidad y las cuotas

Evalúa el crecimiento futuro y planifica la capacidad de tu infraestructura y las cuotas de recursos en consecuencia. Colabora con las partes interesadas de la empresa para conocer el crecimiento previsto y, a continuación, define los requisitos de infraestructura en consecuencia.

Usa Cloud Monitoring para analizar el uso histórico de los recursos, identificar tendencias y prever las necesidades futuras. Realiza pruebas de carga periódicas para simular cargas de trabajo e identificar cuellos de botella.

Familiarízate con las Google Cloud cuotas de los servicios que utilizas, como Compute Engine, Vertex AI y Cloud Storage. Solicita de forma proactiva aumentos de cuota a través de la Google Cloud consola y justifica los aumentos con datos de previsión y pruebas de carga. Monitoriza el uso de las cuotas y configura alertas para recibir notificaciones cuando el uso se acerque a los límites de las cuotas.

Para optimizar el uso de los recursos en función de la demanda, ajusta el tamaño de los recursos, usa máquinas virtuales de Spot para las cargas de trabajo por lotes tolerantes a fallos e implementa el autoescalado.

Prepararse para los eventos de picos

Asegúrate de que tu sistema pueda gestionar picos repentinos de tráfico o carga de trabajo durante los eventos de máxima audiencia. Documenta tu estrategia para eventos con picos de tráfico y haz simulaciones periódicas para probar la capacidad de tu sistema de gestionar una carga mayor.

Para aumentar los recursos de forma agresiva cuando la demanda aumente, configura políticas de autoescalado en Compute Engine y GKE. Si los patrones de picos son predecibles, puedes usar el autoescalado predictivo. Para activar el autoescalado en función de señales específicas de la aplicación, usa métricas personalizadas en Cloud Monitoring.

Distribuye el tráfico entre varias instancias de la aplicación mediante Cloud Load Balancing. Elige el tipo de balanceador de carga adecuado en función de las necesidades de tu aplicación. Si tienes usuarios distribuidos geográficamente, puedes usar el balanceo de carga global para enrutar el tráfico a la instancia disponible más cercana. En el caso de las arquitecturas complejas basadas en microservicios, te recomendamos que uses Cloud Service Mesh.

Almacena en caché el contenido estático en el perímetro de la red de Google con Cloud CDN. Para almacenar en caché los datos a los que se accede con frecuencia, puedes usar Memorystore, que ofrece un servicio en memoria totalmente gestionado para Redis, Valkey o Memcached.

Desacopla los componentes de tu sistema mediante Pub/Sub para la mensajería en tiempo real y Cloud Tasks para la ejecución de tareas asíncronas.

Escalar aplicaciones para producción

Para garantizar un servicio escalable en producción, puedes usar servicios gestionados como Vertex AI distributed training y Vertex AI Inference. Vertex AI Inference te permite configurar los tipos de máquinas de tus nodos de predicción cuando despliegas un modelo en un endpoint o solicitas predicciones por lotes. En algunas configuraciones, puedes añadir GPUs. Elige el tipo de máquina y los aceleradores adecuados para optimizar la latencia, el rendimiento y el coste.

Para escalar aplicaciones complejas de IA y Python, así como cargas de trabajo personalizadas, en recursos de computación distribuida, puedes usar Ray en Vertex AI. Esta función puede ayudar a optimizar el rendimiento y permite una integración perfecta con los servicios deGoogle Cloud . Ray en Vertex AI simplifica la computación distribuida al gestionar la gestión de clústeres, la programación de tareas y la transferencia de datos. Se integra con otros servicios de Vertex AI, como entrenamiento, predicción y flujos de trabajo. Ray ofrece tolerancia a fallos y autoescalado, y te ayuda a adaptar la infraestructura a las cargas de trabajo cambiantes. Ofrece un marco unificado para el entrenamiento distribuido, el ajuste de hiperparámetros, el aprendizaje por refuerzo y el servicio de modelos. Usa Ray para el preprocesamiento de datos distribuidos con Dataflow o Dataproc, el entrenamiento de modelos acelerado, el ajuste de hiperparámetros escalable, el aprendizaje por refuerzo y la predicción por lotes paralela.

Colaboradores

Autores:

Otros colaboradores:

Perspectiva de la IA y el aprendizaje automático: seguridad

En este documento del marco de trabajo Well-Architected: perspectiva de IA y aprendizaje automático se ofrece una descripción general de los principios y las recomendaciones para asegurarse de que las implementaciones de IA y aprendizaje automático cumplen los requisitos de seguridad y cumplimiento de su organización. Las recomendaciones de este documento se ajustan al pilar de seguridad del Google Cloud framework Well-Architected.

El despliegue seguro de cargas de trabajo de IA y aprendizaje automático es un requisito fundamental, sobre todo en entornos empresariales. Para cumplir este requisito, debes adoptar un enfoque de seguridad integral que empiece en la conceptualización inicial de tus soluciones de IA y aprendizaje automático, y que se extienda al desarrollo, la implementación y las operaciones continuas. Google Cloud ofrece herramientas y servicios sólidos diseñados para ayudarte a proteger tus cargas de trabajo de IA y aprendizaje automático.

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 añadirlos después. Desde el inicio del proceso de diseño y desarrollo, toma decisiones adecuadas para tu entorno de riesgo y tus prioridades empresariales específicas.

Ten en cuenta las siguientes recomendaciones:

  • Identifica los posibles vectores de ataque y adopta una perspectiva de seguridad y cumplimiento desde el principio. A medida que diseñes y desarrolles tus sistemas de IA, haz un seguimiento de la superficie de ataque, los riesgos potenciales y las obligaciones a las que te enfrentes.
  • Alinea tus esfuerzos de seguridad de IA y aprendizaje automático con tus objetivos de negocio y asegúrate de que la seguridad sea una parte integral de tu estrategia general. Comprende los efectos de tus decisiones de seguridad en tus principales objetivos de negocio.

Mantener los datos protegidos y evitar que se pierdan o se traten de forma inadecuada

Los datos son un recurso valioso y sensible que debe mantenerse protegido. La seguridad de los datos te ayuda a mantener la confianza de los usuarios, a alcanzar tus objetivos empresariales y a cumplir los requisitos.

Ten en cuenta las siguientes recomendaciones:

  • No recoja, conserve ni use datos que no sean estrictamente necesarios para alcanzar sus objetivos de negocio. Si es posible, use datos sintéticos o totalmente anonimizados.
  • Monitoriza la recogida, el almacenamiento y la transformación de datos. Mantener 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 autorizados y evitar accesos no deseados.
  • Implementa diferentes niveles de acceso (por ejemplo, sin acceso, solo lectura o escritura) en función de los roles de los usuarios. Asegúrate de que los permisos se asignen según el principio de mínimos accesos. Los usuarios solo deben tener los permisos mínimos necesarios para desempeñar las actividades de su rol.
  • Implementa medidas como el cifrado, los perímetros seguros y las restricciones en el movimiento de datos. Estas medidas te ayudan a evitar la filtración y la pérdida de datos.
  • Protege tus sistemas de entrenamiento de aprendizaje automático frente a la contaminación de datos.

Mantener protegidos los flujos de trabajo de IA y evitar que se manipulen

Tu código de IA y de aprendizaje automático, así como las canalizaciones definidas por código, son recursos fundamentales. El código que no está protegido se puede manipular, lo que puede provocar fugas de datos, incumplimiento de normativas e interrupciones de actividades empresariales críticas. Mantener seguro el código de IA y aprendizaje automático ayuda a garantizar la integridad y el valor de tus modelos y de los resultados que generan.

Ten en cuenta las siguientes recomendaciones:

  • Utiliza prácticas de codificación seguras, como la gestión de dependencias o la validación y la depuración de entradas, durante el desarrollo del modelo para evitar vulnerabilidades.
  • Protege el código de tu canalización y tus artefactos de modelo, como archivos, pesos del modelo y especificaciones de implementación, contra accesos no autorizados. Implementa diferentes niveles de acceso para cada artefacto en función de los roles y las necesidades de los usuarios.
  • Implementa el linaje y el seguimiento de tus recursos y ejecuciones de la canalización. Esta medida te ayuda a cumplir los requisitos y a evitar que se pongan en riesgo los sistemas de producción.

Implementar 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 robusto con garantías de seguridad para las herramientas y los artefactos que se implementen en el entorno.

Ten en cuenta las siguientes recomendaciones:

  • Entrena y despliega tus modelos en un entorno seguro que tenga controles de acceso adecuados y protección frente a usos o manipulaciones no autorizados.
  • Sigue las directrices estándar de niveles de la cadena de suministro para artefactos de software (SLSA) para tus artefactos específicos de IA, como modelos y paquetes de software.
  • Es preferible usar imágenes de contenedor precompiladas validadas que estén diseñadas específicamente para cargas de trabajo de IA.

Proteger y monitorizar las entradas

Los sistemas de IA necesitan entradas para hacer predicciones, generar contenido o automatizar acciones. Algunas entradas pueden suponer un riesgo o usarse como vectores de ataque que deben detectarse y limpiarse. Detectar posibles entradas maliciosas con antelación te ayuda a mantener tus sistemas de IA seguros y a que funcionen según lo previsto.

Ten en cuenta las siguientes recomendaciones:

  • Implementa prácticas seguras para desarrollar y gestionar las peticiones de los sistemas de IA generativa, y asegúrate de que se analizan para detectar intenciones dañinas.
  • Monitoriza las entradas de los sistemas predictivos o generativos para evitar problemas, como endpoints sobrecargados o peticiones para las que los sistemas no están diseñados.
  • Asegúrate de que solo puedan usar el sistema desplegado los usuarios previstos.

Monitorizar, evaluar y prepararse 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 fiabilidad de tus sistemas y aplicaciones de IA, debes asegurarte de que los resultados sean seguros y se ajusten a los parámetros esperados. También necesitas un plan para responder a los incidentes.

Ten en cuenta las siguientes recomendaciones:

  • Monitoriza los resultados de tus modelos de IA y aprendizaje automático en producción, e identifica cualquier problema de rendimiento, seguridad y cumplimiento.
  • Evalúa el rendimiento de los modelos implementando métricas y medidas de seguridad sólidas, como la identificación de respuestas generativas fuera del ámbito o resultados extremos en modelos predictivos. Recoger los comentarios de los usuarios sobre el rendimiento del modelo.
  • Implementa procedimientos de respuesta ante incidentes y alertas robustos para abordar cualquier posible problema.

Colaboradores

Autores:

  • Kamilla Kurta | Ingeniera de clientes especializada en GenAI y aprendizaje automático
  • Filipe Gracio, doctor | Ingeniero de clientes y especialista en IA y aprendizaje automático
  • Mohamed Fawzi | Responsable de Seguridad y Cumplimiento en Benelux

Otros colaboradores:

Perspectiva de la IA y el aprendizaje automático: fiabilidad

En este documento del Google Cloud marco de trabajo bien diseñado: perspectiva de la IA y el aprendizaje automático se ofrece una descripción general de los principios y las recomendaciones para diseñar y operar sistemas de IA y aprendizaje automático fiables en Google Cloud. Se explica cómo integrar prácticas de fiabilidad y observabilidad avanzadas en tus planos de arquitectura. Las recomendaciones de este documento se ajustan al pilar de fiabilidad del Google Cloud framework Well-Architected.

En el panorama de la IA y el aprendizaje automático, que está en constante evolución, los sistemas fiables son esenciales para garantizar la satisfacción de los clientes y alcanzar los objetivos empresariales. Para satisfacer las demandas únicas del aprendizaje automático predictivo y de la IA generativa, necesitas sistemas de IA y aprendizaje automático que sean sólidos, fiables y adaptables. Para gestionar las complejidades de MLOps (desde el desarrollo hasta la implementación y la mejora continua), debes usar un enfoque basado en la fiabilidad. Google Cloud ofrece una infraestructura de IA diseñada específicamente que se ajusta a los principios de ingeniería de fiabilidad de sitios (SRE) y que proporciona una base sólida para sistemas de IA y aprendizaje automático fiables.

Las recomendaciones de este documento se corresponden con los siguientes principios básicos:

Asegurarse de que la infraestructura de aprendizaje automático sea escalable y de alta disponibilidad

Los sistemas de IA y aprendizaje automático fiables en la nube requieren una infraestructura escalable y de alta disponibilidad. Estos sistemas tienen demandas dinámicas, diversas necesidades de recursos y dependencias críticas de la disponibilidad de modelos. Las arquitecturas escalables se adaptan a las cargas fluctuantes y a las variaciones en el volumen de datos o las solicitudes de inferencia. La alta disponibilidad ayuda a asegurar la resiliencia frente a fallos a nivel de componente, zona o región.

Para crear una infraestructura de aprendizaje automático escalable y de alta disponibilidad, ten en cuenta las siguientes recomendaciones.

Implementar funciones de escalado automático y dinámico

Las cargas de trabajo de IA y aprendizaje automático son dinámicas, y la demanda fluctúa en función de las tasas de llegada de datos, la frecuencia de entrenamiento y el volumen de tráfico de inferencia. El escalado automático y dinámico adapta los recursos de infraestructura a las fluctuaciones de la demanda sin interrupciones. Escalar tus cargas de trabajo de forma eficaz te ayuda a evitar el tiempo de inactividad, mantener el rendimiento y optimizar los costes.

Para escalar automáticamente tus cargas de trabajo de IA y aprendizaje automático, usa los siguientes productos y funciones de Google Cloud:

  • Flujos de procesamiento de datos: crea flujos de procesamiento de datos en Dataflow. Configura las canalizaciones para que usen la función de autoescalado horizontal de Dataflow, que ajusta de forma dinámica el número de instancias de trabajador en función del uso de la CPU, el paralelismo de la canalización y los datos pendientes. Puedes configurar los parámetros de escalado automático mediante las opciones de la canalización al iniciar los trabajos.
  • Tareas de entrenamiento: automatiza el escalado de las tareas de entrenamiento con el entrenamiento personalizado de Vertex AI. Puede definir las especificaciones del grupo de trabajadores, como el tipo de máquina, el tipo y el número de aceleradores, y el número de grupos de trabajadores. En el caso de los trabajos que pueden tolerar interrupciones y de los trabajos en los que el código de entrenamiento implementa la creación de puntos de control, puedes reducir los costes usando máquinas virtuales de acceso puntual.
  • Inferencia online: para la inferencia online, usa los endpoints de Vertex AI. Para habilitar el autoescalado, configura el número mínimo y máximo de réplicas. Especifica un mínimo de dos réplicas para la alta disponibilidad. Vertex AI ajusta automáticamente el número de réplicas en función del tráfico y de las métricas de autoescalado configuradas, como el uso de CPU y el uso de réplicas.
  • Cargas de trabajo en contenedores en Google Kubernetes Engine: configura el autoescalado a nivel de nodo y de pod. Configura el autoescalador de clústeres y el aprovisionamiento automático de nodos para ajustar el número de nodos en función de las solicitudes de recursos de pods pendientes, como CPU, memoria, GPU y TPU. Usa Horizontal Pod Autoscaler (HPA) para los despliegues y define políticas de escalado basadas en métricas como el uso de CPU y memoria. También puedes escalar en función de métricas personalizadas de IA y aprendizaje automático, como el uso de GPU o TPU y las solicitudes de predicción por segundo.
  • Servicios en contenedores sin servidor: despliega los servicios en Cloud Run y configura el autoescalado especificando el número mínimo y máximo de instancias de contenedor. Sigue las prácticas recomendadas para autoescalar instancias con GPU especificando el tipo de acelerador. Cloud Run escala automáticamente las instancias entre los límites mínimo y máximo configurados en función de las solicitudes entrantes. Cuando no hay solicitudes, se escala de forma eficiente a cero instancias. Puedes aprovechar el escalado automático y basado en solicitudes de Cloud Run para desplegar agentes de Vertex AI y cargas de trabajo de terceros, como modelos cuantificados con Ollama, inferencia de modelos LLM con vLLM y Hugging Face Text Generation Inference (TGI).

Diseñar para la alta disponibilidad y la tolerancia a fallos

En el caso de las cargas de trabajo de IA y aprendizaje automático de nivel de producción, es fundamental que asegures el funcionamiento continuo y la resiliencia frente a los fallos. Para implementar la alta disponibilidad y la tolerancia a fallos, debes crear redundancia y replicación en tu arquitectura en Google Cloud. Este enfoque ayuda a garantizar que el fallo de un componente individual no provoque el fallo de todo el sistema.

Implementa la redundancia de los componentes críticos de IA y aprendizaje automático en Google Cloud. A continuación, se muestran ejemplos de productos y funciones que te permiten implementar la redundancia de recursos:

  • Despliega clústeres regionales de GKE en varias zonas.
  • Asegúrate de que los conjuntos de datos y los puntos de control tengan redundancia de datos usando segmentos multirregionales o birregionales de Cloud Storage.
  • Usa Spanner para almacenar metadatos de forma coherente a nivel mundial y con alta disponibilidad.
  • Configura réplicas de lectura de Cloud SQL para bases de datos operativas.
  • Asegúrate de que las bases de datos vectoriales para la generación aumentada de recuperación (RAG) tengan una alta disponibilidad y sean multizonales o multirregionales.

Gestionar los recursos de forma proactiva y anticiparse a los requisitos

Una gestión eficaz de los recursos es importante para optimizar los costes, el rendimiento y la fiabilidad. Las cargas de trabajo de IA y aprendizaje automático son dinámicas y hay una gran demanda de hardware especializado, como GPUs y TPUs. Por lo tanto, es fundamental que apliques una gestión de recursos proactiva y que asegures la disponibilidad de los recursos.

Planifica la capacidad en función de los datos de monitorización históricos, como la utilización de la GPU o la TPU y las tasas de procesamiento, de Cloud Monitoring y los registros de Cloud Logging. Analiza estos datos de telemetría con BigQuery o Looker Studio y predice la demanda futura de GPUs en función del crecimiento o de los nuevos modelos. El análisis de los patrones y las tendencias de uso de los recursos te ayuda a predecir cuándo y dónde necesitas aceleradores especializados críticos.

  • Valida las estimaciones de capacidad mediante pruebas de carga rigurosas. Simula el tráfico en servicios de IA y aprendizaje automático, como el servicio y las canalizaciones, con herramientas como Apache JMeter o LoadView.
  • Analiza el comportamiento del sistema en condiciones de estrés.
    • Para anticipar y satisfacer las mayores demandas de carga de trabajo en producción, identifica de forma proactiva los requisitos de recursos. Monitoriza la latencia, el rendimiento, los errores y la utilización de recursos, especialmente la utilización de GPUs y TPUs. Aumenta las cuotas de recursos según sea necesario.
    • Para el servicio de IA generativa, haz pruebas con cargas simultáneas elevadas e identifica el nivel en el que la disponibilidad del acelerador limita el rendimiento.
  • Monitoriza continuamente las consultas de modelos y configura alertas proactivas para los agentes.

Optimizar la disponibilidad y la obtención de recursos

Optimiza los costes y asegúrate de que los recursos estén disponibles seleccionando estratégicamente los recursos de computación adecuados en función de los requisitos de la carga de trabajo.

  • Para inferencias estables las 24 horas del día o para cargas de trabajo de entrenamiento con requisitos de capacidad fijos o predecibles, usa descuentos por compromiso de uso (CUDs) para máquinas virtuales y aceleradores.
  • En el caso de los nodos de GKE y las VMs de Compute Engine, utiliza las VMs de spot y las funciones de Dynamic Workload Scheduler (DWS):

    • Para tareas tolerantes a fallos, como cargas de trabajo de evaluación y experimentación, usa máquinas virtuales de Spot. Las máquinas virtuales de acceso puntual se pueden interrumpir, pero pueden ayudarte a reducir los costes generales.
    • Para gestionar el riesgo de expropiación de aceleradores de alta demanda, puedes mejorar la disponibilidad usando DWS.
      • Para el entrenamiento por lotes complejo que necesita GPUs de gama alta para ejecutarse hasta siete días, usa el modo de inicio flexible de DWS.
      • Para cargas de trabajo de mayor duración (hasta tres meses), usa el modo Calendario para reservar GPUs específicas (H100 y H200) y TPUs (Trillium).
  • Para optimizar la inferencia de IA en GKE, puedes ejecutar un motor vLLM que use de forma dinámica las TPUs y las GPUs para satisfacer las necesidades de capacidad y rendimiento fluctuantes. Para obtener más información, consulta Fungibilidad de GPU/TPU de vLLM.

  • En los casos avanzados con necesidades complejas de recursos y topología que impliquen aceleradores, usa herramientas para abstraer la gestión de recursos.

    • Cluster Director te permite desplegar y gestionar grupos de aceleradores con colocación y programación para el entrenamiento con varias GPUs (A3 Ultra H200 y A4 B200). Cluster Director es compatible con los clústeres de GKE y Slurm.
    • Ray en Vertex AI abstrae la infraestructura de computación distribuida. Permite que las aplicaciones soliciten recursos para el entrenamiento y el servicio sin necesidad de gestionar directamente las máquinas virtuales y los contenedores.

Distribuir el tráfico entrante entre varias instancias

El balanceo de carga eficaz es fundamental para las aplicaciones de IA que tienen demandas fluctuantes. El balanceo de carga distribuye el tráfico, optimiza el uso de los recursos, proporciona alta disponibilidad y baja latencia, y ayuda a garantizar una experiencia de usuario fluida.

  • Inferencia con necesidades de recursos variables: implementa el balanceo de carga en función de las métricas del modelo. GKE Inference Gateway te permite desplegar modelos detrás de un balanceador de carga con enrutamiento basado en modelos. La puerta de enlace prioriza las instancias con aceleradores de GPU y TPU para tareas que requieren muchos recursos de computación, como la IA generativa y la inferencia de LLMs. Configura comprobaciones de estado detalladas para evaluar el estado del modelo. Usa frameworks de servicio como vLLM o Triton para las métricas de LLM e integra las métricas en Cloud Monitoring mediante Google Cloud Managed Service para Prometheus.
  • Cargas de trabajo de inferencia que necesitan GPUs o TPUs: para asegurarte de que las cargas de trabajo de inferencia de IA y aprendizaje automático críticas se ejecuten de forma coherente en máquinas adecuadas para los requisitos de las cargas de trabajo, sobre todo cuando la disponibilidad de GPUs y TPUs es limitada, usa clases de computación personalizadas de GKE. Puedes definir perfiles de cálculo específicos con políticas de respaldo para el escalado automático. Por ejemplo, puedes definir un perfil que especifique una prioridad más alta para las instancias de GPU o TPU reservadas. El perfil puede incluir un fallback para usar máquinas virtuales de acceso puntual rentables si los recursos reservados no están disponibles temporalmente.
  • IA generativa en diversas plataformas de orquestación: usa un balanceador de carga centralizado. Por ejemplo, para optimizar los costes y la gestión, puedes dirigir las solicitudes que requieran pocos recursos de GPU a Cloud Run y las tareas más complejas que consuman muchos recursos de GPU a GKE. Para la comunicación entre servicios y la gestión de políticas, implementa una malla de servicios mediante Cloud Service Mesh. Asegúrate de que el almacenamiento de registros y la monitorización sean coherentes mediante Cloud Logging y Cloud Monitoring.
  • Distribución de carga global: para balancear la carga del tráfico de usuarios de todo el mundo que necesitan una latencia baja, usa un balanceador de carga de aplicación externo global. Configura el enrutamiento por geolocalización a la región más cercana e implementa la conmutación por error. Establece la replicación de endpoints regionales en Vertex AI o GKE. Configura Cloud CDN para los recursos estáticos. Monitoriza el tráfico y la latencia globales con Cloud Monitoring.
  • Gestión granular del tráfico: en el caso de las solicitudes que tienen tipos de datos o complejidad diversos y las solicitudes de larga duración, implementa una gestión granular del tráfico.
    • Configura el enrutamiento basado en contenido para dirigir las solicitudes a backends especializados en función de atributos como las rutas de URL y los encabezados. Por ejemplo, solicitudes directas a back-ends habilitados para GPU para modelos de imagen o vídeo, y a back-ends optimizados para CPU para modelos basados en texto.
    • Para las solicitudes de IA generativa de larga duración o las cargas de trabajo por lotes, usa WebSockets o gRPC. Implementa la gestión del tráfico para gestionar los tiempos de espera y el almacenamiento en búfer. Configura los tiempos de espera y los reintentos de las solicitudes, e implementa límites de frecuencia y cuotas con API Gateway o Apigee.

Usar una arquitectura modular y con bajo acoplamiento

En una arquitectura de IA y aprendizaje automático modular y con bajo acoplamiento, los sistemas complejos se dividen en componentes más pequeños y autónomos que interactúan a través de interfaces bien definidas. Esta arquitectura minimiza las dependencias de los módulos, simplifica el desarrollo y las pruebas, mejora la reproducibilidad y aumenta la tolerancia a fallos al contener los errores. El enfoque modular es fundamental para gestionar la complejidad, acelerar la innovación y garantizar el mantenimiento a largo plazo.

Para diseñar una arquitectura modular y poco acoplada para cargas de trabajo de IA y aprendizaje automático, ten en cuenta las siguientes recomendaciones.

Implementar módulos o componentes pequeños e independientes

Divide tu sistema de IA y aprendizaje automático de extremo a extremo en módulos o componentes pequeños e independientes. Cada módulo o componente se encarga de una función específica, como la ingestión de datos, la transformación de características, el entrenamiento de modelos, el servicio de inferencias o la evaluación. Un diseño modular ofrece varias ventajas clave para los sistemas de IA y aprendizaje automático: mejora del mantenimiento, aumento de la escalabilidad, reutilización y mayor flexibilidad y agilidad.

En las siguientes secciones se describen los Google Cloud productos, las funciones y las herramientas que puedes usar para diseñar una arquitectura modular para tus sistemas de IA y aprendizaje automático.

Microservicios en contenedores en GKE

En el caso de los sistemas complejos de IA y aprendizaje automático o las complejas pipelines de IA generativa que necesiten una orquestación precisa, implementa los módulos como microservicios que se orquesten mediante GKE. Empaqueta cada fase distinta como un microservicio individual en contenedores Docker. Estas fases distintas incluyen la ingestión de datos adaptada a diversos formatos, el preprocesamiento de datos especializados o la ingeniería de funciones, el entrenamiento de modelos distribuidos o el ajuste de modelos fundacionales grandes, la evaluación o la publicación.

Despliega los microservicios contenerizados en GKE y aprovecha el escalado automático basado en el uso de CPU y memoria, o en métricas personalizadas como el uso de GPU, las actualizaciones continuas y las configuraciones reproducibles en manifiestos YAML. Asegúrate de que la comunicación entre los microservicios sea eficiente mediante el descubrimiento de servicios de GKE. Para los patrones asíncronos, usa colas de mensajes como Pub/Sub.

El enfoque de microservicios en GKE te ayuda a crear plataformas escalables y resilientes para tareas como aplicaciones RAG complejas, en las que las fases se pueden diseñar como servicios distintos.

Servicios sin servidor basados en eventos

Para las tareas basadas en eventos que pueden beneficiarse de un escalado automático sin servidor, usa Cloud Run o Cloud Run functions. Estos servicios son ideales para tareas asíncronas, como el preprocesamiento, o para tareas de inferencia más pequeñas. Activa funciones de Cloud Run en eventos, como la creación de un nuevo archivo de datos en Cloud Storage o las actualizaciones de modelos en Artifact Registry. Para las tareas de webhook o los servicios que necesiten un entorno de contenedor, usa Cloud Run.

Los servicios y las funciones de Cloud Run pueden aumentar rápidamente y reducirse a cero, lo que ayuda a garantizar la rentabilidad de las cargas de trabajo fluctuantes. Estos servicios son adecuados para componentes modulares en flujos de trabajo de agentes de Vertex AI. Puedes orquestar secuencias de componentes con Workflows o Application Integration.

Servicios gestionados de Vertex AI

Los servicios de Vertex AI admiten la modularidad y te ayudan a simplificar el desarrollo y el despliegue de tus sistemas de IA y aprendizaje automático. Los servicios abstraen las complejidades de la infraestructura para que puedas centrarte en la lógica de la aplicación.

  • Para orquestar flujos de trabajo creados a partir de pasos modulares, usa Vertex AI Pipelines.
  • Para ejecutar código personalizado de IA y aprendizaje automático, empaqueta el código en contenedores Docker que puedan ejecutarse en servicios gestionados como el entrenamiento personalizado de Vertex AI y la predicción de Vertex AI.
  • Para las pipelines de ingeniería de características modulares, usa Vertex AI Feature Store.
  • Para explorar y crear prototipos de forma modular, usa entornos de cuadernos como Vertex AI Workbench o Colab Enterprise. Organiza tu código en funciones, clases y secuencias de comandos reutilizables.

Aplicaciones autónomas

En el caso de los agentes de IA, el Agent Development Kit (ADK) proporciona funciones modulares, como Herramientas y Estado. Para habilitar la interoperabilidad entre frameworks como LangChain, LangGraph, LlamaIndex y Vertex AI, puedes combinar el ADK con el protocolo Agent2Agent (A2A) y el protocolo Model Context (MCP). Esta interoperabilidad te permite crear flujos de trabajo de agentes mediante diversos componentes.

Puedes desplegar agentes en Vertex AI Agent Engine, que es un tiempo de ejecución gestionado optimizado para el despliegue de agentes escalables. Para ejecutar agentes en contenedores, puedes aprovechar las funciones de escalado automático de Cloud Run.

Diseñar interfaces bien definidas

Para crear sistemas de software sólidos y fáciles de mantener, es fundamental asegurarse de que los componentes de un sistema estén poco acoplados y modularizados. Este enfoque ofrece ventajas significativas, ya que minimiza las dependencias entre las diferentes partes del sistema. Cuando los módulos están poco acoplados, los cambios en un módulo tienen un impacto mínimo en otros módulos. Este aislamiento permite que los módulos se actualicen y desarrollen de forma independiente.

En las siguientes secciones se ofrecen directrices para garantizar una comunicación y una integración fluidas entre los módulos de tus sistemas de IA y aprendizaje automático.

Elección del protocolo

  • Para que el acceso sea universal, usa APIs HTTP, sigue los principios de RESTful y usa JSON para el intercambio de datos independientemente del lenguaje. Diseña los endpoints de la API para representar acciones en los recursos.
  • Para disfrutar de una comunicación interna de alto rendimiento entre microservicios, usa gRPC con Protocol Buffers (ProtoBuf) para conseguir una serialización eficiente y un tipado estricto. Define estructuras de datos como ModelInput, PredictionResult o datos de herramientas del ADK mediante archivos .proto y, a continuación, genera enlaces de lenguaje.
  • En los casos prácticos en los que el rendimiento es fundamental, aprovecha el streaming de gRPC para conjuntos de datos grandes o para flujos continuos, como las aplicaciones de conversión de texto a voz o de vídeo en directo. Despliega los servicios gRPC en GKE.

Documentación estandarizada y completa

Independientemente del protocolo de interfaz que elijas, es fundamental que la documentación sea estándar. La especificación de OpenAPI describe las APIs RESTful. Usa OpenAPI para documentar tus APIs de IA y aprendizaje automático: rutas, métodos, parámetros, formatos de solicitud y respuesta vinculados a esquemas JSON y seguridad. La documentación completa de las APIs ayuda a mejorar la visibilidad y la integración de los clientes. Para crear y visualizar APIs, usa herramientas de interfaz de usuario como Swagger Editor. Para acelerar el desarrollo y garantizar la coherencia, puedes generar SDKs de cliente y stubs de servidor con herramientas de codificación asistidas por IA, como Gemini Code Assist. Integra la documentación de OpenAPI en tu flujo de CI/CD.

Interacción con Google Cloud servicios gestionados como Vertex AI

Elige entre la mayor abstracción del SDK de Vertex AI, que es la opción preferida para aumentar la productividad del desarrollo, y el control granular que ofrece la API REST.

  • El SDK de Vertex AI simplifica las tareas y la autenticación. Usa el SDK cuando necesites interactuar con Vertex AI.
  • La API REST es una alternativa eficaz, sobre todo cuando se requiere interoperabilidad entre las capas del sistema. Es útil para herramientas en idiomas que no tienen un SDK o cuando necesitas un control preciso.

Usa APIs para aislar módulos y abstraer los detalles de implementación

Para garantizar la seguridad, la escalabilidad y la visibilidad, es fundamental que implementes una gestión de APIs sólida para tus servicios de IA y aprendizaje automático. Para implementar la gestión de APIs en tus interfaces definidas, usa los siguientes productos:

  • API Gateway: En el caso de las APIs que se exponen y gestionan externamente, API Gateway proporciona un punto de entrada centralizado y seguro. Simplifica el acceso a servicios de backend sin servidor, como las APIs de predicción, entrenamiento y datos. API Gateway ayuda a consolidar los puntos de acceso, aplicar contratos de API y gestionar funciones de seguridad, como claves de API y OAuth 2.0. Para proteger los backends frente a la sobrecarga y garantizar la fiabilidad, implementa límites de frecuencia y cuotas de uso en API Gateway.
  • Cloud Endpoints: para simplificar el desarrollo y el despliegue de APIs en GKE y Cloud Run, usa Cloud Endpoints, que ofrece una solución sencilla para desarrolladores para generar claves de API. También proporciona monitorización y seguimiento integrados para las llamadas a la API y automatiza la generación de especificaciones de OpenAPI, lo que simplifica la documentación y la integración de clientes. Puedes usar Cloud Endpoints para gestionar el acceso a APIs de IA y aprendizaje automático internas o controladas, como las que se usan para activar el entrenamiento y gestionar almacenes de características.
  • Apigee: Para la IA y el aprendizaje automático a escala empresarial, especialmente las APIs de IA generativa sofisticadas, Apigee ofrece una gestión de APIs avanzada y completa. Usa Apigee para disfrutar de seguridad avanzada, como protección contra amenazas y OAuth 2.0, para gestionar el tráfico (por ejemplo, con almacenamiento en caché, cuotas y mediación) y para obtener analíticas. Apigee puede ayudarte a obtener información valiosa sobre los patrones de uso, el rendimiento y la interacción de las APIs, lo que es fundamental para comprender el uso de las APIs de IA generativa.

Planificar la degradación gradual

En los sistemas de IA y aprendizaje automático de producción, los fallos de los componentes son inevitables, al igual que en otros sistemas. La degradación gradual asegura que las funciones esenciales sigan funcionando, aunque puede que con un rendimiento reducido. Este enfoque evita las interrupciones completas y mejora la disponibilidad general. La degradación gradual es fundamental para la inferencia sensible a la latencia, el entrenamiento distribuido y la IA generativa.

En las siguientes secciones se describen las técnicas que se usan para planificar e implementar la degradación elegante.

Aislamiento de fallos

  • Para aislar los componentes defectuosos en arquitecturas distribuidas, implementa el patrón de interruptor automático mediante bibliotecas de resiliencia, como Resilience4j en Java y CircuitBreaker en Python.
  • Para evitar fallos en cascada, configura umbrales basados en métricas de carga de trabajo de IA y aprendizaje automático, como las tasas de error y la latencia, y define alternativas, como modelos más sencillos y datos almacenados en caché.

Redundancia de componentes

En el caso de los componentes críticos, implementa la redundancia y la conmutación por error automática. Por ejemplo, usa clústeres multizona o regionales de GKE y despliega servicios de Cloud Run de forma redundante en diferentes regiones. Para enrutar el tráfico a instancias en buen estado cuando se detecten instancias en mal estado, usa Cloud Load Balancing.

Asegúrate de que los datos tengan redundancia usando segmentos multirregionales de Cloud Storage. En el entrenamiento distribuido, implementa la creación de puntos de control asíncrona para reanudar el entrenamiento después de errores. Para disfrutar de un entrenamiento flexible y resistente, usa Pathways.

Monitorización proactiva

La degradación controlada ayuda a asegurar la disponibilidad del sistema durante los fallos, pero también debes implementar medidas proactivas para realizar comprobaciones continuas del estado y una monitorización exhaustiva. Recoge métricas específicas de la IA y el aprendizaje automático, como la latencia, el rendimiento y la utilización de la GPU. También puedes recoger métricas de degradación del rendimiento de los modelos, como la deriva de modelos y datos, mediante Cloud Monitoring y Vertex AI Model Monitoring.

Las comprobaciones de estado pueden provocar la necesidad de sustituir nodos defectuosos, desplegar más capacidad o activar automáticamente el reentrenamiento o el ajuste continuo de las canalizaciones que usan datos actualizados. Este enfoque proactivo ayuda a evitar tanto la degradación basada en la precisión como la degradación gradual a nivel del sistema, y contribuye a mejorar la fiabilidad general.

Prácticas de SRE

Para monitorizar el estado de tus sistemas, te recomendamos que adoptes prácticas de SRE para implementar objetivos de nivel de servicio. Las alertas sobre la pérdida del presupuesto de errores y la velocidad de gasto pueden ser indicadores tempranos de problemas de fiabilidad del sistema. Para obtener más información sobre las prácticas de SRE, consulta el libro de SRE de Google.

Crear una plataforma de MLOps integral y automatizada

Un sistema de IA y aprendizaje automático sólido, escalable y fiable requiere una plataforma de MLOps integral y automatizada para el ciclo de vida del desarrollo de modelos. Google CloudEl ciclo de vida del desarrollo incluye la gestión inicial de los datos, el entrenamiento continuo de los modelos, el despliegue y la monitorización en producción. Al automatizar estas fases en Google Cloud, se establecen procesos repetibles, se reduce el trabajo manual, se minimizan los errores y se acelera el ritmo de innovación.

Una plataforma de MLOps automatizada es esencial para establecer una fiabilidad de nivel de producción en tus aplicaciones. La automatización ayuda a asegurar la calidad de los modelos, garantizar la reproducibilidad y permitir la integración y la entrega continuas de artefactos de IA y aprendizaje automático.

Para crear una plataforma de MLOps integral y automatizada, ten en cuenta las siguientes recomendaciones.

Automatizar el ciclo de vida del desarrollo de modelos

Un elemento fundamental de una plataforma de MLOps automatizada es la orquestación de todo el flujo de trabajo de IA y aprendizaje automático como una serie de pasos conectados y automatizados: desde la preparación y la validación de los datos hasta el entrenamiento, la evaluación, el despliegue y la monitorización de los modelos.

  • Usa Vertex AI Pipelines como orquestador central:
    • Define flujos de trabajo integrales con componentes modulares para el procesamiento, el entrenamiento, la evaluación y la implementación de datos.
    • Automatiza las ejecuciones de la canalización mediante programaciones o activadores, como datos nuevos o cambios de código.
    • Implementa la parametrización y el control de versiones automatizados para cada ejecución de la canalización y crea un historial de versiones.
    • Monitoriza el progreso de las canalizaciones y el uso de recursos mediante el registro y el trazado integrados, y utiliza las alertas de Cloud Monitoring.
  • Define tus flujos de procesamiento de aprendizaje automático de forma programática mediante el SDK de Kubeflow Pipelines (KFP) o el SDK de TensorFlow Extended. Para obtener más información, consulta Interfaces de Vertex AI Pipelines.
  • Orquesta las operaciones mediante servicios como Google Cloud Dataflow, entrenamiento personalizado de Vertex AI, registro de modelos de Vertex AI y endpoints de Vertex AI.
  • En los flujos de trabajo de IA generativa, coordina los pasos para la gestión de peticiones, la inferencia por lotes, la evaluación de la intervención humana (HITL) y la coordinación de los componentes del ADK.

Gestionar la infraestructura como código

La infraestructura como código (IaC) es fundamental para gestionar la infraestructura de los sistemas de IA y aprendizaje automático, así como para permitir implementaciones reproducibles, escalables y fáciles de mantener. Las necesidades de infraestructura de los sistemas de IA y aprendizaje automático son dinámicas y complejas. Los sistemas suelen requerir hardware especializado, como GPUs y TPUs. La IaC ayuda a mitigar los riesgos de la gestión manual de la infraestructura, ya que garantiza la coherencia, permite restauraciones y hace que las implementaciones sean repetibles.

Para gestionar de forma eficaz los recursos de tu infraestructura como código, utiliza las siguientes técnicas.

Automatizar el aprovisionamiento de recursos

Para gestionar de forma eficaz la IaC en Google Cloud, define y aprovisiona tus recursos de infraestructura de IA y aprendizaje automático con Terraform. La infraestructura puede incluir recursos como los siguientes:

  • Clústeres de GKE configurados con grupos de nodos. Los grupos de nodos se pueden optimizar en función de los requisitos de la carga de trabajo. Por ejemplo, puedes usar GPUs A100, H100, H200 o B200 para el entrenamiento y GPUs L4 para la inferencia.
  • Endpoints de Vertex AI configurados para servir modelos, con tipos de máquina y políticas de escalado definidos.
  • Segmentos de Cloud Storage para datos y artefactos.

Usar plantillas de configuración

Organiza tus configuraciones de Terraform como plantillas modulares. Para acelerar el aprovisionamiento de recursos de IA y AA, puedes usar Cluster Toolkit. El kit de herramientas proporciona planos de ejemplo, que son plantillas de Terraform seleccionadas por Google que puedes usar para desplegar clústeres de HPC, IA y AA listos para usar en Slurm o GKE. Puedes personalizar el código de Terraform y gestionarlo en tu sistema de control de versiones. Para automatizar el flujo de trabajo de aprovisionamiento y actualización de recursos, puedes integrar el código en tus flujos de procesamiento de CI/CD mediante Cloud Build.

Automatizar los cambios de configuración

Una vez que haya aprovisionado su infraestructura, gestione los cambios de configuración de forma declarativa:

  • En entornos centrados en Kubernetes, gestiona tus Google Cloud recursos como objetos de Kubernetes mediante Config Connector.
  • Define y gestiona recursos de Vertex AI, como conjuntos de datos, modelos y endpoints, instancias de Cloud SQL, temas de Pub/Sub y segmentos de Cloud Storage, mediante manifiestos YAML.
  • Despliega los manifiestos en tu clúster de GKE para integrar la configuración de la aplicación y la infraestructura.
  • Automatiza las actualizaciones de configuración mediante flujos de procesamiento de CI/CD y usa plantillas para gestionar las diferencias entre entornos.
  • Implementa configuraciones para políticas de Gestión de Identidades y Accesos (IAM) y cuentas de servicio mediante IaC.

Integración con CI/CD

  • Automatiza el ciclo de vida de los recursos de Google Cloud infraestructura integrando IaC en las canalizaciones de CI/CD mediante herramientas como Cloud Build e Infrastructure Manager.
  • Define activadores para las actualizaciones automáticas en las confirmaciones de código.
  • Implementa pruebas y validaciones automatizadas en la canalización. Por ejemplo, puedes crear una secuencia de comandos para ejecutar automáticamente los comandos de Terraform validate y plan.
  • Almacena las configuraciones como artefactos y habilita el control de versiones.
  • Define entornos independientes, como desarrollo, preproducción y producción, con configuraciones distintas en el control de versiones y automatiza la promoción de entornos.

Validar el comportamiento del modelo

Para mantener la precisión y la relevancia de los modelos a lo largo del tiempo, automatiza el proceso de entrenamiento y evaluación en tu plataforma de MLOps. Esta automatización, junto con una validación rigurosa, ayuda a asegurar que los modelos se comporten como se espera con los datos pertinentes antes de implementarse en producción.

  • Configurar pipelines de entrenamiento continuo que se activen con datos nuevos y señales de monitorización, como la deriva de datos, o que se ejecuten según una programación.
    • Para gestionar los trabajos de entrenamiento automatizados, como las pruebas de ajuste de hiperparámetros y las configuraciones de entrenamiento distribuido para modelos más grandes, usa el entrenamiento personalizado de Vertex AI.
    • Para ajustar modelos básicos, automatiza el proceso de ajuste e integra las tareas en tus pipelines.
  • Implementa el control de versiones de modelos automatizado y almacena de forma segura los artefactos de modelos entrenados después de cada ronda de entrenamiento realizada correctamente. Puedes almacenar los artefactos en Cloud Storage o registrarlos en Model Registry.
  • Define métricas de evaluación y establece umbrales claros, como la precisión mínima, la tasa de error máxima y la puntuación F1 mínima.
    • Asegúrate de que un modelo cumpla los umbrales para superar automáticamente la evaluación y se tenga en cuenta para la implementación.
    • Automatiza la evaluación usando servicios como la evaluación de modelos en Vertex AI.
    • Asegúrate de que la evaluación incluya métricas específicas de la calidad de los resultados generados, la precisión de los datos, los atributos de seguridad y el cumplimiento del estilo o formato especificados.
  • Para registrar y monitorizar automáticamente los parámetros, las versiones de código, las versiones del conjunto de datos y los resultados de cada ejecución de entrenamiento y evaluación, usa Vertex AI Experiments. Este enfoque proporciona un historial útil para hacer comparaciones, depurar y reproducir.
  • Para optimizar el ajuste de hiperparámetros y automatizar la búsqueda de configuraciones de modelos óptimas en función del objetivo definido, usa Vertex AI Vizier.
  • Para visualizar las métricas de entrenamiento y depurar durante el desarrollo, usa Vertex AI TensorBoard.

Validar las entradas y salidas de las canalizaciones de IA y aprendizaje automático

Para garantizar la fiabilidad y la integridad de tus sistemas de IA y aprendizaje automático, debes validar los datos cuando entran en los sistemas y se mueven por las canalizaciones. También debes verificar las entradas y salidas en los límites de los componentes. Una validación sólida de todas las entradas y salidas (datos sin procesar, datos procesados, configuraciones, argumentos y archivos) ayuda a evitar comportamientos inesperados y a mantener la calidad del modelo durante todo el ciclo de vida de MLOps. Si integras este enfoque proactivo en tu plataforma de MLOps, podrás detectar errores antes de que se propaguen por todo el sistema, lo que te permitirá ahorrar tiempo y recursos.

Para validar de forma eficaz las entradas y salidas de tus canalizaciones de IA y aprendizaje automático, usa las siguientes técnicas.

Automatizar la validación de datos

  • Implementa la validación de datos automatizada en tus flujos de procesamiento de ingestión y preprocesamiento de datos mediante TensorFlow Data Validation (TFDV).
    • Para realizar comprobaciones de calidad de datos a gran escala basadas en SQL, aprovecha los servicios de procesamiento escalables, como BigQuery.
    • Para realizar validaciones complejas y programáticas en datos de streaming o por lotes, usa Dataflow.
  • Monitoriza las distribuciones de datos a lo largo del tiempo con las funciones de TFDV.
    • Visualiza las tendencias con herramientas integradas en Cloud Monitoring para detectar la deriva de los datos. Puedes activar automáticamente las canalizaciones de reentrenamiento de modelos cuando los patrones de datos cambien significativamente.
  • Almacena los resultados de la validación y las métricas en BigQuery para analizarlos y hacer un seguimiento histórico, y archiva los artefactos de validación en Cloud Storage.

Validar las configuraciones de la canalización y los datos de entrada

Para evitar fallos en la canalización o comportamientos inesperados causados por ajustes incorrectos, implementa una validación estricta para todas las configuraciones de la canalización y los argumentos de línea de comandos:

  • Define esquemas claros para tus archivos de configuración, como YAML o JSON, usando bibliotecas de validación de esquemas, como jsonschema para Python. Valida los objetos de configuración con estos esquemas antes de que se inicie una ejecución de la canalización y antes de que se ejecute un componente.
  • Implementa la validación de entrada para todos los argumentos de línea de comandos y parámetros de la canalización mediante bibliotecas de análisis de argumentos, como argparse. La validación debe comprobar que los tipos de datos sean correctos, que los valores sean válidos y que los argumentos sean obligatorios.
  • En Vertex AI Pipelines, define los tipos y las propiedades esperados de los parámetros de los componentes mediante las funciones de validación de entrada de componentes integradas.
  • Para asegurar la reproducibilidad de las ejecuciones de la canalización y mantener un registro de auditoría, almacena los archivos de configuración validados y versionados en Cloud Storage o Artifact Registry.

Validar archivos de entrada y salida

Valida los archivos de entrada y salida, como los conjuntos de datos, los artefactos de modelos y los informes de evaluación, para comprobar su integridad y que el formato sea correcto:

  • Valida formatos de archivo como CSV, Parquet y tipos de imagen mediante bibliotecas.
  • En el caso de archivos grandes o artefactos críticos, valida los tamaños de los archivos y las sumas de comprobación para detectar si están dañados o si las transferencias están incompletas. Para ello, usa la validación de datos y la detección de cambios de Cloud Storage.
  • Valida los archivos mediante Cloud Run functions (por ejemplo, en función de los eventos de subida de archivos) o en las pipelines de Dataflow.
  • Almacena los resultados de la validación en BigQuery para facilitar la recuperación y el análisis.

Automatizar la implementación y aplicar la monitorización continua

El despliegue automatizado y la monitorización continua de los modelos en producción ayudan a garantizar la fiabilidad, realizar actualizaciones rápidas y detectar problemas rápidamente. Esto implica gestionar versiones de modelos, controlar la implementación, automatizar la implementación mediante CI/CD y monitorizar de forma exhaustiva, tal como se describe en las siguientes secciones.

Gestionar versiones de modelos

Gestiona las iteraciones de modelos y los artefactos asociados mediante herramientas de control de versiones:

  • Para hacer un seguimiento de las versiones y los metadatos de los modelos, así como para vincularlos a los artefactos del modelo subyacente, usa Model Registry.
  • Implementa un esquema de control de versiones claro (por ejemplo, el control de versiones semántico). En cada versión del modelo, adjunta metadatos completos, como parámetros de entrenamiento, métricas de evaluación de las canalizaciones de validación y la versión del conjunto de datos.
  • Almacena artefactos de modelos, como archivos de modelos, pesos preentrenados e imágenes de contenedores de servicio, en Artifact Registry y usa sus funciones de control de versiones y etiquetado.
  • Para cumplir los requisitos de seguridad y gobernanza, define políticas de control de acceso estrictas para Model Registry y Artifact Registry.
  • Para registrar y gestionar versiones de forma automática, así como para integrar versiones en flujos de procesamiento de CI/CD automatizados, usa el SDK o la API de Vertex AI.

Realizar una implementación controlada

Controla el despliegue de versiones de modelos en endpoints mediante las funciones de gestión del tráfico de tu plataforma de servicio.

  • Implementa un despliegue gradual mediante la función de división del tráfico de los endpoints de Vertex AI.
  • Si despliega su modelo en GKE, utilice técnicas avanzadas de gestión del tráfico, como el despliegue canary:
    1. Dirige un pequeño subconjunto del tráfico de producción a una nueva versión del modelo.
    2. Monitoriza continuamente el rendimiento y las tasas de errores mediante métricas.
    3. Demuestra que el modelo es fiable.
    4. Implementa la versión en todo el tráfico.
  • Realiza pruebas A/B de agentes de IA:
    1. Despliega dos versiones diferentes de un modelo-agente o modelos completamente distintos en el mismo endpoint.
    2. Dividir el tráfico entre los despliegues.
    3. Analiza los resultados en función de los objetivos de negocio.
  • Implementa mecanismos de reversión automatizados que puedan restaurar rápidamente el tráfico de los endpoints a una versión estable anterior del modelo si se activan alertas de monitorización o no se alcanzan los umbrales de rendimiento.
  • Configura la división del tráfico y los ajustes de implementación de forma programática mediante el SDK o la API de Vertex AI.
  • Usa Cloud Monitoring para monitorizar el rendimiento y el tráfico de las versiones.
  • Automatiza la implementación con flujos de procesamiento de CI/CD. Puedes usar Cloud Build para compilar contenedores, crear versiones de artefactos y activar el despliegue en endpoints de Vertex AI.
  • Asegúrate de que los flujos de procesamiento de CI/CD gestionen las versiones y extraigan datos de Artifact Registry.
  • Antes de cambiar el tráfico, realiza pruebas automatizadas de los endpoints para comprobar la exactitud de las predicciones, la latencia, el rendimiento y la función de la API.
  • Almacena todas las configuraciones en el control de versiones.

Monitorizar continuamente

  • Usa Model Monitoring para detectar automáticamente la degradación del rendimiento, la deriva de los datos (cambios en la distribución de las entradas en comparación con el entrenamiento) y la deriva de las predicciones (cambios en las salidas del modelo).
    • Configura tareas de detección de desviaciones con umbrales y alertas.
    • Monitoriza el rendimiento en tiempo real: latencia de las predicciones, rendimiento y tasas de error.
  • Define métricas personalizadas en Cloud Monitoring para los KPIs de tu empresa.
  • Integra los resultados de Model Monitoring y las métricas personalizadas con Cloud Monitoring para recibir alertas y crear paneles de control.
  • Configura canales de notificación, como correo electrónico, Slack o PagerDuty, y configura la corrección automatizada.
  • Para depurar los registros de predicción, usa Cloud Logging.
  • Integra la monitorización con la gestión de incidentes.

En el caso de los endpoints de IA generativa, monitoriza las características de los resultados, como la toxicidad y la coherencia:

  • Monitoriza el servicio de características para detectar la deriva.
  • Implementa una validación de predicciones granular: valida los resultados con respecto a los intervalos y formatos esperados mediante una lógica personalizada.
  • Monitoriza las distribuciones de predicciones para detectar cambios.
  • Valida el esquema de salida.
  • Configura alertas para salidas y cambios inesperados.
  • Monitoriza y responde a eventos de validación en tiempo real con Pub/Sub.

Asegúrate de que los resultados de la monitorización exhaustiva se incluyan en el entrenamiento continuo.

Mantener la confianza y el control mediante el gobierno de los datos y los modelos

La fiabilidad de la IA y el aprendizaje automático va más allá del tiempo de actividad técnica. Incluye confianza y una gestión sólida de los datos y los modelos. Los resultados generados por IA pueden ser inexactos, estar sesgados o estar desactualizados. Estos problemas minan la confianza y pueden causar daños. La trazabilidad completa, el control de acceso estricto, la validación automatizada y las prácticas transparentes ayudan a asegurar que los resultados de la IA sean fiables, dignos de confianza y cumplan los estándares éticos.

Para mantener la confianza y el control mediante el gobierno de los datos y los modelos, ten en cuenta las siguientes recomendaciones.

Establecer catálogos de datos y modelos para la trazabilidad

Para facilitar la trazabilidad, la auditoría y la comprensión del linaje de tus recursos de IA y aprendizaje automático, mantén un registro sólido y centralizado de las versiones de datos y modelos a lo largo de su ciclo de vida. Un catálogo de datos y modelos fiable actúa como única fuente de información veraz para todos los artefactos que usan y producen tus pipelines de IA y aprendizaje automático, desde fuentes de datos sin procesar y conjuntos de datos procesados hasta versiones de modelos entrenados y endpoints desplegados.

Utilice los siguientes productos, herramientas y técnicas para crear y mantener catálogos de sus recursos de datos:

  • Crea un catálogo de tus recursos de datos en toda la empresa con Dataplex Universal Catalog. Para descubrir y crear automáticamente inventarios de los recursos de datos, integra Dataplex Universal Catalog con tus sistemas de almacenamiento, como BigQuery, Cloud Storage y Pub/Sub.
  • Asegúrate de que tus datos tengan una alta disponibilidad y durabilidad almacenándolos en segmentos multirregionales o de dos regiones de Cloud Storage. Los datos que subas a estos contenedores se almacenan de forma redundante en al menos dos ubicaciones geográficas distintas. Esta redundancia proporciona una resiliencia integrada frente a las interrupciones regionales y ayuda a garantizar la integridad de los datos.
  • Etiqueta y anota tus conjuntos de datos con metadatos empresariales relevantes, información sobre la propiedad, niveles de sensibilidad y detalles del linaje. Por ejemplo, vincular un conjunto de datos procesado a su fuente sin procesar y a la canalización que creó el conjunto de datos.
  • Crea un repositorio central para las versiones de modelos con Registro de modelos. Registre cada versión del modelo entrenado y vincúlela a los metadatos asociados. Los metadatos pueden incluir lo siguiente:
    • Parámetros de entrenamiento.
    • Métricas de evaluación de las canalizaciones de validación.
    • Versión del conjunto de datos que se ha usado para el entrenamiento, con el linaje rastreado hasta la entrada de Dataplex Universal Catalog correspondiente.
    • Versión del código que ha generado el conjunto de datos.
    • Detalles sobre el framework o el modelo fundacional que se ha usado.
  • Antes de importar un modelo en Model Registry, almacena los artefactos del modelo, como los archivos del modelo y los pesos preentrenados, en un servicio como Cloud Storage. Almacena imágenes de contenedor personalizadas para tareas de servicio o de entrenamiento personalizadas en un repositorio seguro como Artifact Registry.
  • Para asegurarte de que los datos y los recursos del modelo se registren y actualicen automáticamente en los catálogos correspondientes cuando se creen o modifiquen, implementa procesos automatizados en tus flujos de trabajo de MLOps. Este catálogo completo proporciona una trazabilidad integral desde los datos sin procesar hasta la predicción, lo que le permite auditar las entradas y los procesos que han llevado a una versión o predicción específicas del modelo. La función de auditoría es fundamental para depurar comportamientos inesperados, asegurar el cumplimiento de las políticas de uso de datos y comprender el impacto de los cambios en los datos o modelos a lo largo del tiempo.
  • En el caso de la IA generativa y los modelos fundacionales, tu catálogo también debe registrar detalles sobre el modelo fundacional específico utilizado, los parámetros de ajuste y los resultados de la evaluación que sean específicos de la calidad y la seguridad del resultado generado.

Implementar controles de acceso y registros de auditoría sólidos

Para mantener la confianza y el control en tus sistemas de IA y aprendizaje automático, es fundamental que protejas los datos y los modelos sensibles frente a accesos no autorizados y que asegures la rendición de cuentas de todos los cambios.

  • Implementa controles de acceso estrictos y mantén registros de auditoría detallados en todos los componentes de tus sistemas de IA y aprendizaje automático en Google Cloud.
  • Define permisos granulares en Gestión de Identidades y Accesos para usuarios, grupos y cuentas de servicio que interactúen con tus recursos de IA y aprendizaje automático.
  • Sigue el principio de mínimos accesos de forma rigurosa.
  • Concede solo los permisos mínimos necesarios para tareas específicas. Por ejemplo, una cuenta de servicio de entrenamiento necesita acceso de lectura a los datos de entrenamiento y acceso de escritura a los artefactos del modelo, pero es posible que el servicio no necesite acceso de escritura a los endpoints de servicio de producción.

Aplica las políticas de gestión de identidades y accesos de forma coherente en todos los recursos y elementos pertinentes de tus sistemas de IA y aprendizaje automático, incluidos los siguientes:

  • Segmentos de Cloud Storage que contienen datos sensibles o artefactos de modelos.
  • Conjuntos de datos de BigQuery.
  • Recursos de Vertex AI, como repositorios de modelos, endpoints, pipelines y recursos de Feature Store.
  • Recursos de computación, como clústeres de GKE y servicios de Cloud Run.

Usa la auditoría y los registros para registrar, monitorizar y analizar la actividad de acceso:

  • Habilita los registros de auditoría de Cloud en todos los Google Cloud servicios que utilice tu sistema de IA y aprendizaje automático.
  • Configura los registros de auditoría para registrar información detallada sobre las llamadas a la API, los eventos de acceso a datos y los cambios de configuración realizados en tus recursos. Monitoriza los registros para detectar actividad sospechosa, intentos de acceso no autorizados o modificaciones inesperadas en datos críticos o recursos del modelo.
  • Para realizar análisis, alertas y visualizaciones en tiempo real, transmite los registros de auditoría a Cloud Logging.
  • Para almacenar datos a largo plazo de forma rentable y realizar análisis de seguridad retrospectivos o auditorías de cumplimiento, exporta los registros a BigQuery.
  • Para centralizar la monitorización de la seguridad, integra los registros de auditoría con tus sistemas de gestión de eventos y de información de seguridad (SIEM). Revisa periódicamente las políticas de acceso y los registros de auditoría para asegurarte de que se ajustan a tus requisitos de gobernanza y detectar posibles infracciones de las políticas.
  • En el caso de las aplicaciones que gestionan datos sensibles, como la información personal identificable (IPI) para el entrenamiento o la inferencia, utiliza las comprobaciones de Protección de Datos Sensibles en las canalizaciones o en el almacenamiento de datos.
  • En el caso de las soluciones de IA generativa y de agentes, usa los registros de auditoría para hacer un seguimiento de quién ha accedido a modelos o herramientas específicos, qué datos se han usado para el ajuste o las peticiones, y qué consultas se han enviado a los endpoints de producción. Los registros de auditoría te ayudan a asegurar la rendición de cuentas y te proporcionan datos cruciales para investigar el uso inadecuado de los datos o las infracciones de las políticas.

Abordar los sesgos, la transparencia y la explicabilidad

Para crear sistemas de IA y aprendizaje automático fiables, debes abordar los posibles sesgos inherentes a los datos y los modelos, esforzarte por lograr la transparencia en el comportamiento del sistema y proporcionar explicaciones de los resultados del modelo. Es especialmente importante crear sistemas fiables en ámbitos sensibles o cuando se usan modelos complejos, como los que se suelen utilizar en aplicaciones de IA generativa.

  • Implementa prácticas proactivas para identificar y mitigar los sesgos a lo largo del ciclo de vida de MLOps.
  • Analiza los datos de entrenamiento para detectar sesgos mediante herramientas que detecten desviaciones en las distribuciones de las características en diferentes grupos demográficos o atributos sensibles.
  • Evalúa el rendimiento general del modelo y el rendimiento de las porciones de datos predefinidas. Esta evaluación te ayuda a identificar el rendimiento dispar o los sesgos que afectan a subgrupos específicos.

Para que los modelos sean transparentes y explicables, usa herramientas que ayuden a los usuarios y a los desarrolladores a entender por qué un modelo ha hecho una predicción concreta o ha generado un resultado específico.

  • En el caso de los modelos tabulares que se despliegan en endpoints de Vertex AI, genera atribuciones de funciones con Vertex Explainable AI. Las atribuciones de características indican las características de entrada que más han contribuido a la predicción.
  • Explora de forma interactiva el comportamiento de los modelos y los posibles sesgos de un conjunto de datos mediante herramientas independientes del modelo, como la herramienta de hipótesis, que se integra con TensorBoard.
  • Integra la interpretabilidad en tus paneles de control de monitorización. En situaciones en las que es importante entender el razonamiento del modelo para generar confianza o tomar decisiones, proporciona datos de explicabilidad directamente a los usuarios finales a través de las interfaces de tu aplicación.
  • En el caso de los modelos complejos, como los LLMs que se usan en los modelos de IA generativa, explica el proceso que ha seguido un agente, por ejemplo, mediante registros de seguimiento. La interpretabilidad es relativamente difícil en estos modelos, pero sigue siendo fundamental.
  • En las aplicaciones de RAG, proporciona citas de la información obtenida. También puedes usar técnicas como la ingeniería de peticiones para guiar al modelo y que te proporcione explicaciones o muestre los pasos de su razonamiento.
  • Detecta cambios en el comportamiento o en los resultados del modelo que puedan indicar que están surgiendo sesgos o injusticias. Para ello, implementa una monitorización continua en producción. Documenta las limitaciones del modelo, los casos prácticos previstos y los posibles sesgos conocidos como parte de los metadatos del modelo en el registro de modelos.

Implementar prácticas integrales de observabilidad y fiabilidad de la IA y el aprendizaje automático

La observabilidad integral es fundamental para gestionar sistemas complejos de IA y aprendizaje automático en producción. También es esencial para medir la fiabilidad de los sistemas complejos de IA y aprendizaje automático, especialmente en el caso de la IA generativa, debido a su complejidad, a la intensidad de los recursos y a la posibilidad de que genere resultados impredecibles. La observabilidad integral implica observar la infraestructura, el código de la aplicación, los datos y el comportamiento del modelo para obtener información valiosa que permita detectar, diagnosticar y responder a los problemas de forma proactiva. Esta observabilidad lleva a sistemas fiables y de alto rendimiento. Para conseguir una observabilidad integral, debes hacer lo siguiente:

  • Adopta los principios de SRE.
  • Define objetivos de fiabilidad claros.
  • Monitoriza métricas en las distintas capas del sistema.
  • Usa las estadísticas de observabilidad para mejorar continuamente y gestionar de forma proactiva.

Para implementar prácticas de observabilidad y fiabilidad integrales en cargas de trabajo de IA y aprendizaje automático en Google Cloud, ten en cuenta las siguientes recomendaciones.

Establecer objetivos de fiabilidad y métricas empresariales

Identifica los indicadores clave de rendimiento (KPIs) que afectan directamente a tu sistema de IA y aprendizaje automático. Entre los KPIs se pueden incluir los ingresos influidos por las recomendaciones de la IA, la pérdida de clientes que los sistemas de IA han predicho o mitigado, y las tasas de conversión y de interacción de los usuarios que se han conseguido gracias a las funciones de IA generativa.

En el caso de cada KPI, define las métricas de fiabilidad técnica correspondientes que afecten al KPI. Por ejemplo, si el KPI es "satisfacción del cliente con un asistente de IA conversacional", las métricas de fiabilidad correspondientes pueden incluir las siguientes:

  • El porcentaje de solicitudes de los usuarios que se han completado correctamente.
  • La latencia de las respuestas: tiempo hasta el primer token (TTFT) y streaming de tokens para los LLMs.
  • La tasa de respuestas irrelevantes o dañinas.
  • El porcentaje de tareas que el agente ha completado correctamente.

En el caso del entrenamiento de IA y AA, las métricas de fiabilidad pueden incluir la utilización de FLOPS del modelo (MFU), las iteraciones por segundo, los tokens por segundo y los tokens por dispositivo.

Para medir y mejorar de forma eficaz la fiabilidad de la IA y el AA, empieza por definir objetivos de fiabilidad claros que estén alineados con los objetivos empresariales generales. Adopta el enfoque de SRE definiendo SLOs que cuantifiquen los niveles aceptables de fiabilidad y rendimiento de tus servicios de IA y aprendizaje automático desde la perspectiva de los usuarios. Cuantifica estas métricas de fiabilidad técnica con objetivos de SLO específicos.

Estos son algunos ejemplos de objetivos de SLO:

  • El 99,9% de las llamadas a la API deben devolver una respuesta correcta.
  • La latencia de inferencia del percentil 95 debe ser inferior a 300 ms.
  • El TTFT debe ser inferior a 500 ms en el 99% de las solicitudes.
  • El porcentaje de respuestas dañinas debe ser inferior al 0,1%.

Si los SLOs se ajustan directamente a las necesidades de la empresa, se garantiza que los esfuerzos para mejorar la fiabilidad se centren en el comportamiento más crítico del sistema, que afecta a los usuarios y a la empresa. Este enfoque ayuda a transformar la fiabilidad en una propiedad de ingeniería medible y útil.

Monitorizar el rendimiento de la infraestructura y las aplicaciones

Monitoriza las métricas de infraestructura de todos los recursos que utilizan tus sistemas de IA y aprendizaje automático. Las métricas incluyen el uso del procesador (CPU, GPU y TPU), el uso de memoria, el rendimiento y la latencia de la red, y las E/S de disco. Monitoriza las métricas de los entornos gestionados, como el entrenamiento y el servicio de Vertex AI, y de los recursos autogestionados, como los nodos de GKE y las instancias de Cloud Run.

Monitoriza las cuatro señales de oro de tus aplicaciones de IA y aprendizaje automático:

  • Latencia: tiempo que se tarda en responder a las solicitudes.
  • Tráfico: volumen de solicitudes o carga de trabajo.
  • Tasa de errores: tasa de solicitudes u operaciones fallidas.
  • Saturación: uso de recursos críticos, como CPU, memoria y aceleradores de GPU o TPU, que indica lo cerca que está tu sistema de los límites de capacidad.

Realiza la monitorización con las siguientes técnicas:

  • Recoge, almacena y visualiza las métricas de infraestructura y aplicaciones con Cloud Monitoring. Puedes usar paneles predefinidos para los servicios de Google Cloud y crear paneles personalizados que se adapten a los indicadores de rendimiento y al estado de la infraestructura específicos de tu carga de trabajo.
  • Recoge registros detallados de tus aplicaciones de IA y aprendizaje automático, así como de la infraestructura subyacente, mediante Cloud Logging. Estos registros son esenciales para solucionar problemas y analizar el rendimiento. Proporcionan contexto sobre eventos y errores.
  • Identifica problemas de latencia y comprende los flujos de solicitudes en microservicios de IA y aprendizaje automático distribuidos con Cloud Trace. Esta función es fundamental para depurar interacciones complejas de agentes de Vertex AI o flujos de inferencia de varios componentes.
  • Identifica los cuellos de botella del rendimiento en los bloques de funciones del código de la aplicación con Cloud Profiler. Identificar los cuellos de botella del rendimiento puede ayudarte a optimizar el uso de los recursos y el tiempo de ejecución.
  • Recoge métricas específicas relacionadas con los aceleradores, como el uso detallado de la GPU por proceso, el uso de memoria por proceso y la temperatura, mediante herramientas como NVIDIA Data Center GPU Manager (DCGM).

Implementar la observabilidad de los datos y los modelos

Los sistemas de IA generativa fiables requieren una observabilidad sólida de los datos y los modelos, que empieza con la monitorización integral de la canalización.

  • Monitoriza las tasas de ingestión de datos, los volúmenes procesados y las latencias de transformación mediante servicios como Dataflow.
  • Monitoriza las tasas de éxito y de error de los trabajos en tus flujos de procesamiento de MLOps, incluidos los flujos de procesamiento gestionados por Vertex AI Pipelines.

Es fundamental evaluar continuamente la calidad de los datos.

  • Gestiona y controla los datos con Dataplex Universal Catalog:
    • Evalúa la precisión validando los datos con la verdad fundamental o monitorizando las tasas de detección de valores atípicos.
    • Monitoriza la actualización en función de la antigüedad de los datos y la frecuencia de las actualizaciones en comparación con los acuerdos de nivel de servicio.
    • Evalúa la integridad haciendo un seguimiento de los porcentajes de valores nulos y de las tasas de relleno de los campos obligatorios.
    • Asegura la validez y la coherencia mediante comprobaciones de cumplimiento del esquema y de duplicación.
  • Detecta anomalías de forma proactiva mediante las alertas de Cloud Monitoring y el linaje de datos claro para la trazabilidad.
  • En el caso de los sistemas RAG, analiza la relevancia del contexto obtenido y la fundamentación (atribución a la fuente) de las respuestas.
  • Monitoriza el rendimiento de las consultas de bases de datos vectoriales.

Entre las métricas clave de observabilidad de los modelos se incluyen los recuentos de tokens de entrada y salida, así como las tasas de error específicas de los modelos, como las alucinaciones o los fallos en la resolución de consultas. Para hacer un seguimiento de estas métricas, usa Model Monitoring.

  • Monitoriza continuamente las puntuaciones de toxicidad de los resultados y las valoraciones de los usuarios.
  • Automatiza la evaluación de los resultados de los modelos en función de los criterios definidos mediante el servicio de evaluación de IA generativa.
  • Asegura un rendimiento constante monitorizando sistemáticamente la deriva de datos y de conceptos con métricas de tasa de error completas.

Para monitorizar las métricas del modelo, puedes usar TensorBoard o MLflow. Para realizar análisis y perfilado detallados con el fin de solucionar problemas de rendimiento, puedes usar PyTorch XLA profiling o NVIDIA Nsight.

Colaboradores

Autores:

Otros colaboradores:

  • Filipe Gracio, doctor | Ingeniero de clientes y especialista en IA y aprendizaje automático
  • Hossein Sarshar | Arquitecto de soluciones de campo de infraestructura de IA
  • Jose Andrade | Ingeniero de clientes, especialista en SRE
  • Kumar Dhanagopal | Desarrollador de soluciones entre productos
  • Laura Hyatt | Ingeniera de clientes, FSI
  • Olivier Martin | Arquitecto de soluciones de campo de infraestructura de IA
  • Radhika Kanakam | Responsable del programa Google Cloud Well-Architected Framework

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

En este documento del marco de trabajo Well-Architected: perspectiva de la IA y el aprendizaje automático se ofrece una descripción general de los principios y las recomendaciones para optimizar el coste de los sistemas de IA a lo largo del ciclo de vida del aprendizaje automático. Si tu organización adopta un enfoque de gestión de costes proactivo e informado, podrá aprovechar todo el potencial de los sistemas de IA y aprendizaje automático, así como mantener la disciplina financiera. Las recomendaciones de este documento se ajustan al pilar de optimización de costes del Google Cloud marco de trabajo Well-Architected Google Cloud .

Los sistemas de IA y aprendizaje automático pueden ayudarte a obtener información valiosa y predicciones a partir de los datos. Por ejemplo, puedes reducir las fricciones en los procesos internos, mejorar las experiencias de usuario y obtener información valiosa más detallada sobre los clientes. 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 aprendizaje automático. Para maximizar el valor empresarial y alinear el gasto con tus objetivos de negocio, debes conocer los factores que influyen en los costes, optimizarlos de forma proactiva, configurar controles de gasto y adoptar prácticas de FinOps.

Las recomendaciones de este documento se corresponden con los siguientes principios básicos:

Definir y medir los costes y los ingresos

Para gestionar de forma eficaz los costes de la IA y el AA en Google Cloud, debes definir y medir los costes de los recursos en la nube y el valor empresarial de tus iniciativas de IA y AA. Para ayudarte a monitorizar los gastos de forma granular, Google Cloud proporciona herramientas completas de facturación y gestión de costes, como las siguientes:

  • Informes y tablas de Facturación de Cloud
  • Paneles de control, presupuestos y alertas de Looker Studio
  • Cloud Monitoring
  • Cloud Logging

Para tomar decisiones fundamentadas sobre la asignación y la optimización de recursos, tenga en cuenta las siguientes recomendaciones.

Establecer objetivos de negocio y KPIs

Alinea las decisiones técnicas de tus proyectos de IA y aprendizaje automático con los objetivos empresariales y los indicadores clave de rendimiento.

Define objetivos estratégicos e indicadores clave de rendimiento centrados en el retorno de la inversión

Asegúrate de que los proyectos de IA y aprendizaje automático estén alineados con objetivos estratégicos como el aumento de los ingresos, la reducción de costes, la satisfacción de los clientes y la eficiencia. Colabora con las partes interesadas para conocer las prioridades de la empresa. Define objetivos de IA y aprendizaje automático que sean específicos, medibles, alcanzables, relevantes y con plazos concretos (SMART). Por ejemplo, un objetivo SMART sería: "Reducir el tiempo de gestión de las conversaciones de asistencia al cliente en un 15% en 6 meses mediante un chatbot de IA".

Para avanzar hacia tus objetivos de negocio y medir el retorno de la inversión (ROI), define indicadores clave de rendimiento para las siguientes categorías de métricas:

  • Costes de entrenamiento, inferencia, almacenamiento y recursos de red, incluidos los costes unitarios específicos (como el coste por inferencia, punto de datos o tarea). Estas métricas te ayudan a obtener estadísticas sobre las oportunidades de optimización de costes y eficiencia. Para hacer un seguimiento de estos costes, puedes usar los informes de facturación de Cloud y los paneles de control de Cloud Monitoring.
  • Métricas de valor empresarial, como el crecimiento de los ingresos, el ahorro de costes, la satisfacción de los clientes, la eficiencia, la precisión y la adopción. Puede hacer un seguimiento de estas métricas con analíticas de BigQuery y paneles de control de Looker.
  • Métricas específicas del sector, como las siguientes:

    • Sector comercio minorista: mide el incremento de ingresos y la tasa de abandono
    • Sector sanitario: medir el tiempo y los resultados de los pacientes
    • Sector financiero: medir la reducción del fraude
  • Métricas específicas del proyecto. Puedes hacer un seguimiento de estas métricas con Vertex AI Experiments y la evaluación.

    • IA predictiva: mide la exactitud y la precisión
    • IA generativa: mide la adopción, la satisfacción y la calidad del contenido
    • IA de visión artificial: medir la precisión

Fomentar una cultura de concienciación sobre los costes y optimización continua

Adopta los principios de FinOps para asegurarte de que cada proyecto de IA y aprendizaje automático tenga costes estimados y formas de medir y monitorizar los costes reales a lo largo de su ciclo de vida. Asegúrate de que los costes y las ventajas empresariales de tus proyectos tengan propietarios asignados y responsabilidades claras.

Para obtener más información, consulta el artículo Fomentar una cultura de concienciación sobre los costes de la sección Optimización de costes del Google Cloud marco de trabajo Well-Architected.

Generar valor y optimización continua mediante iteraciones y comentarios

Asigna tus aplicaciones de IA y aprendizaje automático directamente a tus objetivos de negocio y mide el retorno de la inversión.

Para validar tus hipótesis sobre el ROI, empieza con proyectos piloto y sigue este ciclo de optimización iterativo:

  1. Monitoriza continuamente y analiza los datos: monitoriza los KPIs y los costes para identificar desviaciones y oportunidades de optimización.
  2. Hacer ajustes basados en datos: optimizar las estrategias, los modelos, la infraestructura y la asignación de recursos en función de las estadísticas de datos.
  3. Refina de forma iterativa: adapta los objetivos empresariales y los KPIs en función de lo que hayas aprendido y de las necesidades empresariales cambiantes. Esta iteración te ayuda a mantener la relevancia y la alineación estratégica.
  4. Crea un bucle de comentarios: revisa el rendimiento, los costes y el valor con las partes interesadas para optimizar los proyectos en curso y planificar los futuros.

Gestionar datos de facturación con la facturación de Cloud y las etiquetas

Para optimizar los costes de forma eficaz, es necesario conocer la fuente de cada elemento de coste. Las recomendaciones de esta sección pueden ayudarte a usar Google Cloud herramientas para obtener información detallada sobre tus costes de IA y aprendizaje automático. También puedes atribuir costes a proyectos, equipos y actividades específicos de IA y aprendizaje automático. Estas estadísticas sientan las bases para la optimización de costes.

Organizar y etiquetar Google Cloud recursos

  • Estructura tus proyectos y recursos en una jerarquía que refleje tu estructura organizativa y tus flujos de trabajo de IA y aprendizaje automático. Para monitorizar y analizar los costes en diferentes niveles, organiza tus Google Cloud recursos por medio de organizaciones, carpetas y proyectos. Para obtener más información, consulta el artículo Decidir una jerarquía de recursos para tu Google Cloud zona de aterrizaje.
  • Aplica etiquetas significativas a tus recursos. Puede usar etiquetas que indiquen el proyecto, el equipo, el entorno, el nombre del modelo, el conjunto de datos, el caso práctico y los requisitos de rendimiento. Las etiquetas proporcionan un contexto valioso para tus datos de facturación y permiten realizar análisis de costes detallados.
  • Mantén la coherencia en las convenciones de etiquetado en todos tus proyectos de IA y aprendizaje automático. Las convenciones de etiquetado coherentes aseguran que los datos de facturación estén organizados y se puedan analizar fácilmente.
  • Para facilitar el análisis y la generación de informes detallados, exporta los datos de facturación a BigQuery. BigQuery tiene potentes funciones de consulta que te permiten analizar los datos de facturación para comprender tus costes.
  • Para agregar costes por etiquetas, proyectos o periodos específicos, puede escribir consultas de SQL personalizadas en BigQuery. Estas consultas te permiten atribuir costes a actividades específicas de IA y aprendizaje automático, como el entrenamiento de modelos, el ajuste de hiperparámetros o la inferencia.
  • Para identificar anomalías en los costes o picos de gasto inesperados, usa las funciones analíticas de BigQuery. Este enfoque puede ayudarte a detectar posibles problemas o ineficiencias en tus cargas de trabajo de IA y aprendizaje automático.
  • Para identificar y gestionar los costes inesperados, usa el panel de control de detección de anomalías de Facturación de Cloud.
  • Para distribuir los costes entre diferentes equipos o departamentos en función del uso de los recursos, utilice la función de asignación de costes de Google Cloud. La asignación de costes fomenta la responsabilidad y la transparencia.
  • Para obtener información valiosa sobre los patrones de gasto, consulta los informes de Facturación de Cloud prediseñados. Puede filtrar y personalizar estos informes para centrarse en proyectos o servicios específicos de IA y aprendizaje automático.

Monitorizar los recursos de forma continua con paneles de control, alertas e informes

Para crear una forma escalable y resistente de monitorizar los costes, necesitas una monitorización e informes continuos. Los paneles de control, las alertas y los informes son la base para hacer un seguimiento de los costes eficaz. Esta base te permite mantener un acceso constante a la información sobre los costes, identificar áreas de optimización y asegurar que los objetivos de negocio y los costes estén alineados.

Crear un sistema de informes

Crea informes programados y compártelos con las partes interesadas correspondientes.

Usa Cloud Monitoring para recoger métricas de varias fuentes, incluidas tus aplicaciones, tu infraestructura y servicios como Compute Engine, Google Kubernetes Engine (GKE) y las funciones de Cloud Run. Google Cloud Para visualizar métricas y registros en tiempo real, puedes usar el panel de control de Cloud Monitoring precompilado o crear paneles de control personalizados. Los paneles de control personalizados te permiten definir y añadir métricas para monitorizar aspectos específicos de tus sistemas, como el rendimiento de los modelos, las llamadas a la API o los indicadores clave de rendimiento a nivel empresarial.

Usa Cloud Logging para recoger y almacenar de forma centralizada los registros de tus aplicaciones, sistemas y servicios Google Cloud . Usa los registros para los siguientes fines:

  • Monitoriza los costes y el uso de recursos como la CPU, la memoria, el almacenamiento y la red.
  • Identifica los casos de aprovisionamiento excesivo (cuando los recursos no se utilizan por completo) y de aprovisionamiento insuficiente (cuando no hay recursos suficientes). El sobreaprovisionamiento genera costes innecesarios. Si no se asignan suficientes recursos, los tiempos de entrenamiento se ralentizan y pueden producirse problemas de rendimiento.
  • Identifica los recursos inactivos o infrautilizados, como las máquinas virtuales y las GPUs, y toma medidas para cerrarlos o redimensionarlos y, así, optimizar los costes.
  • Identifica los picos de costes para detectar aumentos repentinos e inesperados en el uso de recursos o en los costes.

Usa Looker o Looker Studio para crear paneles de control e informes interactivos. Conecta los paneles de control y los informes a varias fuentes de datos, como BigQuery y Cloud Monitoring.

Definir umbrales de alerta basados en métricas clave

En el caso de tus KPIs, determina los umbrales que deben activar las alertas. Los umbrales de alerta significativos pueden ayudarte a evitar la fatiga de alertas. Crea políticas de alertas en Cloud Monitoring para recibir notificaciones relacionadas con tus KPIs. Por ejemplo, puedes recibir notificaciones cuando la precisión sea inferior a un umbral determinado o cuando la latencia supere un límite definido. Las alertas basadas en datos de registro pueden avisarte de posibles problemas de costes en tiempo real. Estas alertas te permiten tomar medidas correctivas rápidamente y evitar más pérdidas económicas.

Optimizar la asignación de recursos

Para conseguir una buena rentabilidad con tus cargas de trabajo de IA y aprendizaje automático en Google Cloud, debes optimizar la asignación de recursos. Para evitar gastos innecesarios y asegurarte de que tus cargas de trabajo tengan los recursos que necesitan para funcionar de forma óptima, alinea la asignación de recursos con las necesidades de tus cargas de trabajo.

Para optimizar la asignación de recursos de la nube a las cargas de trabajo de IA y aprendizaje automático, ten en cuenta las siguientes recomendaciones.

Usar el autoescalado para ajustar los recursos de forma dinámica

Usa Google Cloud servicios que admitan el autoescalado, que ajusta automáticamente la asignación de recursos para adaptarse a la demanda actual. El autoescalado ofrece las siguientes ventajas:

  • Optimización de costes y rendimiento: no pagas por los recursos inactivos. Al mismo tiempo, el autoescalado asegura que tus sistemas tengan los recursos necesarios para funcionar de forma óptima, incluso en los momentos de mayor carga.
  • Mayor eficiencia: tu equipo puede centrarse en otras tareas.
  • Mayor agilidad: puedes responder rápidamente a los cambios en la demanda y mantener una alta disponibilidad de tus aplicaciones.

En la siguiente tabla se resumen las técnicas que puedes usar para implementar el escalado automático en las diferentes fases de tus proyectos de IA.

Fase Técnicas de autoescalado
Formación
  • Usa servicios gestionados como Vertex AI o GKE, que ofrecen funciones de autoescalado integradas para los trabajos de entrenamiento.
  • Configura políticas de autoescalado para escalar el número de instancias de entrenamiento en función de métricas como el uso de CPU, el uso de memoria y la longitud de la cola de trabajos.
  • Usa métricas de escalado personalizadas para ajustar el comportamiento del autoescalado de tus cargas de trabajo específicas.
Inferencia
  • Despliega tus modelos en plataformas escalables como Vertex AI Inference, GPUs en GKE o TPUs en GKE.
  • Usa las funciones de autoescalado para ajustar el número de réplicas en función de métricas como la tasa de solicitudes, la latencia y el uso de recursos.
  • Implementa el balanceo de carga para distribuir el tráfico de forma uniforme entre las réplicas y garantizar una alta disponibilidad.

Empieza con modelos y conjuntos de datos pequeños

Para reducir los costes, prueba las hipótesis de aprendizaje automático a pequeña escala siempre que sea posible y utiliza un enfoque iterativo. Este enfoque, con modelos y conjuntos de datos más pequeños, ofrece las siguientes ventajas:

  • Reducción de costes desde el principio: al necesitar menos potencia de computación, almacenamiento y tiempo de procesamiento, los costes se reducen durante las fases iniciales de experimentación y desarrollo.
  • Iteración más rápida: se necesita menos tiempo de entrenamiento, lo que te permite iterar más rápido, explorar enfoques alternativos e identificar direcciones prometedoras de forma más eficiente.
  • Menor complejidad: depuración, análisis e interpretación de resultados más sencillos, lo que conlleva ciclos de desarrollo más rápidos.
  • Uso eficiente de los recursos: se reduce la probabilidad de aprovisionar recursos en exceso. Solo aprovisionas los recursos necesarios para la carga de trabajo actual.

Ten en cuenta las siguientes recomendaciones:

  • Usa datos de muestra primero: entrena tus modelos con un subconjunto representativo de tus datos. Este enfoque te permite evaluar el rendimiento del modelo e identificar posibles problemas sin procesar todo el conjunto de datos.
  • Experimenta usando cuadernos: empieza con instancias más pequeñas y escala según sea necesario. Puedes usar Vertex AI Workbench, un entorno de cuaderno de Jupyter gestionado que es adecuado para experimentar con diferentes arquitecturas de modelos y conjuntos de datos.
  • Empieza con modelos más sencillos o preentrenados: usa Vertex AI Model Garden para descubrir y explorar los modelos preentrenados. Estos modelos requieren menos recursos computacionales. Aumenta la complejidad gradualmente según sea necesario en función de los requisitos de rendimiento.

    • Usa modelos preentrenados para tareas como la clasificación de imágenes y el procesamiento del lenguaje natural. Para ahorrar costes de entrenamiento, puedes ajustar los modelos con conjuntos de datos más pequeños al principio.
    • Usa BigQuery ML para datos estructurados. BigQuery ML te permite crear y desplegar modelos directamente en BigQuery. Este enfoque puede ser rentable para las primeras pruebas, ya que puedes aprovechar el modelo de precios de pago por consulta de BigQuery.
  • Escalar para optimizar los recursos: usa la infraestructura flexible de Google Cloudpara escalar los recursos según sea necesario. Empieza con instancias más pequeñas y ajusta su tamaño o número cuando sea necesario.

Descubrir los requisitos de recursos mediante experimentación

Los requisitos de recursos de las cargas de trabajo de IA y aprendizaje automático pueden variar considerablemente. Para optimizar la asignación de recursos y los costes, debes conocer las necesidades específicas de tus cargas de trabajo mediante una experimentación sistemática. Para identificar la configuración más eficiente para tus modelos, prueba diferentes configuraciones y analiza su rendimiento. A continuación, en función de los requisitos, ajusta el tamaño de los recursos que has usado para el entrenamiento y el servicio.

Te recomendamos que sigas este enfoque para hacer experimentos:

  1. Empieza con una configuración de referencia: empieza con una configuración de referencia basada en tus estimaciones iniciales de los requisitos de la carga de trabajo. Para crear una base de referencia, puedes usar el estimador de costes de las cargas de trabajo nuevas o un informe de facturación. Para obtener más información, consulta Descubre el coste real de la IA empresarial en Google Cloud.
  2. Conoce tus cuotas: antes de lanzar experimentos a gran escala, familiarízate con las cuotas de tu Google Cloud proyecto para los recursos y las APIs que vayas a usar. Las cuotas determinan el intervalo de configuraciones que puedes probar de forma realista. Si te familiarizas con las cuotas, podrás trabajar dentro de los límites de recursos disponibles durante la fase de experimentación.
  3. Experimenta de forma sistemática: ajusta parámetros como el número de CPUs, la cantidad de memoria, el número y el tipo de GPUs y TPUs, y la capacidad de almacenamiento. Vertex AI Training y Vertex AI Predictions te permiten experimentar con diferentes tipos de máquinas y configuraciones.
  4. Monitorizar el uso, el coste y el rendimiento: haz un seguimiento del uso de recursos, el coste y las métricas de rendimiento clave, como el tiempo de entrenamiento, la latencia de inferencia y la precisión del modelo, de cada configuración que pruebes.

    • Para monitorizar el uso de recursos y las métricas de rendimiento, puedes usar la consola de Vertex AI.
    • Para recoger y analizar métricas de rendimiento detalladas, usa Cloud Monitoring.
    • Para ver los costes, usa los informes de Facturación de Cloud y los paneles de control de Cloud Monitoring.
    • Para identificar los cuellos de botella del rendimiento de tus modelos y optimizar el uso de los recursos, utiliza herramientas de creación de perfiles como Vertex AI TensorBoard.
  5. Analizar los costes: compara el coste y el rendimiento de cada configuración para identificar la opción más rentable.

  6. Establece umbrales de recursos y objetivos de mejora en función de las cuotas: define umbrales para determinar cuándo el escalado empieza a dar resultados decrecientes en el rendimiento, como una reducción mínima del tiempo de entrenamiento o la latencia por un aumento significativo de los costes. Ten en cuenta las cuotas de proyectos al definir estos umbrales. Determina el punto en el que el coste y las posibles implicaciones de la cuota de un mayor escalado ya no se justifican por las mejoras en el rendimiento.

  7. Refina de forma iterativa: repite el proceso de experimentación con configuraciones refinadas en función de tus resultados. Asegúrate siempre de que el uso de recursos se mantenga dentro de las cuotas asignadas y se ajuste a los umbrales de coste-beneficio establecidos.

Usar MLOps para reducir las ineficiencias

A medida que las organizaciones usan cada vez más el aprendizaje automático para impulsar la innovación y la eficiencia, es fundamental gestionar el ciclo de vida del aprendizaje automático de forma eficaz. Las operaciones de aprendizaje automático (MLOps) son un conjunto de prácticas que automatizan y optimizan el ciclo de vida del aprendizaje automático, desde el desarrollo de modelos hasta el despliegue y la monitorización.

Alinear MLOps con los factores de coste

Para aprovechar las operaciones de aprendizaje automático y reducir costes, identifica los principales factores que influyen en los costes del ciclo de vida del aprendizaje automático. Después, puedes adoptar e implementar prácticas de MLOps que se ajusten a los factores de coste. Prioriza y adopta las funciones de MLOps que aborden los factores de coste más significativos. Este enfoque ayuda a asegurar una transición gestionable y exitosa hacia un ahorro de costes significativo.

Implementar MLOps para optimizar los costes

Estas son algunas prácticas habituales de MLOps que ayudan a reducir los costes:

  • Control de versiones: herramientas como Git pueden ayudarte a hacer un seguimiento de las versiones de código, datos y modelos. El control de versiones asegura la reproducibilidad, facilita la colaboración y evita que se tengan que rehacer trabajos costosos debido a problemas de versiones.
  • Integración y entrega continuas (CI/CD): Cloud Build y Artifact Registry te permiten implementar flujos de procesamiento de CI/CD para automatizar la compilación, las pruebas y el despliegue de tus modelos de aprendizaje automático. Los flujos de procesamiento de CI/CD aseguran un uso eficiente de los recursos y minimizan los costes asociados a las intervenciones manuales.
  • Observabilidad: Cloud Monitoring y Cloud Logging te permiten monitorizar el rendimiento de los modelos en producción, identificar problemas y activar alertas para intervenir de forma proactiva. La observabilidad te permite mantener la precisión del modelo, optimizar la asignación de recursos y evitar costosos periodos de inactividad o degradaciones del rendimiento.
  • Reentrenamiento de modelos: Vertex AI Pipelines simplifica los procesos de reentrenamiento de modelos periódicamente o cuando el rendimiento se reduce. Cuando usas Vertex AI Pipelines para volver a entrenar modelos, te ayuda a asegurarte de que tus modelos sigan siendo precisos y eficientes, lo que puede evitar el consumo innecesario de recursos y mantener un rendimiento óptimo.
  • Pruebas y evaluaciones automatizadas: Vertex AI te ayuda a acelerar y estandarizar la evaluación de modelos. Implementa pruebas automatizadas a lo largo del ciclo de vida del aprendizaje automático para asegurar la calidad y la fiabilidad de tus modelos. Estas pruebas pueden ayudarte a detectar errores en las primeras fases, evitar problemas costosos en producción y reducir la necesidad de realizar pruebas manuales exhaustivas.

Para obtener más información, consulta MLOps: flujos de trabajo de entrega continua y automatización en el aprendizaje automático.

Aplicar prácticas de gestión y gobierno de datos

Las prácticas eficaces de gestión y gobernanza de datos son fundamentales para optimizar los costes. Si los datos están bien organizados, los equipos pueden reutilizar los conjuntos de datos, evitar duplicaciones innecesarias y reducir el esfuerzo necesario para obtener datos de alta calidad. Si gestionas los datos de forma proactiva, puedes reducir los costes de almacenamiento, mejorar la calidad de los datos y asegurarte de que tus modelos de aprendizaje automático se entrenen con los datos más relevantes y valiosos.

Para implementar prácticas de gestión y control de datos, ten en cuenta las siguientes recomendaciones.

Establecer y adoptar un marco de gobierno de datos

La creciente importancia de la IA y el AA ha convertido los datos en el activo más valioso para las organizaciones que están llevando a cabo una transformación digital. Un marco de trabajo sólido para el gobierno de datos es un requisito fundamental para gestionar las cargas de trabajo de IA y aprendizaje automático de forma rentable a gran escala. Un marco de gobierno de datos con políticas, procedimientos y roles claramente definidos proporciona un enfoque estructurado para gestionar los datos a lo largo de su ciclo de vida. Este marco ayuda a mejorar la calidad de los datos, reforzar la seguridad, mejorar la utilización y reducir la redundancia.

Establecer un marco de gobierno de datos

Hay muchos marcos predefinidos para la gestión de datos, como los publicados por el EDM Council, con opciones disponibles para diferentes sectores y tamaños de organización. Elige y adapta un marco que se ajuste a tus necesidades y prioridades específicas.

Implementar el marco de gobierno de datos

Google Cloud proporciona los siguientes servicios y herramientas para ayudarte a implementar un marco de gobierno de datos sólido:

  • Dataplex Universal Catalog es un tejido de datos inteligente que te ayuda a unificar los datos distribuidos y automatizar la gobernanza de datos sin tener que consolidar los conjuntos de datos en un solo lugar. Esto ayuda a reducir el coste de distribuir y mantener los datos, facilita el descubrimiento de datos y fomenta la reutilización.

  • Dataplex Universal Catalog también es un servicio de gestión de metadatos escalable y totalmente gestionado. El catálogo proporciona una base que asegura que los recursos de datos sean accesibles y reutilizables.

    • Los metadatos de las fuentes Google Cloud compatibles se ingieren automáticamente en el catálogo universal. Para las fuentes de datos que no sean de Google Cloud, crea entradas personalizadas.
    • Para mejorar la visibilidad y la gestión de los recursos de datos, enriquece los metadatos técnicos con metadatos empresariales mediante aspectos.
    • Asegúrate de que los científicos de datos y los profesionales del aprendizaje automático tengan permisos suficientes para acceder a Dataplex Universal Catalog y usar la función de búsqueda.
  • BigQuery sharing te permite intercambiar recursos de datos de forma eficiente y segura entre tus organizaciones para abordar los desafíos relacionados con la fiabilidad y el coste de los datos.

    • Configurar intercambios de datos y asegurarse de que los recursos de datos seleccionados se puedan ver como fichas.
    • Usa salas blancas de datos para gestionar de forma segura el acceso a datos sensibles y colaborar de forma eficiente con equipos y organizaciones externos en proyectos de IA y aprendizaje automático.
    • Asegúrate de que los científicos de datos y los profesionales del aprendizaje automático tengan permisos suficientes para ver y publicar conjuntos de datos en el uso compartido de BigQuery.

Reutilizar conjuntos de datos y funciones a lo largo del ciclo de vida del aprendizaje automático

Para obtener ventajas significativas en cuanto a eficiencia y costes, reutiliza conjuntos de datos y funciones en varios proyectos de aprendizaje automático. Si evitas el trabajo redundante de ingeniería de datos y desarrollo de funciones, tu organización puede acelerar el desarrollo de modelos, reducir los costes de infraestructura y liberar recursos valiosos para otras tareas críticas.

Google Cloud proporciona los siguientes servicios y herramientas para ayudarte a reutilizar conjuntos de datos y funciones:

  • Los profesionales de datos y aprendizaje automático pueden publicar productos de datos para maximizar la reutilización en los distintos equipos. Los productos de datos se pueden descubrir y usar a través de Dataplex Universal Catalog y del uso compartido de BigQuery.
  • En el caso de los conjuntos de datos tabulares y estructurados, puedes usar Vertex AI Feature Store para fomentar la reutilización y simplificar la gestión de características mediante BigQuery.
  • Puedes almacenar datos sin estructurar en Cloud Storage y gobernarlos mediante tablas de objetos y URLs firmadas de BigQuery.
  • Puedes gestionar las inserciones de vectores incluyendo metadatos en tus índices de búsqueda de vectores.

Automatizar y optimizar con MLOps

Una de las principales ventajas de adoptar prácticas de MLOps es la reducción de los costes de tecnología y personal. La automatización te ayuda a evitar la duplicación de actividades de aprendizaje automático y a reducir la carga de trabajo de los científicos de datos y los ingenieros de aprendizaje automático.

Para automatizar y optimizar el desarrollo de aprendizaje automático con MLOps, ten en cuenta las siguientes recomendaciones.

Automatizar y estandarizar la recogida y el tratamiento de datos

Para reducir el tiempo y el esfuerzo necesarios para desarrollar modelos de aprendizaje automático, automatiza y estandariza tus tecnologías de recogida y procesamiento de datos.

Automatizar la recogida y el tratamiento de datos

En esta sección se resumen los productos, las herramientas y las técnicas que puedes usar para automatizar la recogida y el tratamiento de datos.

Identifica y elige las fuentes de datos pertinentes para tus tareas de IA y aprendizaje automático:

Elige una herramienta de ingesta para cada una de tus fuentes de datos:

  • Dataflow: para el procesamiento por lotes y en tiempo real de datos de varias fuentes, con integración de componentes de aprendizaje automático. En una arquitectura basada en eventos, puedes combinar Dataflow con Eventarc para procesar datos de forma eficiente para el aprendizaje automático. Para mejorar la eficiencia de las tareas de MLOps y de aprendizaje automático, usa las funciones de GPU y de ajuste adecuado.
  • Funciones de Cloud Run: para la ingestión de datos basada en eventos que se activa por los cambios en las fuentes de datos de las aplicaciones en tiempo real.
  • BigQuery: para la ingestión de datos tabulares clásicos con acceso frecuente.

Elige las herramientas para la transformación y la carga de datos:

  • Usa herramientas como Dataflow o Dataform para automatizar las transformaciones de datos, como el escalado de características, la codificación de variables categóricas y la creación de nuevas características por lotes, en streaming o en tiempo real. Las herramientas que selecciones dependerán de tus requisitos y de los servicios que elijas.
  • Usa Vertex AI Feature Store para automatizar la creación y la gestión de características. Puedes centralizar funciones para reutilizarlas en diferentes modelos y proyectos.

Estandarizar la recogida y el tratamiento de datos

Para descubrir, comprender y gestionar recursos de datos, usa servicios de gestión de metadatos como Dataplex Universal Catalog. Te ayuda a estandarizar las definiciones de datos y a asegurar la coherencia en toda tu organización.

Para aplicar la estandarización y evitar el coste de mantener varias implementaciones personalizadas, usa flujos de procesamiento de entrenamiento y orquestación automatizados. Para obtener más información, consulta la siguiente sección.

Automatizar flujos de procesamiento de entrenamiento y reutilizar recursos

Para aumentar la eficiencia y la productividad en MLOps, los flujos de procesamiento de entrenamiento automatizados son cruciales. Google Cloud ofrece un conjunto de herramientas y servicios robusto para crear y desplegar flujos de procesamiento de entrenamiento, con un gran énfasis en la reutilización de los recursos. Las pipelines de entrenamiento automatizadas ayudan a acelerar el desarrollo de modelos, garantizar la coherencia y reducir el esfuerzo redundante.

Automatizar flujos de procesamiento de entrenamiento

En la siguiente tabla se describen los Google Cloud servicios y las funciones que puedes usar para automatizar las diferentes funciones de una canalización de entrenamiento.

Función Servicios y funciones deGoogle Cloud
Orquestación: define flujos de trabajo de aprendizaje automático complejos que consten de varios pasos y dependencias. Puedes definir cada paso como una tarea en contenedores independiente, lo que te ayudará a gestionar y escalar tareas individuales fácilmente.
  • Para crear y orquestar flujos de procesamiento, usa Vertex AI Pipelines o Kubeflow Pipelines. Estas herramientas admiten la transformación de datos sencilla, el entrenamiento de modelos, el despliegue de modelos y el control de versiones de las canalizaciones. Te permiten definir dependencias entre pasos, gestionar el flujo de datos y automatizar la ejecución de todo el flujo de trabajo.
  • Para tareas operativas complejas con requisitos de CI/CD y de extracción, transformación y carga (ETL) exigentes, usa Cloud Composer. Si prefieres Airflow para la orquestación de datos, Cloud Composer es un servicio gestionado compatible que se basa en Airflow.
  • En el caso de las pipelines que se gestionan fuera de Vertex AI Pipelines, usa Workflows para tareas centradas en la infraestructura, como iniciar y detener máquinas virtuales o integrar sistemas externos.
  • Para automatizar el proceso de CI/CD, usa Cloud Build con Pub/Sub. Puedes configurar notificaciones y activadores automáticos para cuando se envíe código nuevo o cuando sea necesario entrenar un modelo nuevo.
  • Para disfrutar de una solución escalable y totalmente gestionada para la gestión de flujos de procesamiento, usa Cloud Data Fusion.
Control de versiones: monitoriza y controla las diferentes versiones de las canalizaciones y los componentes para asegurar la reproducibilidad y la auditabilidad. Almacena plantillas de flujo de procesamiento de Kubeflow en un repositorio de Kubeflow Pipelines en Artifact Registry.
Reutilización: reutiliza los componentes y artefactos de las canalizaciones, como los conjuntos de datos preparados y los modelos entrenados, para acelerar el desarrollo. Almacena tus plantillas de flujo de trabajo en Cloud Storage y compártelas con toda tu organización.
Monitorización: monitoriza la ejecución de la canalización para identificar y resolver los problemas. Usa Cloud Logging y Cloud Monitoring. Para obtener más información, consulta el artículo Monitorizar recursos de forma continua con paneles, alertas e informes.

Ampliar la reutilización más allá de las canalizaciones

Busca oportunidades para ampliar la reutilización más allá de las canalizaciones de entrenamiento. A continuación, se muestran ejemplos de Google Cloud funciones que te permiten reutilizar funciones, conjuntos de datos, modelos y código de aprendizaje automático.

  • Vertex AI Feature Store proporciona un repositorio centralizado para organizar, almacenar y servir funciones de aprendizaje automático. Te permite reutilizar funciones en diferentes proyectos y modelos, lo que puede mejorar la coherencia y reducir el esfuerzo de ingeniería de funciones. Puedes almacenar, compartir y acceder a funciones para casos prácticos online y offline.
  • Los conjuntos de datos de Vertex AI permiten a los equipos crear y gestionar conjuntos de datos de forma centralizada, de modo que tu organización pueda maximizar la reutilización y reducir la duplicación de datos. Tus equipos pueden buscar y descubrir los conjuntos de datos con Dataplex Universal Catalog.
  • Vertex AI Model Registry te permite almacenar, gestionar y desplegar tus modelos entrenados. El registro de modelos te permite reutilizar los modelos en las canalizaciones posteriores o para la predicción online, lo que te ayuda a aprovechar los esfuerzos de entrenamiento anteriores.
  • Los contenedores personalizados te permiten empaquetar tu código de entrenamiento y tus dependencias en contenedores, así como almacenar los contenedores en Artifact Registry. Los contenedores personalizados te permiten proporcionar entornos de entrenamiento coherentes y reproducibles en diferentes flujos de trabajo y proyectos.

Usar los servicios de Google Cloud para evaluar y optimizar modelos

Google Cloud ofrece un potente paquete de herramientas y servicios para optimizar y automatizar la evaluación y el ajuste de modelos. Estas herramientas y servicios pueden ayudarte a reducir el tiempo de producción y los recursos necesarios para la formación y la monitorización continuas. Al usar estos servicios, tus equipos de IA y aprendizaje automático pueden mejorar el rendimiento de los modelos con menos iteraciones costosas, obtener resultados más rápido y minimizar el desperdicio de recursos de computación.

Usa la evaluación y la experimentación de modelos eficientes en cuanto a recursos

Empieza un proyecto de IA con experimentos antes de ampliar tu solución. En tus experimentos, haz un seguimiento de varios metadatos, como la versión del conjunto de datos, los parámetros del modelo y el tipo de modelo. Para mejorar la reproducibilidad y la comparación de los resultados, usa el seguimiento de metadatos además del control de versiones del código, de forma similar a las funciones de Git. Para no perder información o desplegar la versión incorrecta en producción, usa Vertex AI Experiments antes de implementar despliegues o trabajos de entrenamiento a gran escala.

Vertex AI Experiments te permite hacer lo siguiente:

  • Simplifica y automatiza el seguimiento y el descubrimiento de metadatos mediante una interfaz de usuario y una API fáciles de usar para cargas de trabajo listas para producción.
  • Analiza las métricas de rendimiento del modelo y compara las métricas de varios modelos.

Una vez que se haya entrenado el modelo, monitoriza continuamente el rendimiento y la deriva de los datos a lo largo del tiempo en los datos entrantes. Para simplificar este proceso, usa Vertex AI Model Monitoring para acceder directamente a los modelos creados en Model Registry. Monitorización de modelos también automatiza la monitorización de datos y resultados mediante predicciones online y por lotes. Puede exportar los resultados a BigQuery para analizarlos y hacer un seguimiento más detallados.

Elegir estrategias óptimas para automatizar el entrenamiento

Para ajustar los hiperparámetros, te recomendamos que uses los siguientes métodos:

  • Para automatizar el proceso de búsqueda de los hiperparámetros óptimos de tus modelos, usa el ajuste de hiperparámetros de Vertex AI. Vertex AI usa algoritmos avanzados para explorar el espacio de hiperparámetros e identificar la mejor configuración.
  • Para ajustar los hiperparámetros de forma eficiente, considera la posibilidad de usar técnicas de optimización bayesiana, sobre todo cuando trabajes con modelos complejos y conjuntos de datos grandes.

Para el entrenamiento distribuido, recomendamos los siguientes enfoques:

  • Para conjuntos de datos grandes y modelos complejos, usa la infraestructura de entrenamiento distribuido de Vertex AI. Este enfoque te permite entrenar tus modelos en varias máquinas, lo que ayuda a reducir significativamente el tiempo de entrenamiento y los costes asociados. Usa herramientas como las siguientes:

  • Elige frameworks de aprendizaje automático optimizados, como Keras y PyTorch, que admitan el entrenamiento distribuido y el uso eficiente de los recursos.

Usar la IA explicable

Es fundamental entender por qué un modelo toma determinadas decisiones e identificar posibles sesgos o áreas de mejora. Usa Vertex Explainable AI para obtener información valiosa sobre las predicciones de tu modelo. Vertex Explainable AI ofrece una forma de automatizar las explicaciones basadas en características y en ejemplos que están vinculadas a tus experimentos de Vertex AI.

  • Basada en las características: para saber qué características influyen más en las predicciones de tu modelo, analiza las atribuciones de características. Esta información puede orientar los esfuerzos de ingeniería de funciones y mejorar la interpretabilidad del modelo.
  • Basado en ejemplos: Para devolver una lista de ejemplos (normalmente del conjunto de entrenamiento) que sean los más similares a la entrada, Vertex AI usa la búsqueda de vecinos más cercanos. Como las entradas similares suelen dar lugar a predicciones similares, puedes usar estas explicaciones para explorar y explicar el comportamiento de un modelo.

Usar servicios gestionados y modelos preentrenados

Adopta un enfoque incremental para la selección y el desarrollo de modelos. Este enfoque te ayuda a evitar los costes excesivos asociados a empezar de cero cada vez. Para controlar los costes, usa frameworks de aprendizaje automático, servicios gestionados y modelos preentrenados.

Para sacar el máximo partido de los servicios gestionados y los modelos preentrenados, tenga en cuenta las siguientes recomendaciones.

Usar cuadernos para explorar y hacer experimentos

Los entornos de Notebook son cruciales para experimentar con el aprendizaje automático de forma rentable. Un cuaderno proporciona un espacio interactivo y colaborativo para que los científicos de datos y los ingenieros exploren datos, desarrollen modelos, compartan conocimientos y realicen iteraciones de forma eficiente. La colaboración y el intercambio de conocimientos a través de los cuadernos acelera significativamente el desarrollo, las revisiones de código y la transferencia de conocimientos. Los cuadernos ayudan a agilizar los flujos de trabajo y a reducir el esfuerzo duplicado.

En lugar de adquirir y gestionar hardware caro para tu entorno de desarrollo, puedes usar la infraestructura escalable y bajo demanda de Vertex AI Workbench y Colab Enterprise.

  • Vertex AI Workbench es un entorno de desarrollo de cuadernos de Jupyter para todo el flujo de trabajo de ciencia de datos. Puedes interactuar con Vertex AI y otros Google Cloud servicios desde el cuaderno de Jupyter de una instancia. Las integraciones y las funciones de Vertex AI Workbench te ayudan a hacer lo siguiente:

    • Accede a los datos y explóralos desde un cuaderno de Jupyter mediante las integraciones de BigQuery y Cloud Storage.
    • Automatiza las actualizaciones periódicas de un modelo mediante ejecuciones programadas de código que se ejecuta en Vertex AI.
    • Procesa datos rápidamente ejecutando un cuaderno en un clúster de Dataproc.
    • Ejecuta un cuaderno como paso de un flujo de procesamiento con Vertex AI Pipelines.
  • Colab Enterprise es un entorno de cuadernos gestionado y colaborativo que cuenta con las funciones de seguridad y cumplimiento de Google Cloud. Colab Enterprise es ideal si las prioridades de tu proyecto incluyen el desarrollo colaborativo y la reducción del esfuerzo necesario para gestionar la infraestructura. Colab Enterprise se integra con Google Cloud servicios y asistencia basada en IA que usa Gemini. Colab Enterprise te permite hacer lo siguiente:

    • Trabaja en cuadernos sin tener que gestionar la infraestructura.
    • Comparte un cuaderno con un solo usuario, un grupo de Google o un dominio de Google Workspace. Puedes controlar el acceso a los cuadernos mediante Gestión de Identidades y Accesos (IAM).
    • Interactúa con las funciones integradas en Vertex AI y BigQuery.

Para monitorizar los cambios y volver a versiones anteriores cuando sea necesario, puedes integrar tus cuadernos con herramientas de control de versiones como Git.

Empezar con modelos ya disponibles y preentrenados

Entrenar modelos complejos desde cero, especialmente modelos de aprendizaje profundo, requiere una cantidad considerable de recursos computacionales y tiempo. Para acelerar el proceso de selección y desarrollo de modelos, empieza con modelos preentrenados. Estos modelos, que se entrenan con grandes conjuntos de datos, eliminan la necesidad de entrenar modelos desde cero y reducen significativamente los costes y el tiempo de desarrollo.

Reducir los costes de formación y desarrollo

Selecciona un modelo o una API adecuados para cada tarea de aprendizaje automático y combínalos para crear un proceso de desarrollo de aprendizaje automático integral.

Vertex AI Model Garden ofrece una amplia colección de modelos preentrenados para tareas como la clasificación de imágenes, la detección de objetos y el procesamiento del lenguaje natural. Los modelos se agrupan en las siguientes categorías:

Google Cloud proporciona APIs de IA y aprendizaje automático que permiten a los desarrolladores integrar potentes funciones de IA en las aplicaciones sin necesidad de crear modelos desde cero.

  • La API Cloud Vision te permite extraer información valiosa de las imágenes. Esta API es útil para aplicaciones como el análisis de imágenes, la moderación de contenido y la introducción de datos automatizada.
  • La API Cloud Natural Language te permite analizar texto para comprender su estructura y significado. Esta API es útil para tareas como el análisis de los comentarios de los clientes, la categorización de contenido y la comprensión de las tendencias de las redes sociales.
  • La API Speech-to-Text convierte el audio en texto. Esta API admite una amplia variedad de idiomas y dialectos.
  • La API Video Intelligence analiza el contenido de vídeo para identificar objetos, escenas y acciones. Usa esta API para analizar el contenido de vídeo, moderar el contenido y buscar vídeos.
  • La API Document AI procesa documentos para extraer, clasificar y comprender datos. Esta API te ayuda a automatizar los flujos de trabajo de procesamiento de documentos.
  • La API de Dialogflow permite crear interfaces de conversación, como bots de chat y asistentes de voz. Puedes usar esta API para crear bots de atención al cliente y asistentes virtuales.
  • La API de Gemini en Vertex AI proporciona acceso al modelo de IA más potente y versátil de Google.

Reduce los costes de ajuste

Para reducir la necesidad de grandes cantidades de datos y tiempo de computación, ajusta los modelos preentrenados con conjuntos de datos específicos. Te recomendamos que sigas estas estrategias:

  • Transferencia de aprendizaje: usa los conocimientos de un modelo preentrenado para una tarea nueva en lugar de empezar desde cero. Este enfoque requiere menos datos y tiempo de computación, lo que ayuda a reducir los costes.
  • Ajuste de adaptadores (ajuste eficiente de parámetros): adapta los modelos a nuevas tareas o dominios sin necesidad de realizar un ajuste fino completo. Este enfoque requiere muchos menos recursos computacionales y un conjunto de datos más pequeño.
  • Ajuste fino supervisado: adapta el comportamiento del modelo con un conjunto de datos etiquetado. Este enfoque simplifica la gestión de la infraestructura subyacente y el esfuerzo de desarrollo necesario para un trabajo de entrenamiento personalizado.

Explora y experimenta con Vertex AI Studio

Vertex AI Studio te permite probar, crear prototipos y desplegar aplicaciones de IA generativa rápidamente.

  • Integración con Model Garden: proporciona acceso rápido a los modelos más recientes y te permite desplegarlos de forma eficiente para ahorrar tiempo y costes.
  • Acceso unificado a modelos especializados: consolida el acceso a una amplia gama de modelos y APIs preentrenados, incluidos los de chat, texto, contenido multimedia, traducción y voz. Este acceso unificado puede ayudarte a reducir el tiempo que dedicas a buscar e integrar servicios concretos.

Usar servicios gestionados para entrenar o servir modelos

Los servicios gestionados pueden ayudar a reducir el coste del entrenamiento de modelos y simplificar la gestión de la infraestructura, lo que te permite centrarte en el desarrollo y la optimización de modelos. Este enfoque puede suponer un ahorro de costes significativo y una mayor eficiencia.

Reduce la sobrecarga operativa

Para reducir la complejidad y el coste de la gestión de la infraestructura, utiliza servicios gestionados como los siguientes:

  • Vertex AI Training ofrece un entorno totalmente gestionado para entrenar tus modelos a gran escala. Puedes elegir entre varios contenedores precompilados con frameworks de aprendizaje automático populares o usar tus propios contenedores personalizados. Google Cloud se encarga del aprovisionamiento, el escalado y el mantenimiento de la infraestructura, por lo que incurres en menos gastos operativos.
  • Las predicciones de Vertex AI gestionan el escalado de la infraestructura, el balanceo de carga y el enrutamiento de solicitudes. Disfrutas de una alta disponibilidad y rendimiento sin intervención manual.
  • Ray en Vertex AI proporciona un clúster de Ray totalmente gestionado. Puedes usar el clúster para ejecutar cargas de trabajo de IA personalizadas complejas que realicen muchos cálculos (ajuste de hiperparámetros, ajuste de modelos, entrenamiento de modelos distribuidos y aprendizaje por refuerzo a partir de comentarios humanos) sin tener que gestionar tu propia infraestructura.

Usar servicios gestionados para optimizar la utilización de recursos

Para obtener información sobre el uso eficiente de los recursos, consulta Optimizar el uso de los recursos.

Colaboradores

Autores:

  • Isaac Lo | Gestor de Desarrollo Empresarial de IA
  • Anastasia Prokaeva | Arquitecta de soluciones de campo, IA generativa
  • Amy Southwood | Consultora de soluciones técnicas, analíticas de datos e IA

Otros colaboradores:

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

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: