Well-Architected Framework: perspectiva de IA y AA

Last reviewed 2025-02-14 UTC

En este documento del Google Cloud Well-Architected Framework, se describen principios y recomendaciones para ayudarte a diseñar, compilar y administrar cargas de trabajo de IA y AA en Google Cloud que cumplan con tus objetivos operativos, de seguridad, confiabilidad, costo y rendimiento.

El público objetivo de este documento incluye a las personas responsables de tomar decisiones, los arquitectos, los administradores, los desarrolladores y los operadores que diseñan, compilan, implementan y mantienen cargas de trabajo de IA y AA en Google Cloud.

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

Colaboradores

Autores:

Otros colaboradores:

Perspectiva de IA y AA: excelencia operativa

En este documento del Well-Architected Framework: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para compilar y operar sistemas sólidos de IA y AA en Google Cloud. Estas recomendaciones te ayudan a configurar elementos fundamentales, como la observabilidad, la automatización y la escalabilidad. Las recomendaciones de este documento se alinean con el pilar de excelencia operativa del Google Cloud Framework de Well-Architected.

La excelencia operativa en el dominio de la IA y el AA es la capacidad de implementar, administrar y controlar sin problemas los sistemas y las canalizaciones de IA y AA que ayudan a impulsar los objetivos estratégicos de tu organización. La excelencia operativa te permite responder de manera eficiente a los cambios, reducir la complejidad operativa y garantizar que tus operaciones sigan alineadas con los objetivos comerciales.

Las recomendaciones de este documento se correlacionan con los siguientes principios fundamentales:

Crea una base sólida para el desarrollo de modelos

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

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

Definir los problemas y los resultados requeridos

Antes de comenzar cualquier proyecto de IA o AA, debes comprender claramente los problemas comerciales que se deben resolver y los resultados requeridos. Comienza con un esquema de los objetivos comerciales y desglósalos en indicadores clave de rendimiento (KPI) medibles. Para organizar y documentar las definiciones y las hipótesis de tu problema en un entorno de notebook de Jupyter, usa herramientas como Vertex AI Workbench. Para implementar el control de versiones de código y documentos, y para documentar tus proyectos, objetivos y suposiciones, usa herramientas como Git. Para desarrollar y administrar instrucciones para aplicaciones de IA generativa, puedes usar Vertex AI Studio.

Recopila y procesa previamente 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 un proceso basado en SQL es adecuado. Para validar esquemas y detectar anomalías, usa la Validación de datos de TensorFlow (TFDV) y aprovecha los análisis de calidad de los datos automatizados en BigQuery cuando corresponda.

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 del mundo real 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 aumentar los datos de entrenamiento para mejorar el rendimiento del modelo, usa BigQuery DataFrames y Gemini. Los datos sintéticos son especialmente valiosos para la IA generativa porque pueden ayudar a mejorar la diversidad de las instrucciones y la solidez general del modelo. Cuando compiles conjuntos de datos para ajustar modelos de IA generativa, considera usar las capacidades de generación de datos sintéticos en Vertex AI.

Para las tareas de IA generativa, como el ajuste 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.

Selecciona un enfoque de AA adecuado

Cuando diseñes tu modelo y sus parámetros, ten en cuenta la complejidad del modelo y sus necesidades computacionales. Según la tarea (como clasificación, regresión o generación), considera usar el entrenamiento personalizado de Vertex AI para la creación de modelos personalizados o AutoML para tareas de AA más sencillas. Para aplicaciones comunes, también puedes acceder a modelos previamente entrenados a través de Vertex AI Model Garden. Puedes experimentar con una variedad de modelos de base de vanguardia para diversos casos de uso, como generar texto, imágenes y código.

Es posible que desees ajustar un modelo básico previamente entrenado para lograr un rendimiento óptimo en tu caso de uso específico. Para cumplir con los requisitos de alto rendimiento en el entrenamiento personalizado, configura unidades de procesamiento tensorial (TPU) de Cloud o recursos de GPU para acelerar el entrenamiento y la inferencia de modelos de aprendizaje profundo, como los modelos de lenguaje extenso (LLM) y los modelos de difusión.

Configura el control de versión para el código, los modelos y los datos

Para administrar y, luego, implementar versiones de código de manera eficaz, usa herramientas como GitHub o GitLab. Estas herramientas proporcionan funciones de colaboración sólidas, estrategias de ramificación y la integración con canalizaciones de CI/CD para garantizar un proceso de desarrollo optimizado.

Usa soluciones adecuadas para administrar cada artefacto de tu sistema de AA, como los siguientes ejemplos:

  • Para los artefactos de código, como las imágenes de contenedores y los componentes de canalización, Artifact Registry proporciona 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 administrar artefactos de datos, como los conjuntos de datos que se usan para el entrenamiento y la evaluación, usa soluciones como BigQuery o Cloud Storage para el almacenamiento y el control de versiones.
  • Para almacenar metadatos y punteros a ubicaciones de datos, usa tu sistema de control de versión o un catálogo de datos independiente.

Para mantener la coherencia y el control de versiones de tus datos de atributos, usa Vertex AI Feature Store. Para hacer un seguimiento de los artefactos del modelo y administrarlos, incluidos los archivos binarios y los metadatos, usa Vertex AI Model Registry, que te permite almacenar, organizar y, luego, implementar versiones del modelo sin problemas.

Para garantizar la confiabilidad del modelo, implementa Vertex AI Model Monitoring. Detecta la desviación de los datos, realiza un seguimiento del rendimiento y, luego, identifica anomalías en la producción. En el caso de los sistemas de IA generativa, supervisa los cambios en la calidad de los resultados y el cumplimiento de la seguridad.

Automatiza el ciclo de vida del desarrollo de modelos

La automatización te ayuda a optimizar cada etapa del ciclo de vida de la IA y el AA. La automatización reduce el esfuerzo manual y estandariza los procesos, lo que mejora la eficiencia operativa y disminuye el riesgo de errores. Los flujos de trabajo automatizados permiten una iteración más rápida, una implementación coherente en todos los entornos y resultados más confiables, de modo que tus sistemas puedan adaptarse y escalar sin problemas.

Para automatizar el ciclo de vida de desarrollo de tus sistemas de IA y AA, ten en cuenta las siguientes recomendaciones.

Usa un sistema de organización de canalizaciones administrado

Usa Vertex AI Pipelines para automatizar cada paso del ciclo de vida del AA, desde la preparación de los datos hasta el entrenamiento, la evaluación y la implementación del modelo. Para acelerar la implementación y promover la coherencia en todos los proyectos, automatiza las tareas recurrentes con ejecuciones programadas de canalizaciones, supervisa los flujos de trabajo con métricas de ejecución y desarrolla plantillas de canalizaciones reutilizables para flujos de trabajo estandarizados. Estas capacidades se extienden a los modelos de IA generativa, que a menudo requieren pasos especializados, como la ingeniería de instrucciones, 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 los resultados generados en función de las métricas de calidad y los lineamientos de seguridad. Para mejorar la diversidad de las instrucciones y la solidez del modelo, los flujos de trabajo automatizados también pueden incluir técnicas de aumento de datos.

Implementa canalizaciones de CI/CD

Para automatizar la compilación, las pruebas y la implementación de modelos de AA, usa Cloud Build. Este servicio es particularmente eficaz cuando ejecutas paquetes de pruebas para el código de la aplicación, lo que garantiza que la infraestructura, las dependencias y el empaquetado del modelo cumplan con tus requisitos de implementación.

Los sistemas de AA a menudo requieren pasos adicionales más allá de las pruebas de código. Por ejemplo, debes realizar pruebas de estrés en los modelos con diferentes cargas, realizar evaluaciones masivas para evaluar el rendimiento del modelo en diversos conjuntos de datos y validar la integridad de los datos antes de volver a entrenar el modelo. Para simular cargas de trabajo realistas para las pruebas de estrés, puedes usar herramientas como Locust, Grafana k6 o Apache JMeter. Para identificar los cuellos de botella, supervisa las métricas clave, como la latencia, la tasa de errores y el uso de recursos a través de Cloud Monitoring. En el caso de la IA generativa, las pruebas también deben incluir evaluaciones específicas para el 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 para los modelos de lenguaje, o la evaluación con humanos en el circuito para aspectos más matizados, 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 la evaluación automatizada de modelos, BigQuery para el análisis de datos a gran escala y la validación de canalizaciones de Dataflow para la validación de funciones.

Puedes mejorar aún más tu canalización de CI/CD con Vertex AI para el entrenamiento continuo y habilitar el reentrenamiento automático de modelos con datos nuevos. En el caso específico de la IA generativa, para mantener la relevancia y la diversidad de los resultados generados, el reentrenamiento puede implicar la actualización automática de los modelos con nuevos datos de entrenamiento o instrucciones. Puedes usar Vertex AI Model Garden para seleccionar los modelos básicos más recientes que están disponibles para el ajuste. Esta práctica garantiza que los modelos sigan siendo actuales y estén optimizados para las necesidades cambiantes de tu empresa.

Implementa lanzamientos de modelos seguros y controlados

Para minimizar los riesgos y garantizar implementaciones confiables, implementa un enfoque de lanzamiento de modelos que te permita detectar problemas de forma anticipada, validar el rendimiento y revertir rápidamente los cambios cuando sea necesario.

Para empaquetar tus modelos y aplicaciones de AA en imágenes de contenedor y, luego, implementarlos, usa Cloud Deploy. Puedes implementar tus modelos en extremos de Vertex AI.

Implementa lanzamientos controlados para tus aplicaciones y sistemas de IA con estrategias como los lanzamientos canary. En el caso de las aplicaciones que usan modelos administrados, como Gemini, te recomendamos que lances gradualmente las nuevas versiones de la aplicación a un subconjunto de usuarios antes de la implementación completa. Este enfoque te permite detectar posibles problemas con anticipación, en especial cuando usas modelos de IA generativa en los que los resultados pueden variar.

Para lanzar modelos ajustados, puedes usar Cloud Deploy para administrar la implementación de las versiones del modelo y usar la estrategia de lanzamiento Canary para minimizar el riesgo. Con los modelos administrados y los modelos ajustados, el objetivo de los lanzamientos controlados es probar los cambios con un público limitado antes de lanzar las aplicaciones y los modelos para todos los usuarios.

