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:
- Cómo definir y medir los costos y los retornos
- Optimiza la asignación de recursos
- Aplicar prácticas de administración y administración de datos
- Automatiza y optimiza con MLOps
- Usa servicios administrados y modelos entrenados previamente
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:
- Supervisa continuamente y analiza los datos: Supervisa los KPI y los costos para identificar desviaciones y oportunidades de optimización.
- 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.
- 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.
- 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.
Usar herramientas relacionadas con la facturación
- 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 |
|
Inferencia |
|
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:
- 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.
- 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.
- 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.
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.
Analiza los costos: Compara el costo y el rendimiento de cada configuración para identificar la opción más rentable.
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.
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.
- Para organizar los datos, usa las abstracciones de Dataplex Universal Catalog y configura lakes y zonas de datos lógicos.
- Para administrar el acceso a los data lakes y las zonas, usa Google Groups y los roles de Dataplex Universal Catalog.
- Para optimizar los procesos de calidad de los datos, habilita la calidad de datos automática.
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:
- Opciones de bases de datos, como Cloud SQL, Spanner, AlloyDB para PostgreSQL, Firestore y BigQuery. Tu elección dependerá de tus requisitos, como la latencia en el acceso de escritura (estático o dinámico), el volumen de datos (alto o bajo) y el formato de datos (estructurado, no estructurado o semiestructurado). Para obtener más información, consulta bases de datos deGoogle Cloud .
- Data lakes, como Cloud Storage con BigLake.
- Dataplex Universal Catalog para controlar los datos en todas las fuentes
- Plataformas de eventos de transmisión, como Pub/Sub, Dataflow o Apache Kafka.
- APIs externas
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. |
|
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:
- Ajuste de Vertex AI para realizar el ajuste supervisado de Gemini, Imagen y otros modelos
- Vertex AI Training o Ray en Vertex AI para el entrenamiento distribuido personalizado
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:
- Modelos de Google, como la familia de modelos Gemini y Imagen para la generación de imágenes
- Modelos de código abierto como Gemma y Llama
- Modelos de terceros de socios como Anthropic y Mistral AI
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:
- Filipe Gracio, PhD | Ingeniero de Atención al cliente
- Autor: Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de Atención al Cliente para Socios
- Nicolas Pintaux | Ingeniero de Atención al Cliente y especialista en modernización de aplicaciones