Para una validación sólida, usa Vertex AI Experiments para comparar modelos nuevos con los existentes y Vertex AI Model Evaluation para evaluar el rendimiento del modelo. En el caso específico de la IA generativa, define métricas de evaluación que se alineen con el caso de uso previsto y los riesgos potenciales. Puedes usar el servicio de evaluación de IA generativa en Vertex AI para evaluar métricas como toxicidad, coherencia, precisión fáctica y cumplimiento de los lineamientos de seguridad.

Para garantizar la confiabilidad de la implementación, necesitas un plan de reversión sólido. En el caso de los sistemas de AA tradicionales, usa Vertex AI Model Monitoring para detectar la desviación de datos y la degradación del rendimiento. En el caso de los modelos de IA generativa, puedes hacer un seguimiento de las métricas pertinentes y configurar alertas para detectar cambios en la calidad del resultado o la aparición de contenido perjudicial con 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 los procedimientos de reversión cuando sea necesario. Para hacer un seguimiento del linaje del modelo y revertir a la versión estable más reciente, usa las estadísticas de Vertex AI Model Registry.

Implementa la observabilidad

El comportamiento de los sistemas de IA y AA puede cambiar con el tiempo debido a cambios en los datos o el entorno, y a actualizaciones de los modelos. Esta naturaleza dinámica hace que la observabilidad sea fundamental para detectar problemas de rendimiento, sesgos o comportamientos inesperados. Esto es especialmente cierto para 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 garantizar que tus sistemas de IA y AA sigan siendo confiables, precisos y justos.

Para implementar la observabilidad en tus sistemas de IA y AA, ten en cuenta las siguientes recomendaciones.

Supervisa el rendimiento de forma continua

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

Puedes usar Vertex AI Model Monitoring para hacer un seguimiento proactivo del rendimiento del modelo, identificar el sesgo entre el entrenamiento y la entrega, y la desviación de la predicción, y recibir alertas para activar el reentrenamiento necesario del modelo o realizar otras intervenciones. Para supervisar de manera eficaz el sesgo entre el entrenamiento y la entrega, 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 Model Monitoring para comparar la distribución de los datos de entrada con el conjunto de datos de referencia para la detección automática de sesgos. En el caso de los modelos de AA tradicionales, enfócate en las métricas como la exactitud, la precisión, la recuperación, la puntuación F1, el AUC-ROC y la pérdida de registro. Define umbrales personalizados para las alertas en Model Monitoring. En el caso de la IA generativa, usa el servicio de evaluación de IA generativa para supervisar continuamente el resultado del modelo en producción. También puedes habilitar métricas de evaluación automáticas para la calidad, la seguridad, el cumplimiento de 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 los lineamientos de los resultados generados, 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 la Supervisión de modelos active una alerta. Usa estas estadísticas para mejorar tus modelos de forma continua.

Evalúa modelos durante el desarrollo

Antes de implementar tus LLM 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 lograr un rendimiento óptimo y mitigar los riesgos. Usa la evaluación rápida de Vertex AI para permitir que Google Cloud ejecute automáticamente evaluaciones basadas en el conjunto de datos y las instrucciones que proporciones.

También puedes definir e integrar métricas personalizadas específicas para tu caso de uso. Para obtener comentarios sobre el contenido generado, integra flujos de trabajo con participación humana usando Vertex AI Model Evaluation.

Usa pruebas adversarias para identificar vulnerabilidades y posibles modos de falla. Para identificar y mitigar posibles sesgos, usa técnicas como el análisis de subgrupos y la generación contrafáctica. Usa las estadísticas recopiladas de las evaluaciones que se completaron durante la fase de desarrollo para definir tu estrategia de supervisión del modelo en producción. Prepara tu solución para la supervisión continua como se describe en la sección Supervisa el rendimiento de forma continua de este documento.

Supervisar la disponibilidad

Para obtener visibilidad del estado y el rendimiento de los extremos y la infraestructura implementados, usa Cloud Monitoring. Para tus extremos de Vertex AI, haz un seguimiento de 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 Métricas de Cloud Monitoring para Vertex AI.

Supervisar el estado de la infraestructura subyacente, que puede incluir instancias de Compute Engine, clústeres de Google Kubernetes Engine (GKE), y TPU y GPU Obtén recomendaciones de optimización automatizadas de Active Assist. Si usas el ajuste de escala automático, supervisa su comportamiento para asegurarte de que responda de manera adecuada a los cambios en los patrones de tráfico.

Realiza un seguimiento del estado de las implementaciones de modelos, incluidos los lanzamientos de versiones canary y las reversiones, integrando Cloud Deploy en Cloud Monitoring. Además, supervisa las posibles amenazas y vulnerabilidades de seguridad con Security Command Center.

Configura alertas personalizadas para umbrales específicos de la empresa

Para identificar y rectificar anomalías y problemas de manera oportuna, configura alertas personalizadas basadas en umbrales específicos para tus objetivos comerciales. Estos son algunos ejemplos de productos de Google Cloud que puedes usar para implementar un sistema de alertas personalizado:

  • Cloud Logging: Recopila, almacena y analiza registros de todos los componentes de tu sistema de AA y AA.
  • Cloud Monitoring: Crea paneles personalizados para visualizar las métricas y las tendencias clave, y define métricas personalizadas según tus necesidades. Configura alertas para recibir notificaciones sobre problemas críticos y, luego, integra las alertas con tus herramientas de administració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 y detecta cuellos de botella. El registro de seguimiento es particularmente útil para comprender la latencia entre los diferentes componentes de tu canalización de IA y AA.
  • Cloud Profiler: Analiza de forma continua el rendimiento de tu código en producción y detecta los cuellos de botella en el rendimiento en el uso de la CPU o la memoria.

Crea una cultura de excelencia operativa

Cambia el enfoque de solo crear modelos a crear soluciones de IA sostenibles, confiables y eficaces. Permite que los equipos aprendan, innoven y mejoren de forma continua, lo que genera ciclos de desarrollo más rápidos, menos errores y mayor eficiencia. Si priorizas la automatización, la estandarización y las consideraciones éticas, puedes garantizar que tus iniciativas de IA y AA aporten valor de forma constante, mitiguen los riesgos y promuevan el desarrollo de la IA responsable.

Para crear una cultura de excelencia operativa en tus sistemas de IA y AA, ten en cuenta las siguientes recomendaciones.

Promueve la automatización y la estandarización

Para enfatizar la eficiencia y la coherencia, incorpora la automatización y las prácticas estandarizadas en cada etapa del ciclo de vida de la IA y el AA. La automatización reduce los errores manuales y permite que los equipos se enfoquen en la innovación. La estandarización garantiza que los procesos sean repetibles y escalables en todos los equipos y proyectos.

Prioriza el aprendizaje y la mejora continuos

Fomenta un entorno en el que la formación y la experimentación continuas sean principios fundamentales. Alienta a los equipos a mantenerse al día con los avances de la IA y el AA, y brinda oportunidades para aprender de proyectos anteriores. Una cultura de curiosidad y adaptación impulsa la innovación y garantiza que los equipos estén equipados para enfrentar nuevos desafíos.

Cultiva la responsabilidad y la propiedad

Genera confianza y alineación con roles, responsabilidades y métricas de éxito claramente definidos. Capacita a los equipos para que tomen decisiones fundamentadas dentro de estos límites y establece formas transparentes de medir el progreso. El sentido de propiedad motiva a los equipos y garantiza la responsabilidad colectiva por los resultados.

Incorpora consideraciones éticas y de seguridad de la IA

Prioriza las consideraciones éticas en cada etapa del desarrollo. Alentar a los equipos a pensar de forma crítica sobre el impacto de sus soluciones de IA y fomentar debates sobre la equidad, el sesgo y el impacto social Los principios claros y los mecanismos de responsabilidad garantizan que tus sistemas de IA se alineen con los valores de la organización y promuevan la confianza.

Diseña para la escalabilidad

Para adaptarse a los crecientes volúmenes de datos y demandas de los usuarios, y para maximizar el valor de las inversiones en IA, tus sistemas de IA y AA deben ser escalables. Los sistemas deben adaptarse y funcionar de manera óptima para evitar cuellos de botella en el rendimiento que obstaculicen la eficacia. Cuando diseñas para la escalabilidad, te aseguras de que la infraestructura de IA pueda manejar el crecimiento y mantener la capacidad de respuesta. Usa infraestructura escalable, planifica la capacidad y emplea estrategias como el ajuste de escala horizontal y los servicios administrados.

Para diseñar tus sistemas de IA y AA de modo que sean escalables, ten en cuenta las siguientes recomendaciones.

Planifica la capacidad y las cuotas

Evalúa el crecimiento futuro y planifica la capacidad de infraestructura y las cuotas de recursos en consecuencia. Trabaja con las partes interesadas de la empresa para comprender el crecimiento proyectado y, luego, define los requisitos de infraestructura en consecuencia.

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

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

Para optimizar el uso de recursos según la demanda, redimensiona tus recursos, usa VMs Spot para cargas de trabajo por lotes tolerantes a errores y, luego, implementa el ajuste de escala automático.

Prepárate para los eventos de tráfico máximo

Asegúrate de que tu sistema pueda controlar los aumentos repentinos en el tráfico o la carga de trabajo durante los eventos pico. Documenta tu estrategia para eventos de alta demanda y realiza simulacros periódicos para probar la capacidad de tu sistema de manejar una mayor carga.

Para aumentar de forma agresiva los recursos cuando la demanda se dispara, configura políticas de ajuste de escala automático en Compute Engine y GKE. Para patrones de picos predecibles, considera usar el ajuste de escala automático predictivo. Para activar el ajuste de escala automático en función de indicadores específicos de la aplicación, usa métricas personalizadas en Cloud Monitoring.

Distribuye el tráfico entre varias instancias de la aplicación con Cloud Load Balancing. Elige un tipo de balanceador de cargas adecuado según las necesidades de tu aplicación. Para los usuarios distribuidos geográficamente, puedes usar el balanceo de cargas global para enrutar el tráfico a la instancia disponible más cercana. Para arquitecturas complejas basadas en microservicios, considera usar Cloud Service Mesh.

Almacena contenido estático en caché 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 completamente administrado para Redis, Valkey o Memcached.

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

Cómo escalar aplicaciones para la producción

Para garantizar la publicación escalable en producción, puedes usar servicios administrados como el entrenamiento distribuido de Vertex AI y la inferencia de Vertex AI. Vertex AI Inference te permite configurar los tipos de máquinas para tus nodos de predicción cuando implementas un modelo en un extremo o solicitas predicciones por lotes. En algunas configuraciones, puedes agregar GPUs. Elige el tipo de máquina y los aceleradores adecuados para optimizar la latencia, el rendimiento y el costo.

Para escalar aplicaciones complejas de IA y Python, y cargas de trabajo personalizadas en recursos de procesamiento distribuidos, 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, ya que se encarga de la administració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 canalizaciones. Ray proporciona tolerancia a errores y ajuste de escala automático, y te ayuda a adaptar la infraestructura a las cargas de trabajo cambiantes. Ofrece un marco de trabajo unificado para el entrenamiento distribuido, el ajuste de hiperparámetros, el aprendizaje por refuerzo y la entrega de modelos. Usa Ray para el procesamiento previo 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 paralelizada.

Colaboradores

Autores:

Otros colaboradores:

Perspectiva de IA y AA: seguridad

En este documento del framework de Well-Architected: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para garantizar que tus implementaciones de IA y AA cumplan con los requisitos de seguridad y cumplimiento de tu organización. Las recomendaciones de este documento se alinean con el pilar de seguridad del Google Cloud Framework de Well-Architected.

La implementación segura de cargas de trabajo de IA y AA es un requisito fundamental, en especial en entornos empresariales. Para cumplir con este requisito, debes adoptar un enfoque de seguridad integral que comience con la conceptualización inicial de tus soluciones de IA y AA, y se extienda al desarrollo, la implementación y las operaciones continuas. Google Cloud ofrece herramientas y servicios sólidos diseñados para proteger tus cargas de trabajo de IA y AA.

Define objetivos y requisitos claros

Es más fácil integrar los controles de seguridad y cumplimiento necesarios al principio del proceso de diseño y desarrollo que agregarlos después del desarrollo. Desde el inicio de tu proceso de diseño y desarrollo, toma decisiones adecuadas para tu entorno de riesgo y tus prioridades comerciales específicos.

Ten en cuenta las siguientes recomendaciones:

  • Identifica posibles vectores de ataque y adopta una perspectiva de seguridad y cumplimiento desde el principio. A medida que diseñes y desarrolles tus sistemas de IA, haz un seguimiento de la superficie de ataque, los riesgos potenciales y las obligaciones que podrías enfrentar.
  • Alinea tus esfuerzos de seguridad de la IA y el AA con tus objetivos comerciales, y asegúrate de que la seguridad sea una parte integral de tu estrategia general. Comprende los efectos de tus decisiones de seguridad en tus principales objetivos comerciales.

Mantener la seguridad de los datos y evitar su pérdida o manipulación

Los datos son un recurso valioso y sensible que debe mantenerse seguro. La seguridad de los datos te ayuda a mantener la confianza de los usuarios, respaldar tus objetivos comerciales y cumplir con tus requisitos de cumplimiento.

Ten en cuenta las siguientes recomendaciones:

  • No recopiles, conserves ni uses datos que no sean estrictamente necesarios para tus objetivos comerciales. Si es posible, usa datos sintéticos o completamente anonimizados.
  • Supervisar la recopilación, el almacenamiento y la transformación de datos Mantén registros de todas las actividades de acceso y manipulación de datos. Los registros te ayudan a auditar el acceso a los datos, detectar intentos de acceso no autorizados y evitar el acceso no deseado.
  • Implementa diferentes niveles de acceso (por ejemplo, sin acceso, solo lectura o escritura) según los roles de los usuarios. Asegúrate de que los permisos se asignen según el principio de privilegio mínimo. Los usuarios deben tener solo los permisos mínimos necesarios para realizar las actividades de su rol.
  • Implementa medidas como la encriptación, los perímetros seguros y las restricciones sobre el movimiento de datos. Estas medidas te ayudan a evitar el robo de datos y la pérdida de datos.
  • Protege tus sistemas de entrenamiento de AA contra el envenenamiento de datos.

Mantener seguras y sólidas las canalizaciones de IA contra la manipulación

Tu código de IA y AA, y las canalizaciones definidas por código son recursos fundamentales. El código no protegido puede manipularse, lo que puede provocar filtraciones de datos, incumplimiento de la normativa y la interrupción de actividades comerciales críticas. Mantener seguro tu código de IA y AA ayuda a garantizar la integridad y el valor de tus modelos y sus resultados.

Ten en cuenta las siguientes recomendaciones:

  • Usa prácticas de programación segura, como la administración de dependencias o la validación y limpieza de entradas, durante el desarrollo del modelo para evitar vulnerabilidades.
  • Protege el código de tu canalización y los artefactos de tu modelo, como archivos, pesos del modelo y especificaciones de implementación, del acceso no autorizado. Implementa diferentes niveles de acceso para cada artefacto según los roles y las necesidades de los usuarios.
  • Aplica el linaje y el seguimiento de tus recursos y ejecuciones de canalizaciones. Esta aplicación de políticas te ayuda a cumplir con los requisitos de cumplimiento y a evitar comprometer los sistemas de producción.

Implementa en sistemas seguros con herramientas y artefactos seguros

Asegúrate de que tu código y tus modelos se ejecuten en un entorno seguro que tenga un sistema de control de acceso sólido con garantías de seguridad para las herramientas y los artefactos que se implementan en el entorno.

Ten en cuenta las siguientes recomendaciones:

  • Entrena y, luego, implementa tus modelos en un entorno seguro que tenga los controles de acceso y la protección adecuados contra el uso o la manipulación no autorizados.
  • Sigue los lineamientos estándar de los niveles de cadena de suministro para artefactos de software (SLSA) para tus artefactos específicos de IA, como modelos y paquetes de software.
  • Prefiere usar imágenes de contenedor compiladas previamente validadas y diseñadas específicamente para cargas de trabajo de IA.

Protege y supervisa las entradas

Los sistemas de IA necesitan entradas para hacer predicciones, generar contenido o automatizar acciones. Algunas entradas pueden representar riesgos o usarse como vectores de ataque que deben detectarse y corregirse. Detectar posibles entradas maliciosas de forma anticipada te ayuda a mantener tus sistemas de IA seguros y en funcionamiento según lo previsto.

Ten en cuenta las siguientes recomendaciones:

  • Implementa prácticas seguras para desarrollar y administrar instrucciones para los sistemas de IA generativa, y asegúrate de que se analicen las instrucciones para detectar intenciones dañinas.
  • Supervisar las entradas de los sistemas predictivos o generativos para evitar problemas como los extremos sobrecargados o las instrucciones que los sistemas no están diseñados para controlar
  • Asegúrate de que solo los usuarios previstos de un sistema implementado puedan usarlo.

Supervisa, evalúa y prepárate para responder a los resultados

Los sistemas de IA aportan valor porque producen resultados que aumentan, optimizan o automatizan la toma de decisiones humanas. Para mantener la integridad y la confiabilidad de tus sistemas y aplicaciones de IA, debes asegurarte de que los resultados sean seguros y estén dentro de los parámetros esperados. También necesitas un plan para responder a los incidentes.

Ten en cuenta las siguientes recomendaciones:

  • Supervisa los resultados de tus modelos de IA y AA en producción, y detecta cualquier problema de rendimiento, seguridad y cumplimiento.
  • Evalúa el rendimiento del modelo implementando métricas sólidas y medidas de seguridad, como la identificación de respuestas generativas fuera del alcance o resultados extremos en los modelos predictivos. Recopila comentarios de los usuarios sobre el rendimiento del modelo.
  • Implementar procedimientos sólidos de alerta y respuesta ante incidentes para abordar cualquier problema potencial

Colaboradores

Autores:

Otros colaboradores:

Perspectiva de IA y AA: Confiabilidad

En este documento del Framework de Well-Architected: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para diseñar y operar sistemas confiables de IA y AA en Google Cloud. Explora cómo integrar prácticas avanzadas de confiabilidad y observabilidad en tus planos arquitectónicos. Las recomendaciones de este documento se alinean con el pilar de confiabilidad del Google Cloud framework de Well-Architected.

En el panorama de la IA y el AA en rápida evolución, los sistemas confiables son esenciales para garantizar la satisfacción del cliente y alcanzar los objetivos comerciales. Necesitas sistemas de IA y AA que sean sólidos, confiables y adaptables para satisfacer las demandas únicas del AA predictivo y la IA generativa. Para manejar las complejidades de MLOps, desde el desarrollo hasta la implementación y la mejora continua, debes usar un enfoque que priorice la confiabilidad. Google Cloud ofrece una infraestructura de IA creada específicamente que se alinea con los principios de la ingeniería de confiabilidad de sitios (SRE) y proporciona una base sólida para los sistemas de IA y AA confiables.

Garantizar que la infraestructura sea escalable y tenga alta disponibilidad

Si diseñas tu arquitectura para la escalabilidad y la disponibilidad, permitirás que tus aplicaciones manejen diferentes niveles de demanda sin interrupciones del servicio ni degradación del rendimiento. Esto significa que tus servicios de IA seguirán disponibles para los usuarios durante las interrupciones de la infraestructura y cuando el tráfico sea muy alto.

Ten en cuenta las siguientes recomendaciones:

  • Diseña tus sistemas de IA con capacidades de escalamiento automático y dinámico para controlar las fluctuaciones en la demanda. Esto ayuda a garantizar un rendimiento óptimo, incluso durante los picos de tráfico.
  • Administra los recursos de forma proactiva y anticipa las necesidades futuras a través de pruebas de carga y supervisión del rendimiento. Usa datos históricos y análisis predictivos para tomar decisiones fundamentadas sobre la asignación de recursos.
  • Diseña para la alta disponibilidad y la tolerancia a errores adoptando los arquetipos de implementación multizona y multirregional en Google Cloud y, luego, implementa la redundancia y la replicación.
  • Distribuye el tráfico entrante en varias instancias de tus servicios y extremos de IA y AA. El balanceo de cargas ayuda a evitar que una sola instancia se sobrecargue y garantiza un rendimiento y una disponibilidad coherentes.

Usa una arquitectura modular y con acoplamiento bajo

Para que tus sistemas de IA sean resistentes a las fallas en los componentes individuales, usa una arquitectura modular. Por ejemplo, diseña los componentes de procesamiento y validación de datos como módulos separados. Cuando falla un componente en particular, la arquitectura modular ayuda a minimizar el tiempo de inactividad y permite que tus equipos desarrollen e implementen correcciones más rápido.

Ten en cuenta las siguientes recomendaciones:

  • Separa tu sistema de IA y AA en módulos o componentes pequeños y autónomos. Este enfoque promueve la reutilización del código, simplifica las pruebas y el mantenimiento, y te permite desarrollar e implementar componentes individuales de forma independiente.
  • Diseña los módulos con acoplamiento bajo con interfaces bien definidas. Este enfoque minimiza las dependencias y te permite realizar actualizaciones y cambios independientes sin afectar todo el sistema.
  • Planifica la degradación elegante. Cuando falla un componente, las otras partes del sistema deben seguir proporcionando un nivel adecuado de funcionalidad.
  • Usa APIs para crear límites claros entre los módulos y ocultar los detalles de implementación a nivel del módulo. Este enfoque te permite actualizar o reemplazar componentes individuales sin afectar las interacciones con otras partes del sistema.

Crea una plataforma de MLOps automatizada

Con una plataforma de MLOps automatizada, las etapas y los resultados del ciclo de vida de tu modelo son más confiables. Al promover la coherencia, el desacoplamiento y la modularidad, y al expresar las operaciones y la infraestructura como código, se eliminan los pasos manuales frágiles y se mantienen sistemas de IA y AA más sólidos y confiables.

Ten en cuenta las siguientes recomendaciones:

  • Automatiza el ciclo de vida del desarrollo del modelo, desde la preparación y validación de los datos hasta el entrenamiento, la evaluación, la implementación y la supervisión del modelo.
  • Administra tu infraestructura como código (IaC). Este enfoque permite un control de versión eficiente, reversiones rápidas cuando es necesario y una implementación repetible.
  • Valida que tus modelos se comporten según lo esperado con datos pertinentes. Automatiza la supervisión del rendimiento de tus modelos y crea alertas adecuadas para los resultados inesperados.
  • Valida las entradas y salidas de tus canalizaciones de AA y de AA. Por ejemplo, valida datos, configuraciones, argumentos de comandos, archivos y predicciones. Configura alertas para los valores inesperados o no permitidos.
  • Adopta una estrategia de control de versiones administrada para los extremos de tu modelo. Este tipo de estrategia permite lanzamientos incrementales y una recuperación rápida en caso de problemas.

Mantén la confianza y el control a través de la administración de datos y modelos

La confiabilidad de los sistemas de IA y AA depende de las capacidades de confianza y gobernanza de tus datos y modelos. Los resultados de la IA pueden no cumplir con las expectativas de forma silenciosa. Por ejemplo, los resultados podrían ser coherentes formalmente, pero podrían ser incorrectos o no deseados. Si implementas la trazabilidad y una gobernanza sólida, puedes garantizar que los resultados sean confiables.

Ten en cuenta las siguientes recomendaciones:

  • Usa un catálogo de datos y modelos para hacer un seguimiento y administrar tus recursos de manera eficaz. Para facilitar el seguimiento y las auditorías, mantén un registro completo de las versiones de los datos y los modelos a lo largo del ciclo de vida.
  • Implementa controles de acceso estrictos y registros de auditoría para proteger los datos y modelos sensibles.
  • Abordar el problema crítico del sesgo en la IA, en particular en las aplicaciones de IA generativa Para generar confianza, procura que los resultados del modelo sean transparentes y explicables.
  • Automatiza la generación de estadísticas de atributos y aplica la detección de anomalías para identificar de forma proactiva los problemas relacionados con los datos. Para garantizar la confiabilidad del modelo, establece mecanismos para detectar y mitigar el impacto de los cambios en las distribuciones de datos.

Implementa prácticas integrales de observabilidad y confiabilidad de la IA y el AA

Para mejorar continuamente tus operaciones de IA, debes definir objetivos de confiabilidad significativos y medir el progreso. La observabilidad es un elemento fundamental de los sistemas confiables. La observabilidad te permite administrar las operaciones en curso y los eventos críticos. La observabilidad bien implementada te ayuda a compilar y mantener un servicio confiable para tus usuarios.

Ten en cuenta las siguientes recomendaciones:

  • Realiza un seguimiento de las métricas de infraestructura para los procesadores (CPU, GPU y TPU) y otros recursos, como el uso de memoria, la latencia de red y el uso de disco. Realiza pruebas de carga y supervisa el rendimiento. Usa los resultados de las pruebas y las métricas de la supervisión para administrar el ajuste de escala y la capacidad de tus sistemas de IA y AA.
  • Establece objetivos de confiabilidad y haz un seguimiento de las métricas de la aplicación. Mide métricas como la capacidad de procesamiento y la latencia de las aplicaciones de IA que compilas. Supervisa los patrones de uso de tus aplicaciones y los extremos expuestos.
  • Establece métricas específicas del modelo, como indicadores de precisión o seguridad, para evaluar la confiabilidad del modelo. Realiza un seguimiento de estas métricas a lo largo del tiempo para identificar cualquier desvío o degradación. Para lograr control de versión y una automatización eficientes, define las configuraciones de supervisión como código.
  • Define y haz un seguimiento de las métricas a nivel de la empresa para comprender el impacto de tus modelos y la confiabilidad en los resultados comerciales. Para medir la confiabilidad de tus servicios de IA y AA, considera adoptar el enfoque de SRE y definir objetivos de nivel de servicio (SLO).

Colaboradores

Autores:

Otros colaboradores:

Perspectiva de IA y AA: Optimización de costos

En este documento del Framework de Well-Architected: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para optimizar el costo de tus sistemas de IA a lo largo del ciclo de vida del AA. Si tu organización adopta un enfoque proactivo y fundamentado para la administración de costos, podrá aprovechar todo el potencial de los sistemas de IA y AA, y mantener la disciplina financiera. Las recomendaciones de este documento se alinean con el pilar de optimización de costos del Google Cloud framework de Well-Architected.

Los sistemas de IA y AA pueden ayudarte a obtener estadísticas valiosas y capacidades predictivas a partir de los datos. Por ejemplo, puedes reducir la fricción en los procesos internos, mejorar las experiencias de los usuarios y obtener estadísticas más detalladas de los clientes. La nube ofrece grandes cantidades de recursos y un rápido tiempo de obtención de valor sin grandes inversiones iniciales para las cargas de trabajo de IA y AA. Para maximizar el valor comercial y alinear la inversión con tus objetivos comerciales, debes comprender los factores que determinan los costos, optimizar los costos de forma proactiva, configurar controles de inversión y adoptar prácticas de FinOps.

Las recomendaciones de este documento se correlacionan con los siguientes principios fundamentales:

Define y mide los costos y los retornos

Para administrar de manera eficaz los costos de la IA y el AA en Google Cloud, debes definir y medir los costos de los recursos de la nube y el valor comercial de tus iniciativas de IA y AA. Para ayudarte a hacer un seguimiento detallado de los gastos, Google Cloud proporciona herramientas integrales de facturación y administración de costos, como las siguientes:

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

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

Establece objetivos comerciales y KPIs

Alinea las decisiones técnicas de tus proyectos de IA y AA con los objetivos comerciales y los indicadores clave de rendimiento (KPI).

Define objetivos estratégicos y KPIs centrados en el ROI

Asegúrate de que los proyectos de IA y AA se alineen con los objetivos estratégicos, como el crecimiento de los ingresos, la reducción de costos, la satisfacción del cliente y la eficiencia. Interactúa con las partes interesadas para comprender las prioridades de la empresa. Define objetivos de IA y AA que sean específicos, medibles, alcanzables, relevantes y con plazos determinados (SMART). Por ejemplo, un objetivo SMART es: "Reducir el tiempo de atención por chat para el equipo de asistencia al cliente en un 15% en 6 meses con un chatbot de IA".

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

  • Costos de entrenamiento, inferencia, almacenamiento y recursos de red, incluidos los costos unitarios específicos (como el costo por inferencia, punto de datos o tarea) Estas métricas te ayudan a obtener estadísticas sobre la eficiencia y las oportunidades de optimización de costos. Puedes hacer un seguimiento de estos costos con los informes de Facturación de Cloud y los paneles de Cloud Monitoring.
  • Métricas de valor comercial, como el crecimiento de los ingresos, el ahorro de costos, la satisfacción del cliente, la eficiencia, la precisión y la adopción. Puedes hacer un seguimiento de estas métricas con las estadísticas de BigQuery y los paneles de Looker.
  • Métricas específicas de la industria, como las siguientes:

    • Sector de venta minorista: mide el incremento de ingresos y la deserción
    • Sector de la atención médica: Medir el tiempo de los pacientes y los resultados de los pacientes
    • Sector financiero: Medir la reducción del fraude
  • Son 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: cómo medir la precisión

Fomenta una cultura de conciencia de los costos y optimización continua

Adopta los principios de FinOps para garantizar que cada proyecto de IA y AA tenga costos estimados y formas de medir y hacer un seguimiento de los costos reales a lo largo de su ciclo de vida. Asegúrate de que los costos y los beneficios comerciales de tus proyectos tengan propietarios asignados y una responsabilidad clara.

Para obtener más información, consulta Fomenta una cultura de conciencia de los costos en el pilar de optimización de costos del Google Cloud Well-Architected Framework.

Genera valor y optimización continua a través de la iteración y los comentarios

Asigna tus aplicaciones de IA y AA directamente a tus objetivos comerciales y mide el ROI.

Para validar tus hipótesis sobre el ROI, comienza con proyectos piloto y usa el siguiente ciclo de optimización iterativo:

  1. Supervisa continuamente y analiza los datos: Supervisa los KPI y los costos para identificar desviaciones y oportunidades de optimización.
  2. Realiza ajustes basados en datos: Optimiza 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 comerciales y los KPIs en función de lo que aprendiste y las necesidades comerciales cambiantes. Esta iteración te ayuda a mantener la relevancia y la alineación estratégica.
  4. Establece un circuito de retroalimentación: Revisa el rendimiento, los costos y el valor con las partes interesadas para informar la optimización continua y la planificación de proyectos futuros.

Administra los datos de facturación con Facturación de Cloud y etiquetas

La optimización de costos eficaz requiere visibilidad en la fuente de cada elemento de costo. Las recomendaciones de esta sección pueden ayudarte a usar herramientas de Google Cloudpara obtener estadísticas detalladas sobre tus costos de IA y AA. También puedes atribuir costos a proyectos, equipos y actividades específicos de IA y AA. Estas estadísticas sientan las bases para la optimización de costos.

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 AA. Para hacer un seguimiento y analizar los costos en diferentes niveles, organiza tus recursos Google Cloud con organizaciones, carpetas y proyectos. Para obtener más información, consulta Elige una jerarquía de recursos para tu Google Cloud zona de destino.
  • Aplica etiquetas significativas a tus recursos. Puedes usar etiquetas que indiquen el proyecto, el equipo, el entorno, el nombre del modelo, el conjunto de datos, el caso de uso y los requisitos de rendimiento. Las etiquetas proporcionan un contexto valioso para tus datos de facturación y permiten un análisis de costos detallado.
  • Mantén la coherencia en tus convenciones de etiquetado en todos tus proyectos de IA y AA. Las convenciones de etiquetado coherentes garantizan que tus 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 capacidades de consulta que te permiten analizar los datos de facturación para comprender tus costos.
  • Para agregar costos por etiquetas, proyectos o períodos específicos, puedes escribir consultas en SQL personalizadas en BigQuery. Estas búsquedas te permiten atribuir costos a actividades específicas de AA y AA, como el entrenamiento de modelos, el ajuste de hiperparámetros o la inferencia.
  • Para identificar anomalías en los costos o aumentos repentinos inesperados en el gasto, usa las capacidades de análisis de BigQuery. Este enfoque puede ayudarte a detectar posibles problemas o ineficiencias en tus cargas de trabajo de IA y AA.
  • Para identificar y administrar los costos inesperados, usa el panel de detección de anomalías en la Facturación de Cloud.
  • Para distribuir los costos entre diferentes equipos o departamentos según el uso de recursos, usa la función de asignación de costos de Google Cloud. La asignación de costos promueve la responsabilidad y la transparencia.
  • Para obtener estadísticas sobre los patrones de inversión, explora los informes de Facturación de Cloud prediseñados. Puedes filtrar y personalizar estos informes para enfocarte en proyectos o servicios específicos de IA y AA.

Supervisa los recursos de forma continua con paneles, alertas e informes

Para crear una forma escalable y resistente de hacer un seguimiento de los costos, necesitas supervisión y generación de informes continuos. Los paneles, las alertas y los informes constituyen la base para un seguimiento de costos eficaz. Esta base te permite mantener un acceso constante a la información de costos, identificar áreas de optimización y garantizar la alineación entre los objetivos comerciales y los costos.

Crea un sistema de informes

Crear informes programados y compartirlos con las partes interesadas correspondientes

Usa Cloud Monitoring para recopilar métricas de diversas fuentes, incluidas tus aplicaciones, infraestructura y servicios como Compute Engine, Google Kubernetes Engine (GKE) y funciones de Cloud Run. Google Cloud Para visualizar métricas y registros en tiempo real, puedes usar el panel prediseñado de Cloud Monitoring o crear paneles personalizados. Los paneles personalizados te permiten definir y agregar métricas para hacer un seguimiento de aspectos específicos de tus sistemas, como el rendimiento del modelo, las llamadas a la API o los KPI a nivel de la empresa.

Usa Cloud Logging para la recopilación y el almacenamiento centralizados de registros de tus aplicaciones, sistemas y Google Cloud servicios. Usa los registros para los siguientes fines:

  • Realiza un seguimiento de los costos y la utilización de recursos como la CPU, la memoria, el almacenamiento y la red.
  • Identificar casos de aprovisionamiento excesivo (en los que los recursos no se utilizan por completo) y de aprovisionamiento insuficiente (en los que no hay recursos suficientes) El aprovisionamiento excesivo genera costos innecesarios. El aprovisionamiento insuficiente ralentiza los tiempos de entrenamiento y puede causar problemas de rendimiento.
  • Identifica los recursos inactivos o infrautilizados, como las VMs y las GPUs, y toma medidas para apagarlos o redimensionarlos y, así, optimizar los costos.
  • Identifica los aumentos repentinos de costos para detectar incrementos repentinos e inesperados en el uso de recursos o los costos.

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

Establece umbrales de alerta según los KPIs clave

Para tus KPI, determina los umbrales que deberían activar las alertas. Los umbrales de alerta significativos pueden ayudarte a evitar la fatiga por alertas. Crea políticas de alertas en Cloud Monitoring para recibir notificaciones relacionadas con tus KPI. Por ejemplo, puedes recibir notificaciones cuando la precisión cae por debajo de un umbral determinado o cuando la latencia supera un límite definido. Las alertas basadas en datos de registros pueden notificarte sobre posibles problemas de costos en tiempo real. Estas alertas te permiten tomar medidas correctivas de inmediato y evitar más pérdidas financieras.

Optimiza la asignación de recursos

Para lograr la eficiencia en los costos de tus cargas de trabajo de IA y AA en Google Cloud, debes optimizar la asignación de recursos. Para ayudarte a evitar gastos innecesarios y garantizar que tus cargas de trabajo tengan los recursos que necesitan para funcionar de manera ó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 AA, ten en cuenta las siguientes recomendaciones.

Utiliza el ajuste de escala automático para ajustar los recursos de forma dinámica

Usa servicios de Google Cloud que admitan el ajuste de escala automático, que ajusta automáticamente la asignación de recursos para satisfacer la demanda actual. El ajuste de escala automático proporciona los siguientes beneficios:

  • Optimización del rendimiento y los costos: Evitas pagar por recursos inactivos. Al mismo tiempo, el ajuste de escala automático garantiza que tus sistemas tengan los recursos necesarios para funcionar de manera óptima, incluso en los momentos de mayor carga.
  • Mayor eficiencia: Libera a tu equipo para que se enfoque en otras tareas.
  • Mayor agilidad: Puedes responder rápidamente a los cambios en la demanda y mantener una alta disponibilidad para tus aplicaciones.

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

Etapa Técnicas de ajuste de escala automático
Capacitación
  • Usa servicios administrados como Vertex AI o GKE, que ofrecen capacidades de ajuste de escala automático integradas para los trabajos de entrenamiento.
  • Configura políticas de ajuste de escala automático para ajustar la cantidad de instancias de entrenamiento según métricas como el uso de CPU, el uso de memoria y la longitud de la cola de trabajos.
  • Usa métricas de ajuste de escala personalizadas para ajustar el comportamiento del ajuste de escala automático para tus cargas de trabajo específicas.
Inferencia
  • Implementa tus modelos en plataformas escalables, como Vertex AI Inference, GPU en GKE o TPU en GKE.
  • Usa las funciones de ajuste de escala automático para ajustar la cantidad de réplicas según métricas como el porcentaje de solicitudes, la latencia y el uso de recursos.
  • Implementa el balanceo de cargas para distribuir el tráfico de manera uniforme entre las réplicas y garantizar una alta disponibilidad.

Comienza con modelos y conjuntos de datos pequeños

Para ayudar a reducir los costos, prueba las hipótesis de AA a pequeña escala cuando sea posible y usa un enfoque iterativo. Este enfoque, con modelos y conjuntos de datos más pequeños, proporciona los siguientes beneficios:

  • Reducción de costos desde el inicio: Menos potencia de procesamiento, almacenamiento y tiempo de procesamiento pueden generar costos más bajos durante las fases iniciales de experimentación y desarrollo.
  • Iteración más rápida: Se requiere menos tiempo de entrenamiento, lo que te permite iterar más rápido, explorar enfoques alternativos e identificar direcciones prometedoras de manera más eficiente.
  • Menor complejidad: Depuración, análisis e interpretación de resultados más sencillos, lo que genera ciclos de desarrollo más rápidos.
  • Uso eficiente de los recursos: Se reduce la posibilidad de aprovisionar recursos en exceso. Solo aprovisionas los recursos necesarios para la carga de trabajo actual.

Ten en cuenta las siguientes recomendaciones:

  • Primero usa datos de muestra: 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 con notebooks: Comienza con instancias más pequeñas y escálalas según sea necesario. Puedes usar Vertex AI Workbench, un entorno de notebooks de Jupyter administrado que es adecuado para experimentar con diferentes arquitecturas de modelos y conjuntos de datos.
  • Comienza con modelos más simples o previamente entrenados: Usa Vertex AI Model Garden para descubrir y explorar los modelos previamente entrenados. Estos modelos requieren menos recursos de procesamiento. Aumenta la complejidad de forma gradual según sea necesario en función de los requisitos de rendimiento.

    • Utiliza modelos previamente entrenados para tareas como la clasificación de imágenes y el procesamiento de lenguaje natural. Para ahorrar en costos de entrenamiento, puedes ajustar los modelos en conjuntos de datos más pequeños al principio.
    • Usa BigQuery ML para datos estructurados. BigQuery ML te permite crear e implementar modelos directamente en BigQuery. Este enfoque puede ser rentable para la experimentación inicial, ya que puedes aprovechar el modelo de precios de pago por consulta de BigQuery.
  • Escala para optimizar los recursos: Usa la infraestructura flexible de Google Cloudpara escalar los recursos según sea necesario. Comienza con instancias más pequeñas y ajusta su tamaño o cantidad cuando sea necesario.

Descubre los requisitos de recursos a través de la experimentación

Los requisitos de recursos para las cargas de trabajo de IA y AA pueden variar significativamente. Para optimizar la asignación de recursos y los costos, debes comprender las necesidades específicas de tus cargas de trabajo a través de la experimentación sistemática. Para identificar la configuración más eficiente para tus modelos, prueba diferentes configuraciones y analiza su rendimiento. Luego, según los requisitos, ajusta el tamaño de los recursos que usaste para el entrenamiento y la entrega.

Te recomendamos el siguiente enfoque para la experimentación:

  1. Comienza con un valor de referencia: Comienza con una configuración de referencia basada en tus estimaciones iniciales de los requisitos de la carga de trabajo. Para crear un valor de referencia, puedes usar el estimador de costos para cargas de trabajo nuevas o un informe de facturación existente. Para obtener más información, consulta Unlock the true cost of enterprise AI on Google Cloud.
  2. Comprende tus cuotas: Antes de lanzar experimentos extensos, familiarízate con las cuotas de tu Google Cloud proyecto Google Cloud para los recursos y las APIs que planeas usar. Las cuotas determinan el rango 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 la cantidad de CPU, la cantidad de memoria, la cantidad y el tipo de GPU y TPU, y la capacidad de almacenamiento. Vertex AI Training y Vertex AI Predictions te permiten experimentar con diferentes tipos y configuraciones de máquinas.
  4. Supervisa el uso, el costo y el rendimiento: Haz un seguimiento del uso de recursos, el costo y las métricas clave de rendimiento, como el tiempo de entrenamiento, la latencia de inferencia y la precisión del modelo, para cada configuración con la que experimentes.

    • Para hacer un seguimiento de las métricas de rendimiento y utilización de recursos, puedes usar la consola de Vertex AI.
    • Para recopilar y analizar métricas de rendimiento detalladas, usa Cloud Monitoring.
    • Para ver los costos, usa los informes de Facturación de Cloud y los paneles de Cloud Monitoring.
    • Para identificar los cuellos de botella de rendimiento en tus modelos y optimizar el uso de recursos, usa herramientas de generación de perfiles como Vertex AI TensorBoard.
  5. Analiza los costos: Compara el costo 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 cuando el ajuste de escala comience a generar retornos decrecientes en el rendimiento, como una reducción mínima en el tiempo de entrenamiento o la latencia para un aumento significativo del costo. Ten en cuenta las cuotas del proyecto cuando establezcas estos umbrales. Determina el punto en el que los costos y las posibles implicaciones de cuota de un mayor escalamiento ya no se justifican por las ganancias de rendimiento.

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

Usa MLOps para reducir las ineficiencias

A medida que las organizaciones usan cada vez más el AA para impulsar la innovación y la eficiencia, se vuelve fundamental administrar el ciclo de vida del AA de manera eficaz. Las operaciones de AA (MLOps) son un conjunto de prácticas que automatizan y optimizan el ciclo de vida del AA, desde el desarrollo del modelo hasta la implementación y la supervisión.

Alinea las prácticas de MLOps con los factores que determinan los costos

Para aprovechar MLOps y lograr eficiencia en los costos, identifica los principales factores que los determinan en el ciclo de vida del AA. Luego, puedes adoptar e implementar prácticas de MLOps que se alineen con los factores de costos. Prioriza y adopta las funciones de MLOps que aborden los factores de costos más importantes. Este enfoque ayuda a garantizar un camino manejable y exitoso hacia ahorros de costos significativos.

Implementa MLOps para la optimización de costos

Las siguientes son prácticas comunes de MLOps que ayudan a reducir los costos:

  • Control de versiones: Las herramientas como Git pueden ayudarte a hacer un seguimiento de las versiones del código, los datos y los modelos. El control de versiones garantiza la reproducibilidad, facilita la colaboración y evita el costoso trabajo adicional que pueden causar los problemas de versiones.
  • Integración continua y entrega continua (CI/CD): Cloud Build y Artifact Registry te permiten implementar canalizaciones de CI/CD para automatizar la compilación, las pruebas y la implementación de tus modelos de AA. Las canalizaciones de CI/CD garantizan el uso eficiente de los recursos y minimizan los costos asociados con las intervenciones manuales.
  • Observabilidad: Cloud Monitoring y Cloud Logging te permiten hacer un seguimiento del rendimiento del modelo en producción, identificar problemas y activar alertas para una intervención proactiva. La observabilidad te permite mantener la precisión del modelo, optimizar la asignación de recursos y evitar el tiempo de inactividad costoso o la degradación del rendimiento.
  • Reentrenamiento de modelos: Vertex AI Pipelines simplifica los procesos para reentrenar modelos de forma periódica o cuando el rendimiento disminuye. Cuando usas Vertex AI Pipelines para el reentrenamiento, se garantiza 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 durante todo el ciclo de vida del AA para garantizar la calidad y la confiabilidad de tus modelos. Estas pruebas pueden ayudarte a detectar errores de forma anticipada, evitar problemas costosos en la producción y reducir la necesidad de realizar pruebas manuales exhaustivas.

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

Aplicar prácticas de administración y control de datos

Las prácticas eficaces de administración y control de datos son fundamentales para la optimización de costos. Los datos bien organizados pueden alentar a los equipos a reutilizar conjuntos de datos, evitar duplicaciones innecesarias y reducir el esfuerzo necesario para obtener datos de alta calidad. Si administras los datos de forma proactiva, puedes reducir los costos de almacenamiento, mejorar la calidad de los datos y asegurarte de que tus modelos de AA se entrenen con los datos más pertinentes y valiosos.

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

Establece y adopta un marco de trabajo de administración de datos

La creciente importancia de la IA y el AA ha convertido a los datos en el activo más valioso para las organizaciones que están en proceso de transformación digital. Un marco de trabajo sólido para la administración de datos es un requisito fundamental para administrar las cargas de trabajo de IA y AA de forma rentable a gran escala. Un marco de administración de datos con políticas, procedimientos y roles claramente definidos proporciona un enfoque estructurado para administrar los datos durante todo su ciclo de vida. Este marco ayuda a mejorar la calidad de los datos, aumentar la seguridad, mejorar la utilización y reducir la redundancia.

Establece un marco de trabajo de administración de datos

Existen muchos marcos de trabajo preexistentes para la organización de datos, como los que publica el EDM Council, con opciones disponibles para diferentes industrias y tamaños de organizaciones. Elige y adapta un marco que se alinee con tus necesidades y prioridades específicas.

Implementa el marco de trabajo de administración de datos

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

  • Dataplex Universal Catalog es un tejido de datos inteligente que te ayuda a unificar datos distribuidos y automatizar el control de datos sin necesidad de consolidar conjuntos de datos en un solo lugar. Esto ayuda a reducir el costo de distribuir y mantener los datos, facilita el descubrimiento de datos y promueve su reutilización.

  • Dataplex Universal Catalog también es un servicio de administración de metadatos escalable y completamente administrado. El catálogo proporciona una base que garantiza que los recursos de datos sean accesibles y reutilizables.

    • Los metadatos de las fuentes Google Cloud compatibles se transfieren automáticamente al catálogo universal. Para las fuentes de datos fuera de Google Cloud, crea entradas personalizadas.
    • Para mejorar la capacidad de descubrimiento y la administración de los recursos de datos, enriquece los metadatos técnicos con metadatos comerciales usando aspectos.
    • Asegúrate de que los científicos de datos y los profesionales del AA tengan los permisos suficientes para acceder a Dataplex Universal Catalog y usar la función de búsqueda.
  • El uso compartido de BigQuery te permite intercambiar recursos de datos de forma eficiente y segura entre tus organizaciones para abordar los desafíos de confiabilidad y costo de los datos.

    • Configura los intercambios de datos y asegúrate de que los activos de datos seleccionados se puedan ver como fichas.
    • Utiliza salas limpias de datos para administrar de forma segura el acceso a datos sensibles y asociarte de manera eficiente con equipos y organizaciones externos en proyectos de AA y AA.
    • Asegúrate de que los científicos de datos y los profesionales de ML tengan suficientes permisos para ver y publicar conjuntos de datos en el uso compartido de BigQuery.

Haz que los conjuntos de datos y los atributos sean reutilizables durante todo el ciclo de vida del AA

Para obtener beneficios significativos en cuanto a eficiencia y costos, reutiliza los conjuntos de datos y los atributos en varios proyectos de AA. Cuando evitas esfuerzos redundantes de ingeniería de datos y desarrollo de funciones, tu organización puede acelerar el desarrollo de modelos, reducir los costos 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 AA pueden publicar productos de datos para maximizar la reutilización en los distintos equipos. Luego, los productos de datos se pueden descubrir y usar a través de Dataplex Universal Catalog y el uso compartido de BigQuery.
  • Para los conjuntos de datos tabulares y estructurados, puedes usar Vertex AI Feature Store para promover la reutilización y optimizar la administración de atributos a través de BigQuery.
  • Puedes almacenar datos no estructurados en Cloud Storage y gobernarlos con tablas de objetos de BigQuery y URLs firmadas.
  • Puedes administrar los embeddings de vectores incluyendo metadatos en tus índices de Vector Search.

Automatiza y agiliza los procesos con MLOps

Uno de los principales beneficios de adoptar las prácticas de MLOps es la reducción de los costos de tecnología y personal. La automatización te ayuda a evitar la duplicación de actividades de AA y a reducir la carga de trabajo de los científicos de datos y los ingenieros de AA.

Para automatizar y optimizar el desarrollo de AA con MLOps, ten en cuenta las siguientes recomendaciones.

Automatiza y estandariza la recopilación y el procesamiento de datos

Para reducir el tiempo y el esfuerzo de desarrollo del AA, automatiza y estandariza tus tecnologías de recopilación y procesamiento de datos.

Automatiza la recopilación y el procesamiento de datos

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

Identifica y elige las fuentes de datos pertinentes para tus tareas de IA y AA:

Para cada una de tus fuentes de datos, elige una herramienta de transferencia:

  • Dataflow: Para el procesamiento por lotes y de transmisión de datos de diversas fuentes, con integración de componentes de AA Para una arquitectura basada en eventos, puedes combinar Dataflow con Eventarc para procesar datos de manera eficiente para el AA. Para mejorar la eficiencia de los trabajos de MLOps y AA, usa las capacidades de GPU y ajuste adecuado.
  • Funciones de Cloud Run: Para la transferencia de datos controlada por eventos que se activa con cambios en las fuentes de datos para aplicaciones en tiempo real.
  • BigQuery: Para la transferencia de datos tabulares clásicos con acceso frecuente.

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

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

Estandarizar la recopilación y el procesamiento de datos

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

Para aplicar la estandarización y evitar el costo de mantener varias implementaciones personalizadas, usa canalizaciones de entrenamiento y organización automatizadas. Para obtener más información, consulta la siguiente sección.

Automatiza las canalizaciones de entrenamiento y reutiliza los recursos existentes

Para aumentar la eficiencia y la productividad en MLOps, las canalizaciones de entrenamiento automatizadas son fundamentales. Google Cloud ofrece un conjunto sólido de herramientas y servicios para compilar e implementar canalizaciones de entrenamiento, con un gran énfasis en la reutilización de recursos existentes. Las canalizaciones de entrenamiento automatizadas ayudan a acelerar el desarrollo de modelos, garantizar la coherencia y reducir el esfuerzo redundante.

Automatiza las canalizaciones de entrenamiento

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

Función Google Cloud servicios y funciones
Organización: Define flujos de trabajo de AA complejos que constan de varios pasos y dependencias. Puedes definir cada paso como una tarea independiente en un contenedor, lo que te ayuda a administrar y escalar tareas individuales con facilidad.
  • Para crear y organizar canalizaciones, usa Vertex AI Pipelines o Kubeflow Pipelines. Estas herramientas admiten la transformación de datos simple, el entrenamiento de modelos, la implementación de modelos y el control de versiones de canalizaciones. Te permiten definir dependencias entre los pasos, administrar el flujo de datos y automatizar la ejecución de todo el flujo de trabajo.
  • Para tareas operativas complejas con requisitos exigentes de CI/CD y extracción, transformación y carga (ETL), usa Cloud Composer. Si prefieres Airflow para la organización de datos, Cloud Composer es un servicio administrado compatible que se basa en Airflow.
  • Para las canalizaciones que se administran fuera de Vertex AI Pipelines, usa Workflows para tareas enfocadas en la infraestructura, como iniciar y detener VMs, o bien integrarse con sistemas externos.
  • Para automatizar tu 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 se necesite entrenar un modelo nuevo.
  • Para obtener una solución escalable y completamente administrada para la administración de canalizaciones, usa Cloud Data Fusion.
Control de versiones: Haz un seguimiento y controla las diferentes versiones de las canalizaciones y los componentes para garantizar la reproducibilidad y la auditabilidad. Almacena plantillas de canalizaciones de Kubeflow Pipelines en un repositorio de Kubeflow Pipelines en Artifact Registry.
Reutilización: Reutiliza los componentes y artefactos existentes de la canalización, como los conjuntos de datos preparados y los modelos entrenados, para acelerar el desarrollo. Almacena tus plantillas de canalización en Cloud Storage y compártelas en toda tu organización.
Supervisión: Supervisa la ejecución de la canalización para identificar y abordar cualquier problema. Usa Cloud Logging y Cloud Monitoring. Para obtener más información, consulta Supervisa los recursos de forma continua con paneles, alertas y registros.

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

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

  • Vertex AI Feature Store proporciona un repositorio centralizado para organizar, almacenar y entregar atributos del AA. Te permite reutilizar atributos en diferentes proyectos y modelos, lo que puede mejorar la coherencia y reducir el esfuerzo de ingeniería de atributos. Puedes almacenar, compartir y acceder a funciones para casos de uso en línea y sin conexión.
  • Los conjuntos de datos de Vertex AI permiten que los equipos creen y administren 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, administrar y, luego, implementar tus modelos entrenados. Model Registry te permite reutilizar los modelos en canalizaciones posteriores o para la predicción en línea, 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, y almacenarlos en Artifact Registry. Los contenedores personalizados te permiten proporcionar entornos de entrenamiento coherentes y reproducibles en diferentes proyectos y canalizaciones.

Usa los servicios de Google Cloud para la evaluación y el ajuste de modelos

Google Cloud ofrece un potente conjunto 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 supervisión y el entrenamiento continuos. Con estos servicios, tus equipos de IA y AA pueden mejorar el rendimiento de los modelos con menos iteraciones costosas, obtener resultados más rápido y minimizar el desperdicio de recursos de procesamiento.

Usa la evaluación y la experimentación de modelos eficientes en el uso de recursos

Comienza 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 una mayor reproducibilidad y comparación de los resultados, usa el seguimiento de metadatos además del control de versiones del código, de forma similar a las capacidades de Git. Para evitar la falta de información o la implementación de la versión incorrecta en producción, usa Vertex AI Experiments antes de implementar trabajos de entrenamiento o implementación a gran escala.

Vertex AI Experiments te permite hacer lo siguiente:

  • Optimiza y automatiza el seguimiento y el descubrimiento de metadatos a través de una IU y una API fáciles de usar para cargas de trabajo listas para la producción.
  • Analiza las métricas de rendimiento del modelo y compáralas con las de otros modelos.

Después de entrenar el modelo, supervisa continuamente el rendimiento y la desviación de los datos a lo largo del tiempo para los datos entrantes. Para optimizar este proceso, usa Vertex AI Model Monitoring para acceder directamente a los modelos creados en Model Registry. La Supervisión de modelos también automatiza la supervisión de los datos y los resultados a través de predicciones en línea y por lotes. Puedes exportar los resultados a BigQuery para realizar un análisis y un seguimiento más detallados.

Elige estrategias óptimas para automatizar el entrenamiento

Para el ajuste de hiperparámetros, recomendamos los siguientes enfoques:

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

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 costos asociados. Usa herramientas como las siguientes:

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

Usa la IA explicable

Es fundamental comprender por qué un modelo toma ciertas decisiones y, también, identificar posibles sesgos o áreas de mejora. Usa Vertex Explainable AI para obtener estadísticas sobre las predicciones de tu modelo. Vertex Explainable AI ofrece una forma de automatizar las explicaciones basadas en atributos y en ejemplos que se vinculan a tus experimentos de Vertex AI.

  • Basadas en atributos: Para comprender qué atributos son más influyentes en las predicciones de tu modelo, analiza las atribuciones de atributos. Esta comprensión puede guiar los esfuerzos de ingeniería de atributos y mejorar la interpretabilidad del modelo.
  • Basadas en ejemplos: Para devolver una lista de ejemplos (por lo general, del conjunto de entrenamiento) que sean más similares a la entrada, Vertex AI usa la búsqueda de vecino más cercano. Debido a que las entradas similares suelen generar predicciones similares, puedes usar estas explicaciones para explorar y explicar el comportamiento de un modelo.

Usa servicios administrados y modelos previamente entrenados

Adopta un enfoque incremental para la selección y el desarrollo de modelos. Este enfoque te ayuda a evitar los costos excesivos asociados con comenzar de cero cada vez. Para controlar los costos, usa frameworks de AA, servicios administrados y modelos previamente entrenados.

Para obtener el máximo valor de los servicios administrados y los modelos previamente entrenados, ten en cuenta las siguientes recomendaciones.

Usa notebooks para la exploración y los experimentos

Los entornos de notebooks son fundamentales para la experimentación rentable con el AA. Un notebook proporciona un espacio interactivo y colaborativo para que los ingenieros y científicos de datos exploren los datos, desarrollen modelos, compartan conocimientos y realicen iteraciones de manera eficiente. La colaboración y el intercambio de conocimientos a través de notebooks aceleran significativamente el desarrollo, las revisiones de código y la transferencia de conocimientos. Los notebooks ayudan a optimizar los flujos de trabajo y reducir los esfuerzos duplicados.

En lugar de adquirir y administrar hardware costoso para tu entorno de desarrollo, puedes usar la infraestructura escalable y on demand de Vertex AI Workbench y Colab Enterprise.

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

    • Acceder y explorar datos desde un notebook de Jupyter con las integraciones de BigQuery y Cloud Storage
    • Automatizar las actualizaciones recurrentes de un modelo con ejecuciones programadas de código que se ejecuta en Vertex AI
    • Procesa datos rápidamente ejecutando un notebook en un clúster de Dataproc.
    • Ejecutar un notebook como un paso en una canalización con Vertex AI Pipelines
  • Colab Enterprise es un entorno de notebook colaborativo y administrado que tiene las capacidades 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 administrar la infraestructura. Colab Enterprise se integra con losGoogle Cloud servicios y la asistencia potenciada por IA que usa Gemini. Colab Enterprise te permite hacer lo siguiente:

    • Trabaja en notebooks sin necesidad de administrar infraestructura.
    • Comparte un notebook con un solo usuario, un Grupo de Google o un dominio de Google Workspace. Puedes controlar el acceso a los notebooks a través de Identity and Access Management (IAM).
    • Interactuar con las funciones integradas en Vertex AI y BigQuery

Para hacer un seguimiento de los cambios y revertir a versiones anteriores cuando sea necesario, puedes integrar tus notebooks con herramientas de control de versión como Git.

Comienza con modelos existentes y previamente entrenados

Entrenar modelos complejos desde cero, en especial los modelos de aprendizaje profundo, requiere una gran cantidad de recursos de procesamiento y tiempo. Para acelerar el proceso de selección y desarrollo de modelos, comienza con modelos existentes y previamente entrenados. Estos modelos, que se entrenan con grandes conjuntos de datos, eliminan la necesidad de entrenar modelos desde cero y reducen significativamente el costo y el tiempo de desarrollo.

Reducción de los costos de capacitación y desarrollo

Seleccionar un modelo o una API adecuados para cada tarea de AA y combinarlos para crear un proceso de desarrollo de AA de extremo a extremo

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

Google Cloud proporciona APIs de IA y AA que permiten a los desarrolladores integrar potentes capacidades de IA en las aplicaciones sin necesidad de compilar modelos desde cero.

  • La API de Cloud Vision te permite obtener estadísticas a partir de imágenes. Esta API es valiosa para aplicaciones como el análisis de imágenes, la moderación de contenido y la entrada de datos automatizada.
  • La API de Cloud Natural Language te permite analizar texto para comprender su estructura y significado. Esta API es útil para tareas como el análisis de comentarios de clientes, la categorización de contenido y la comprensión de las tendencias en redes sociales.
  • La API de Speech-to-Text convierte audio en texto. Esta API admite una amplia variedad de idiomas y dialectos.
  • La API de Video Intelligence analiza el contenido de video para identificar objetos, escenas y acciones. Usa esta API para el análisis de contenido de video, la moderación de contenido y la búsqueda de videos.
  • La API de 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 conversacionales, como chatbots 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 de propósito general más potente de Google.

Reduce los costos de ajuste

Para reducir la necesidad de una gran cantidad de datos y tiempo de procesamiento, ajusta tus modelos previamente entrenados en conjuntos de datos específicos. Te recomendamos que pruebes los siguientes enfoques:

  • Transferencia de aprendizaje: Usa el conocimiento de un modelo entrenado previamente para una tarea nueva, en lugar de comenzar desde cero. Este enfoque requiere menos datos y tiempo de procesamiento, lo que ayuda a reducir los costos.
  • Ajuste del adaptador (ajuste eficiente de parámetros): Adapta modelos a nuevas tareas o dominios sin un ajuste completo. Este enfoque requiere muchos menos recursos de procesamiento 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 administración de la infraestructura subyacente y el esfuerzo de desarrollo que se requiere para un trabajo de entrenamiento personalizado.

Explora y experimenta con Vertex AI Studio

Vertex AI Studio te permite probar, crear prototipos y, luego, implementar aplicaciones de IA generativa con rapidez.

  • Integración con Model Garden: Proporciona acceso rápido a los modelos más recientes y te permite implementarlos de manera eficiente para ahorrar tiempo y costos.
  • Acceso unificado a modelos especializados: Consolida el acceso a una amplia variedad de modelos y APIs previamente entrenados, incluidos los de chat, texto, medios, traducción y voz. Este acceso unificado puede ayudarte a reducir el tiempo que dedicas a buscar e integrar servicios individuales.

Usa servicios administrados para entrenar o entregar modelos

Los servicios administrados pueden ayudar a reducir el costo del entrenamiento de modelos y simplificar la administración de la infraestructura, lo que te permite enfocarte en el desarrollo y la optimización del modelo. Este enfoque puede generar beneficios significativos en los costos y aumentar la eficiencia.

Reduce la sobrecarga operativa

Para reducir la complejidad y el costo de la administración de la infraestructura, usa servicios administrados, como los siguientes:

  • Vertex AI Training proporciona un entorno completamente administrado para entrenar tus modelos a gran escala. Puedes elegir entre varios contenedores prediseñados con frameworks de AA populares o usar tus propios contenedores personalizados. Google Cloud se encarga del aprovisionamiento, el escalamiento y el mantenimiento de la infraestructura, por lo que incurres en una menor sobrecarga operativa.
  • Las predicciones de Vertex AI controlan el ajuste de escala de la infraestructura, el balanceo de cargas y el enrutamiento de solicitudes. Obtienes alta disponibilidad y rendimiento sin intervención manual.
  • Ray en Vertex AI proporciona un clúster de Ray completamente administrado. Puedes usar el clúster para ejecutar cargas de trabajo de IA personalizadas complejas que realizan muchos cálculos (ajuste de hiperparámetros, ajuste de modelos, entrenamiento de modelos distribuidos y aprendizaje por refuerzo con retroalimentación humana) sin necesidad de administrar tu propia infraestructura.

Usa servicios administrados para optimizar el uso de recursos

Para obtener detalles sobre el uso eficiente de los recursos, consulta Optimiza el uso de los recursos.

Colaboradores

Autores:

  • Isaac Lo | Administrador de Desarrollo Empresarial de IA
  • Anastasia Prokaeva | Arquitecta de soluciones de campo, IA generativa
  • Amy Southwood | Consultora de soluciones técnicas, IA y estadísticas de datos

Otros colaboradores:

Perspectiva de IA y AA: Optimización del rendimiento

En este documento del Framework de Well-Architected: perspectiva de IA y AA, se proporciona una descripción general de los principios y las recomendaciones para ayudarte a optimizar el rendimiento de tus cargas de trabajo de IA y AA en Google Cloud. Las recomendaciones de este documento se alinean con el pilar de optimización del rendimiento del Google Cloud Framework de Well-Architected.

Los sistemas de IA y AA habilitan nuevas capacidades de automatización y toma de decisiones para tu organización. El rendimiento de estos sistemas puede afectar directamente los factores de tu empresa, como los ingresos, los costos y la satisfacción del cliente. Para aprovechar todo el potencial de tus sistemas de IA y AA, debes optimizar su rendimiento en función de tus objetivos comerciales y requisitos técnicos. El proceso de optimización del rendimiento suele implicar ciertas compensaciones. Por ejemplo, una elección de diseño que proporcione el rendimiento requerido podría generar costos más altos. Las recomendaciones de este documento priorizan el rendimiento por sobre otras consideraciones, como los costos.

Para optimizar el rendimiento de la IA y el AA, debes tomar decisiones sobre factores como la arquitectura del modelo, los parámetros y la estrategia de entrenamiento. Cuando tomes estas decisiones, considera todo el ciclo de vida de los sistemas de IA y AA, y su entorno de implementación. Por ejemplo, los LLM muy grandes pueden tener un rendimiento muy alto en infraestructuras de entrenamiento masivas, pero es posible que no funcionen bien en entornos con capacidad limitada, como los dispositivos móviles.

Traduce los objetivos comerciales en objetivos de rendimiento

Para tomar decisiones de arquitectura que optimicen el rendimiento, comienza con un conjunto claro de objetivos comerciales. Diseña sistemas de IA y AA que proporcionen el rendimiento técnico necesario para respaldar tus objetivos y prioridades comerciales. Tus equipos técnicos deben comprender la correlación entre los objetivos de rendimiento y los objetivos comerciales.

Ten en cuenta las siguientes recomendaciones:

  • Traduce los objetivos comerciales en requisitos técnicos: Traduce los objetivos comerciales de tus sistemas de IA y AA en requisitos específicos de rendimiento técnico y evalúa los efectos de no cumplir con los requisitos. Por ejemplo, en el caso de una aplicación que predice la deserción de clientes, el modelo de AA debe tener un buen rendimiento en las métricas estándar, como la exactitud y la recuperación, y la aplicación debe cumplir con los requisitos operativos, como la baja latencia.
  • Supervisa el rendimiento en todas las etapas del ciclo de vida del modelo: Durante la experimentación y el entrenamiento después de la implementación del modelo, supervisa tus indicadores clave de rendimiento (KPI) y observa cualquier desviación de los objetivos comerciales.
  • Automatiza la evaluación para que sea reproducible y estandarizada: Con una plataforma y una metodología estandarizadas y comparables para la evaluación de experimentos, tus ingenieros pueden aumentar el ritmo de mejora del rendimiento.

Ejecuta y haz un seguimiento de experimentos frecuentes

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

Ten en cuenta las siguientes recomendaciones:

  • Crea un entorno de experimentación: Las mejoras en el rendimiento requieren un entorno interactivo, potente y exclusivo que admita la experimentación y el desarrollo colaborativo de canalizaciones de AA.
  • Incorpora la experimentación como cultura: Ejecuta experimentos antes de cualquier implementación de producción. Lanza versiones nuevas de forma iterativa y recopila siempre datos de rendimiento. Experimenta con diferentes tipos de datos, transformaciones de atributos, algoritmos y hiperparámetros.

Compila y automatiza los servicios de capacitación y entrega

El entrenamiento y la entrega de modelos de IA son componentes fundamentales de tus servicios de IA. Necesitas plataformas y prácticas sólidas que admitan la creación, la implementación y la entrega rápidas y confiables de modelos de IA. Invierte tiempo y esfuerzo en crear plataformas fundamentales para tus tareas principales de entrenamiento y entrega de IA. Estas plataformas fundamentales ayudan a reducir el tiempo y el esfuerzo de tus equipos, y mejoran la calidad de los resultados a mediano y largo plazo.

Ten en cuenta las siguientes recomendaciones:

  • Usa componentes especializados en IA de un servicio de entrenamiento: Estos componentes incluyen recursos de procesamiento de alto rendimiento y componentes de MLOps, como almacenes de atributos, registros de modelos, almacenes de metadatos y servicios de evaluación del rendimiento del modelo.
  • Usa componentes especializados en IA de un servicio de predicción: Estos componentes proporcionan recursos escalables y de alto rendimiento, admiten la supervisión de funciones y permiten la supervisión del rendimiento del modelo. Para evitar y administrar la degradación del rendimiento, implementa estrategias confiables de implementación y reversión.

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

Cuando tomes decisiones de diseño para mejorar el rendimiento, evalúa con cuidado si estas decisiones respaldan los requisitos de tu empresa o si son inútiles y contraproducentes. Para elegir la infraestructura, los modelos o las configuraciones adecuados, identifica los cuellos de botella del rendimiento y evalúa cómo se vinculan con tus medidas de rendimiento. Por ejemplo, incluso en aceleradores de GPU muy potentes, tus tareas de entrenamiento pueden experimentar cuellos de botella de rendimiento debido a problemas de E/S de datos de la capa de almacenamiento o a limitaciones de rendimiento del propio modelo.

Ten en cuenta las siguientes recomendaciones:

  • Optimiza el consumo de hardware según los objetivos de rendimiento: Para entrenar y publicar modelos de AA que cumplan con tus requisitos de rendimiento, debes optimizar la infraestructura en las capas de procesamiento, almacenamiento y red. Debes medir y comprender las variables que afectan tus objetivos de rendimiento. Estas variables son diferentes para el entrenamiento y la inferencia.
  • Enfócate en los requisitos específicos de la carga de trabajo: Concentra tus esfuerzos de optimización del rendimiento en los requisitos únicos de tus cargas de trabajo de IA y AA. Depender de los servicios administrados para el rendimiento de la infraestructura subyacente
  • Elige estrategias de entrenamiento adecuadas: Hay varios modelos previamente entrenados y básicos disponibles, y se lanzan más modelos de este tipo con frecuencia. Elige una estrategia de entrenamiento que pueda ofrecer un rendimiento óptimo para tu tarea. Decide si debes compilar tu propio modelo, ajustar un modelo previamente entrenado con tus datos o usar una API de modelo previamente entrenado.
  • Reconoce que las estrategias de optimización del rendimiento pueden tener rendimientos decrecientes: Cuando una estrategia de optimización del rendimiento en particular no proporciona un valor comercial incremental que sea medible, deja de aplicarla.

Para innovar, solucionar problemas y analizar los problemas de rendimiento, establece un vínculo claro entre las opciones de diseño y los resultados de rendimiento. Además de la experimentación, debes registrar de manera confiable el linaje de tus recursos, implementaciones, resultados del modelo y las configuraciones y entradas que produjeron los resultados.

Ten en cuenta las siguientes recomendaciones:

  • Crea un sistema de linaje de datos y modelos: Todos tus recursos implementados y sus métricas de rendimiento deben estar vinculados a los datos, las configuraciones, el código y las decisiones que dieron como resultado los sistemas implementados. Además, las salidas del modelo deben vincularse a versiones específicas del modelo y a la forma en que se produjeron las salidas.
  • Usa herramientas de interpretabilidad para mejorar el rendimiento del modelo: Adopta y estandariza herramientas y comparativas para la exploración y la interpretabilidad del modelo. Estas herramientas ayudan a tus ingenieros de AA a comprender el comportamiento del modelo y a mejorar el rendimiento o eliminar sesgos.

Colaboradores

Autores:

Otros colaboradores: