En este documento del marco de trabajo Well-Architected: perspectiva de la IA y el aprendizaje automático se ofrece una descripción general de los principios y las recomendaciones para optimizar el coste de los sistemas de IA a lo largo del ciclo de vida del aprendizaje automático. Si tu organización adopta un enfoque de gestión de costes proactivo e informado, podrá aprovechar todo el potencial de los sistemas de IA y aprendizaje automático, así como mantener la disciplina financiera. Las recomendaciones de este documento se ajustan al pilar de optimización de costes del Google Cloud marco de trabajo Well-Architected Google Cloud .
Los sistemas de IA y aprendizaje automático pueden ayudarte a obtener información valiosa y predicciones a partir de los datos. Por ejemplo, puedes reducir las fricciones en los procesos internos, mejorar las experiencias de usuario y obtener información valiosa más detallada sobre los clientes. La nube ofrece grandes cantidades de recursos y un tiempo de obtención de valor rápido sin grandes inversiones iniciales para las cargas de trabajo de IA y aprendizaje automático. Para maximizar el valor empresarial y alinear el gasto con tus objetivos de negocio, debes conocer los factores que influyen en los costes, optimizarlos de forma proactiva, configurar controles de gasto y adoptar prácticas de FinOps.
Las recomendaciones de este documento se corresponden con los siguientes principios básicos:
- Definir y medir los costes y los ingresos
- Optimizar la asignación de recursos
- Aplicar prácticas de gestión y gobierno de datos
- Automatizar y optimizar con MLOps
- Usar servicios gestionados y modelos preentrenados
Definir y medir los costes y los ingresos
Para gestionar de forma eficaz los costes de la IA y el AA en Google Cloud, debes definir y medir los costes de los recursos en la nube y el valor empresarial de tus iniciativas de IA y AA. Para ayudarte a monitorizar los gastos de forma granular, Google Cloud proporciona herramientas completas de facturación y gestión de costes, como las siguientes:
- Informes y tablas de Facturación de Cloud
- Paneles de control, presupuestos y alertas de Looker Studio
- Cloud Monitoring
- Cloud Logging
Para tomar decisiones fundamentadas sobre la asignación y la optimización de recursos, tenga en cuenta las siguientes recomendaciones.
Establecer objetivos de negocio y KPIs
Alinea las decisiones técnicas de tus proyectos de IA y aprendizaje automático con los objetivos empresariales y los indicadores clave de rendimiento.
Define objetivos estratégicos e indicadores clave de rendimiento centrados en el retorno de la inversión
Asegúrate de que los proyectos de IA y aprendizaje automático estén alineados con objetivos estratégicos como el aumento de los ingresos, la reducción de costes, la satisfacción de los clientes y la eficiencia. Colabora con las partes interesadas para conocer las prioridades de la empresa. Define objetivos de IA y aprendizaje automático que sean específicos, medibles, alcanzables, relevantes y con plazos concretos (SMART). Por ejemplo, un objetivo SMART sería: "Reducir el tiempo de gestión de las conversaciones de asistencia al cliente en un 15% en 6 meses mediante un chatbot de IA".
Para avanzar hacia tus objetivos de negocio y medir el retorno de la inversión (ROI), define indicadores clave de rendimiento para las siguientes categorías de métricas:
- Costes de entrenamiento, inferencia, almacenamiento y recursos de red, incluidos los costes unitarios específicos (como el coste por inferencia, punto de datos o tarea). Estas métricas te ayudan a obtener estadísticas sobre las oportunidades de optimización de costes y eficiencia. Para hacer un seguimiento de estos costes, puedes usar los informes de facturación de Cloud y los paneles de control de Cloud Monitoring.
- Métricas de valor empresarial, como el crecimiento de los ingresos, el ahorro de costes, la satisfacción de los clientes, la eficiencia, la precisión y la adopción. Puede hacer un seguimiento de estas métricas con analíticas de BigQuery y paneles de control de Looker.
Métricas específicas del sector, como las siguientes:
- Sector comercio minorista: mide el incremento de ingresos y la tasa de abandono
- Sector sanitario: medir el tiempo y los resultados de los pacientes
- Sector financiero: medir la reducción del fraude
Métricas específicas del proyecto. Puedes hacer un seguimiento de estas métricas con Vertex AI Experiments y la evaluación.
- IA predictiva: mide la exactitud y la precisión
- IA generativa: mide la adopción, la satisfacción y la calidad del contenido
- IA de visión artificial: medir la precisión
Fomentar una cultura de concienciación sobre los costes y optimización continua
Adopta los principios de FinOps para asegurarte de que cada proyecto de IA y aprendizaje automático tenga costes estimados y formas de medir y monitorizar los costes reales a lo largo de su ciclo de vida. Asegúrate de que los costes y las ventajas empresariales de tus proyectos tengan propietarios asignados y responsabilidades claras.
Para obtener más información, consulta el artículo Fomentar una cultura de concienciación sobre los costes de la sección Optimización de costes del Google Cloud marco de trabajo Well-Architected.
Generar valor y optimización continua mediante iteraciones y comentarios
Asigna tus aplicaciones de IA y aprendizaje automático directamente a tus objetivos de negocio y mide el retorno de la inversión.
Para validar tus hipótesis sobre el ROI, empieza con proyectos piloto y sigue este ciclo de optimización iterativo:
- Monitoriza continuamente y analiza los datos: monitoriza los KPIs y los costes para identificar desviaciones y oportunidades de optimización.
- Hacer ajustes basados en datos: optimizar las estrategias, los modelos, la infraestructura y la asignación de recursos en función de las estadísticas de datos.
- Refina de forma iterativa: adapta los objetivos empresariales y los KPIs en función de lo que hayas aprendido y de las necesidades empresariales cambiantes. Esta iteración te ayuda a mantener la relevancia y la alineación estratégica.
- Crea un bucle de comentarios: revisa el rendimiento, los costes y el valor con las partes interesadas para optimizar los proyectos en curso y planificar los futuros.
Gestionar datos de facturación con la facturación de Cloud y las etiquetas
Para optimizar los costes de forma eficaz, es necesario conocer la fuente de cada elemento de coste. Las recomendaciones de esta sección pueden ayudarte a usar Google Cloud herramientas para obtener información detallada sobre tus costes de IA y aprendizaje automático. También puedes atribuir costes a proyectos, equipos y actividades específicos de IA y aprendizaje automático. Estas estadísticas sientan las bases para la optimización de costes.
Organizar y etiquetar Google Cloud recursos
- Estructura tus proyectos y recursos en una jerarquía que refleje tu estructura organizativa y tus flujos de trabajo de IA y aprendizaje automático. Para monitorizar y analizar los costes en diferentes niveles, organiza tus Google Cloud recursos por medio de organizaciones, carpetas y proyectos. Para obtener más información, consulta el artículo Decidir una jerarquía de recursos para tu Google Cloud zona de aterrizaje.
- Aplica etiquetas significativas a tus recursos. Puede usar etiquetas que indiquen el proyecto, el equipo, el entorno, el nombre del modelo, el conjunto de datos, el caso práctico y los requisitos de rendimiento. Las etiquetas proporcionan un contexto valioso para tus datos de facturación y permiten realizar análisis de costes detallados.
- Mantén la coherencia en las convenciones de etiquetado en todos tus proyectos de IA y aprendizaje automático. Las convenciones de etiquetado coherentes aseguran que los datos de facturación estén organizados y se puedan analizar fácilmente.
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 funciones de consulta que te permiten analizar los datos de facturación para comprender tus costes.
- Para agregar costes por etiquetas, proyectos o periodos específicos, puede escribir consultas de SQL personalizadas en BigQuery. Estas consultas te permiten atribuir costes a actividades específicas de IA y aprendizaje automático, como el entrenamiento de modelos, el ajuste de hiperparámetros o la inferencia.
- Para identificar anomalías en los costes o picos de gasto inesperados, usa las funciones analíticas de BigQuery. Este enfoque puede ayudarte a detectar posibles problemas o ineficiencias en tus cargas de trabajo de IA y aprendizaje automático.
- Para identificar y gestionar los costes inesperados, usa el panel de control de detección de anomalías de Facturación de Cloud.
- Para distribuir los costes entre diferentes equipos o departamentos en función del uso de los recursos, utilice la función de asignación de costes de Google Cloud. La asignación de costes fomenta la responsabilidad y la transparencia.
- Para obtener información valiosa sobre los patrones de gasto, consulta los informes de Facturación de Cloud prediseñados. Puede filtrar y personalizar estos informes para centrarse en proyectos o servicios específicos de IA y aprendizaje automático.
Monitorizar los recursos de forma continua con paneles de control, alertas e informes
Para crear una forma escalable y resistente de monitorizar los costes, necesitas una monitorización e informes continuos. Los paneles de control, las alertas y los informes son la base para hacer un seguimiento de los costes eficaz. Esta base te permite mantener un acceso constante a la información sobre los costes, identificar áreas de optimización y asegurar que los objetivos de negocio y los costes estén alineados.
Crear un sistema de informes
Crea informes programados y compártelos con las partes interesadas correspondientes.
Usa Cloud Monitoring para recoger métricas de varias fuentes, incluidas tus aplicaciones, tu infraestructura y servicios como Compute Engine, Google Kubernetes Engine (GKE) y las funciones de Cloud Run. Google Cloud Para visualizar métricas y registros en tiempo real, puedes usar el panel de control de Cloud Monitoring precompilado o crear paneles de control personalizados. Los paneles de control personalizados te permiten definir y añadir métricas para monitorizar aspectos específicos de tus sistemas, como el rendimiento de los modelos, las llamadas a la API o los indicadores clave de rendimiento a nivel empresarial.
Usa Cloud Logging para recoger y almacenar de forma centralizada los registros de tus aplicaciones, sistemas y servicios Google Cloud . Usa los registros para los siguientes fines:
- Monitoriza los costes y el uso de recursos como la CPU, la memoria, el almacenamiento y la red.
- Identifica los casos de aprovisionamiento excesivo (cuando los recursos no se utilizan por completo) y de aprovisionamiento insuficiente (cuando no hay recursos suficientes). El sobreaprovisionamiento genera costes innecesarios. Si no se asignan suficientes recursos, los tiempos de entrenamiento se ralentizan y pueden producirse problemas de rendimiento.
- Identifica los recursos inactivos o infrautilizados, como las máquinas virtuales y las GPUs, y toma medidas para cerrarlos o redimensionarlos y, así, optimizar los costes.
- Identifica los picos de costes para detectar aumentos repentinos e inesperados en el uso de recursos o en los costes.
Usa Looker o Looker Studio para crear paneles de control e informes interactivos. Conecta los paneles de control y los informes a varias fuentes de datos, como BigQuery y Cloud Monitoring.
Definir umbrales de alerta basados en métricas clave
En el caso de tus KPIs, determina los umbrales que deben activar las alertas. Los umbrales de alerta significativos pueden ayudarte a evitar la fatiga de alertas. Crea políticas de alertas en Cloud Monitoring para recibir notificaciones relacionadas con tus KPIs. Por ejemplo, puedes recibir notificaciones cuando la precisión sea inferior a un umbral determinado o cuando la latencia supere un límite definido. Las alertas basadas en datos de registro pueden avisarte de posibles problemas de costes en tiempo real. Estas alertas te permiten tomar medidas correctivas rápidamente y evitar más pérdidas económicas.
Optimizar la asignación de recursos
Para conseguir una buena rentabilidad con tus cargas de trabajo de IA y aprendizaje automático en Google Cloud, debes optimizar la asignación de recursos. Para evitar gastos innecesarios y asegurarte de que tus cargas de trabajo tengan los recursos que necesitan para funcionar de forma óptima, alinea la asignación de recursos con las necesidades de tus cargas de trabajo.
Para optimizar la asignación de recursos de la nube a las cargas de trabajo de IA y aprendizaje automático, ten en cuenta las siguientes recomendaciones.
Usar el autoescalado para ajustar los recursos de forma dinámica
Usa Google Cloud servicios que admitan el autoescalado, que ajusta automáticamente la asignación de recursos para adaptarse a la demanda actual. El autoescalado ofrece las siguientes ventajas:
- Optimización de costes y rendimiento: no pagas por los recursos inactivos. Al mismo tiempo, el autoescalado asegura que tus sistemas tengan los recursos necesarios para funcionar de forma óptima, incluso en los momentos de mayor carga.
- Mayor eficiencia: tu equipo puede centrarse en otras tareas.
- Mayor agilidad: puedes responder rápidamente a los cambios en la demanda y mantener una alta disponibilidad de tus aplicaciones.
En la siguiente tabla se resumen las técnicas que puedes usar para implementar el escalado automático en las diferentes fases de tus proyectos de IA.
Fase | Técnicas de autoescalado |
---|---|
Formación |
|
Inferencia |
|
Empieza con modelos y conjuntos de datos pequeños
Para reducir los costes, prueba las hipótesis de aprendizaje automático a pequeña escala siempre que sea posible y utiliza un enfoque iterativo. Este enfoque, con modelos y conjuntos de datos más pequeños, ofrece las siguientes ventajas:
- Reducción de costes desde el principio: al necesitar menos potencia de computación, almacenamiento y tiempo de procesamiento, los costes se reducen durante las fases iniciales de experimentación y desarrollo.
- Iteración más rápida: se necesita menos tiempo de entrenamiento, lo que te permite iterar más rápido, explorar enfoques alternativos e identificar direcciones prometedoras de forma más eficiente.
- Menor complejidad: depuración, análisis e interpretación de resultados más sencillos, lo que conlleva ciclos de desarrollo más rápidos.
- Uso eficiente de los recursos: se reduce la probabilidad de aprovisionar recursos en exceso. Solo aprovisionas los recursos necesarios para la carga de trabajo actual.
Ten en cuenta las siguientes recomendaciones:
- Usa datos de muestra primero: entrena tus modelos con un subconjunto representativo de tus datos. Este enfoque te permite evaluar el rendimiento del modelo e identificar posibles problemas sin procesar todo el conjunto de datos.
- Experimenta usando cuadernos: empieza con instancias más pequeñas y escala según sea necesario. Puedes usar Vertex AI Workbench, un entorno de cuaderno de Jupyter gestionado que es adecuado para experimentar con diferentes arquitecturas de modelos y conjuntos de datos.
Empieza con modelos más sencillos o preentrenados: usa Vertex AI Model Garden para descubrir y explorar los modelos preentrenados. Estos modelos requieren menos recursos computacionales. Aumenta la complejidad gradualmente según sea necesario en función de los requisitos de rendimiento.
- Usa modelos preentrenados para tareas como la clasificación de imágenes y el procesamiento del lenguaje natural. Para ahorrar costes de entrenamiento, puedes ajustar los modelos con conjuntos de datos más pequeños al principio.
- Usa BigQuery ML para datos estructurados. BigQuery ML te permite crear y desplegar modelos directamente en BigQuery. Este enfoque puede ser rentable para las primeras pruebas, ya que puedes aprovechar el modelo de precios de pago por consulta de BigQuery.
Escalar para optimizar los recursos: usa la infraestructura flexible de Google Cloudpara escalar los recursos según sea necesario. Empieza con instancias más pequeñas y ajusta su tamaño o número cuando sea necesario.
Descubrir los requisitos de recursos mediante experimentación
Los requisitos de recursos de las cargas de trabajo de IA y aprendizaje automático pueden variar considerablemente. Para optimizar la asignación de recursos y los costes, debes conocer las necesidades específicas de tus cargas de trabajo mediante una experimentación sistemática. Para identificar la configuración más eficiente para tus modelos, prueba diferentes configuraciones y analiza su rendimiento. A continuación, en función de los requisitos, ajusta el tamaño de los recursos que has usado para el entrenamiento y el servicio.
Te recomendamos que sigas este enfoque para hacer experimentos:
- Empieza con una configuración de referencia: empieza con una configuración de referencia basada en tus estimaciones iniciales de los requisitos de la carga de trabajo. Para crear una base de referencia, puedes usar el estimador de costes de las cargas de trabajo nuevas o un informe de facturación. Para obtener más información, consulta Descubre el coste real de la IA empresarial en Google Cloud.
- Conoce tus cuotas: antes de lanzar experimentos a gran escala, familiarízate con las cuotas de tu Google Cloud proyecto para los recursos y las APIs que vayas a usar. Las cuotas determinan el intervalo de configuraciones que puedes probar de forma realista. Si te familiarizas con las cuotas, podrás trabajar dentro de los límites de recursos disponibles durante la fase de experimentación.
- Experimenta de forma sistemática: ajusta parámetros como el número de CPUs, la cantidad de memoria, el número y el tipo de GPUs y TPUs, y la capacidad de almacenamiento. Vertex AI Training y Vertex AI Predictions te permiten experimentar con diferentes tipos de máquinas y configuraciones.
Monitorizar el uso, el coste y el rendimiento: haz un seguimiento del uso de recursos, el coste y las métricas de rendimiento clave, como el tiempo de entrenamiento, la latencia de inferencia y la precisión del modelo, de cada configuración que pruebes.
- Para monitorizar el uso de recursos y las métricas de rendimiento, puedes usar la consola de Vertex AI.
- Para recoger y analizar métricas de rendimiento detalladas, usa Cloud Monitoring.
- Para ver los costes, usa los informes de Facturación de Cloud y los paneles de control de Cloud Monitoring.
- Para identificar los cuellos de botella del rendimiento de tus modelos y optimizar el uso de los recursos, utiliza herramientas de creación de perfiles como Vertex AI TensorBoard.
Analizar los costes: compara el coste 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 determinar cuándo el escalado empieza a dar resultados decrecientes en el rendimiento, como una reducción mínima del tiempo de entrenamiento o la latencia por un aumento significativo de los costes. Ten en cuenta las cuotas de proyectos al definir estos umbrales. Determina el punto en el que el coste y las posibles implicaciones de la cuota de un mayor escalado ya no se justifican por las mejoras en el rendimiento.
Refina de forma iterativa: repite el proceso de experimentación con configuraciones refinadas en función de tus resultados. Asegúrate siempre de que el uso de recursos se mantenga dentro de las cuotas asignadas y se ajuste a los umbrales de coste-beneficio establecidos.
Usar MLOps para reducir las ineficiencias
A medida que las organizaciones usan cada vez más el aprendizaje automático para impulsar la innovación y la eficiencia, es fundamental gestionar el ciclo de vida del aprendizaje automático de forma eficaz. Las operaciones de aprendizaje automático (MLOps) son un conjunto de prácticas que automatizan y optimizan el ciclo de vida del aprendizaje automático, desde el desarrollo de modelos hasta el despliegue y la monitorización.
Alinear MLOps con los factores de coste
Para aprovechar las operaciones de aprendizaje automático y reducir costes, identifica los principales factores que influyen en los costes del ciclo de vida del aprendizaje automático. Después, puedes adoptar e implementar prácticas de MLOps que se ajusten a los factores de coste. Prioriza y adopta las funciones de MLOps que aborden los factores de coste más significativos. Este enfoque ayuda a asegurar una transición gestionable y exitosa hacia un ahorro de costes significativo.
Implementar MLOps para optimizar los costes
Estas son algunas prácticas habituales de MLOps que ayudan a reducir los costes:
- Control de versiones: herramientas como Git pueden ayudarte a hacer un seguimiento de las versiones de código, datos y modelos. El control de versiones asegura la reproducibilidad, facilita la colaboración y evita que se tengan que rehacer trabajos costosos debido a problemas de versiones.
- Integración y entrega continuas (CI/CD): Cloud Build y Artifact Registry te permiten implementar flujos de procesamiento de CI/CD para automatizar la compilación, las pruebas y el despliegue de tus modelos de aprendizaje automático. Los flujos de procesamiento de CI/CD aseguran un uso eficiente de los recursos y minimizan los costes asociados a las intervenciones manuales.
- Observabilidad: Cloud Monitoring y Cloud Logging te permiten monitorizar el rendimiento de los modelos en producción, identificar problemas y activar alertas para intervenir de forma proactiva. La observabilidad te permite mantener la precisión del modelo, optimizar la asignación de recursos y evitar costosos periodos de inactividad o degradaciones del rendimiento.
- Reentrenamiento de modelos: Vertex AI Pipelines simplifica los procesos de reentrenamiento de modelos periódicamente o cuando el rendimiento se reduce. Cuando usas Vertex AI Pipelines para volver a entrenar modelos, te ayuda a asegurarte de que tus modelos sigan siendo precisos y eficientes, lo que puede evitar el consumo innecesario de recursos y mantener un rendimiento óptimo.
- Pruebas y evaluaciones automatizadas: Vertex AI te ayuda a acelerar y estandarizar la evaluación de modelos. Implementa pruebas automatizadas a lo largo del ciclo de vida del aprendizaje automático para asegurar la calidad y la fiabilidad de tus modelos. Estas pruebas pueden ayudarte a detectar errores en las primeras fases, evitar problemas costosos en producción y reducir la necesidad de realizar pruebas manuales exhaustivas.
Para obtener más información, consulta MLOps: flujos de trabajo de entrega continua y automatización en el aprendizaje automático.
Aplicar prácticas de gestión y gobierno de datos
Las prácticas eficaces de gestión y gobernanza de datos son fundamentales para optimizar los costes. Si los datos están bien organizados, los equipos pueden reutilizar los conjuntos de datos, evitar duplicaciones innecesarias y reducir el esfuerzo necesario para obtener datos de alta calidad. Si gestionas los datos de forma proactiva, puedes reducir los costes de almacenamiento, mejorar la calidad de los datos y asegurarte de que tus modelos de aprendizaje automático se entrenen con los datos más relevantes y valiosos.
Para implementar prácticas de gestión y control de datos, ten en cuenta las siguientes recomendaciones.
Establecer y adoptar un marco de gobierno de datos
La creciente importancia de la IA y el AA ha convertido los datos en el activo más valioso para las organizaciones que están llevando a cabo una transformación digital. Un marco de trabajo sólido para el gobierno de datos es un requisito fundamental para gestionar las cargas de trabajo de IA y aprendizaje automático de forma rentable a gran escala. Un marco de gobierno de datos con políticas, procedimientos y roles claramente definidos proporciona un enfoque estructurado para gestionar los datos a lo largo de su ciclo de vida. Este marco ayuda a mejorar la calidad de los datos, reforzar la seguridad, mejorar la utilización y reducir la redundancia.
Establecer un marco de gobierno de datos
Hay muchos marcos predefinidos para la gestión de datos, como los publicados por el EDM Council, con opciones disponibles para diferentes sectores y tamaños de organización. Elige y adapta un marco que se ajuste a tus necesidades y prioridades específicas.
Implementar el marco de gobierno de datos
Google Cloud proporciona los siguientes servicios y herramientas para ayudarte a implementar un marco de gobierno de datos sólido:
Dataplex Universal Catalog es un tejido de datos inteligente que te ayuda a unificar los datos distribuidos y automatizar la gobernanza de datos sin tener que consolidar los conjuntos de datos en un solo lugar. Esto ayuda a reducir el coste de distribuir y mantener los datos, facilita el descubrimiento de datos y fomenta la reutilización.
- Para organizar los datos, usa las abstracciones de Dataplex Universal Catalog y configura lagos y zonas de datos lógicos.
- Para administrar el acceso a lagos y zonas de datos, usa Grupos de Google y roles de Dataplex Universal Catalog.
- Para optimizar los procesos de calidad de los datos, habilita la calidad automática de los datos.
Dataplex Universal Catalog también es un servicio de gestión de metadatos escalable y totalmente gestionado. El catálogo proporciona una base que asegura que los recursos de datos sean accesibles y reutilizables.
- Los metadatos de las fuentes Google Cloud compatibles se ingieren automáticamente en el catálogo universal. Para las fuentes de datos que no sean de Google Cloud, crea entradas personalizadas.
- Para mejorar la visibilidad y la gestión de los recursos de datos, enriquece los metadatos técnicos con metadatos empresariales mediante aspectos.
- Asegúrate de que los científicos de datos y los profesionales del aprendizaje automático tengan permisos suficientes para acceder a Dataplex Universal Catalog y usar la función de búsqueda.
BigQuery sharing te permite intercambiar recursos de datos de forma eficiente y segura entre tus organizaciones para abordar los desafíos relacionados con la fiabilidad y el coste de los datos.
- Configurar intercambios de datos y asegurarse de que los recursos de datos seleccionados se puedan ver como fichas.
- Usa salas blancas de datos para gestionar de forma segura el acceso a datos sensibles y colaborar de forma eficiente con equipos y organizaciones externos en proyectos de IA y aprendizaje automático.
- Asegúrate de que los científicos de datos y los profesionales del aprendizaje automático tengan permisos suficientes para ver y publicar conjuntos de datos en el uso compartido de BigQuery.
Reutilizar conjuntos de datos y funciones a lo largo del ciclo de vida del aprendizaje automático
Para obtener ventajas significativas en cuanto a eficiencia y costes, reutiliza conjuntos de datos y funciones en varios proyectos de aprendizaje automático. Si evitas el trabajo redundante de ingeniería de datos y desarrollo de funciones, tu organización puede acelerar el desarrollo de modelos, reducir los costes de infraestructura y liberar recursos valiosos para otras tareas críticas.
Google Cloud proporciona los siguientes servicios y herramientas para ayudarte a reutilizar conjuntos de datos y funciones:
- Los profesionales de datos y aprendizaje automático pueden publicar productos de datos para maximizar la reutilización en los distintos equipos. Los productos de datos se pueden descubrir y usar a través de Dataplex Universal Catalog y del uso compartido de BigQuery.
- En el caso de los conjuntos de datos tabulares y estructurados, puedes usar Vertex AI Feature Store para fomentar la reutilización y simplificar la gestión de características mediante BigQuery.
- Puedes almacenar datos sin estructurar en Cloud Storage y gobernarlos mediante tablas de objetos y URLs firmadas de BigQuery.
- Puedes gestionar las inserciones de vectores incluyendo metadatos en tus índices de búsqueda de vectores.
Automatizar y optimizar con MLOps
Una de las principales ventajas de adoptar prácticas de MLOps es la reducción de los costes de tecnología y personal. La automatización te ayuda a evitar la duplicación de actividades de aprendizaje automático y a reducir la carga de trabajo de los científicos de datos y los ingenieros de aprendizaje automático.
Para automatizar y optimizar el desarrollo de aprendizaje automático con MLOps, ten en cuenta las siguientes recomendaciones.
Automatizar y estandarizar la recogida y el tratamiento de datos
Para reducir el tiempo y el esfuerzo necesarios para desarrollar modelos de aprendizaje automático, automatiza y estandariza tus tecnologías de recogida y procesamiento de datos.
Automatizar la recogida y el tratamiento de datos
En esta sección se resumen los productos, las herramientas y las técnicas que puedes usar para automatizar la recogida y el tratamiento de datos.
Identifica y elige las fuentes de datos pertinentes para tus tareas de IA y aprendizaje automático:
- 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ática o dinámica), el volumen de datos (alto o bajo) y el formato de los datos (estructurados, sin estructurar o semiestructurados). Para obtener más información, consulta Google Cloud bases de datos.
- Lagos de datos como Cloud Storage con BigLake.
- Dataplex Universal Catalog para gobernar los datos de diferentes fuentes.
- Plataformas de eventos de streaming, como Pub/Sub, Dataflow o Apache Kafka.
- APIs externas.
Elige una herramienta de ingesta para cada una de tus fuentes de datos:
- Dataflow: para el procesamiento por lotes y en tiempo real de datos de varias fuentes, con integración de componentes de aprendizaje automático. En una arquitectura basada en eventos, puedes combinar Dataflow con Eventarc para procesar datos de forma eficiente para el aprendizaje automático. Para mejorar la eficiencia de las tareas de MLOps y de aprendizaje automático, usa las funciones de GPU y de ajuste adecuado.
- Funciones de Cloud Run: para la ingestión de datos basada en eventos que se activa por los cambios en las fuentes de datos de las aplicaciones en tiempo real.
- BigQuery: para la ingestión de datos tabulares clásicos con acceso frecuente.
Elige las herramientas para la transformación y la carga de datos:
- Usa herramientas como Dataflow o Dataform para automatizar las transformaciones de datos, como el escalado de características, la codificación de variables categóricas y la creación de nuevas características por lotes, en streaming o en tiempo real. Las herramientas que selecciones dependerán de tus requisitos y de los servicios que elijas.
- Usa Vertex AI Feature Store para automatizar la creación y la gestión de características. Puedes centralizar funciones para reutilizarlas en diferentes modelos y proyectos.
Estandarizar la recogida y el tratamiento de datos
Para descubrir, comprender y gestionar recursos de datos, usa servicios de gestión de metadatos como Dataplex Universal Catalog. Te ayuda a estandarizar las definiciones de datos y a asegurar la coherencia en toda tu organización.
Para aplicar la estandarización y evitar el coste de mantener varias implementaciones personalizadas, usa flujos de procesamiento de entrenamiento y orquestación automatizados. Para obtener más información, consulta la siguiente sección.
Automatizar flujos de procesamiento de entrenamiento y reutilizar recursos
Para aumentar la eficiencia y la productividad en MLOps, los flujos de procesamiento de entrenamiento automatizados son cruciales. Google Cloud ofrece un conjunto de herramientas y servicios robusto para crear y desplegar flujos de procesamiento de entrenamiento, con un gran énfasis en la reutilización de los recursos. Las pipelines de entrenamiento automatizadas ayudan a acelerar el desarrollo de modelos, garantizar la coherencia y reducir el esfuerzo redundante.
Automatizar flujos de procesamiento de entrenamiento
En la siguiente tabla se describen los Google Cloud servicios y las funciones que puedes usar para automatizar las diferentes funciones de una canalización de entrenamiento.
Función | Servicios y funciones deGoogle Cloud |
---|---|
Orquestación: define flujos de trabajo de aprendizaje automático complejos que consten de varios pasos y dependencias. Puedes definir cada paso como una tarea en contenedores independiente, lo que te ayudará a gestionar y escalar tareas individuales fácilmente. |
|
Control de versiones: monitoriza y controla las diferentes versiones de las canalizaciones y los componentes para asegurar la reproducibilidad y la auditabilidad. | Almacena plantillas de flujo de procesamiento de Kubeflow en un repositorio de Kubeflow Pipelines en Artifact Registry. |
Reutilización: reutiliza los componentes y artefactos de las canalizaciones, como los conjuntos de datos preparados y los modelos entrenados, para acelerar el desarrollo. | Almacena tus plantillas de flujo de trabajo en Cloud Storage y compártelas con toda tu organización. |
Monitorización: monitoriza la ejecución de la canalización para identificar y resolver los problemas. | Usa Cloud Logging y Cloud Monitoring. Para obtener más información, consulta el artículo Monitorizar recursos de forma continua con paneles, alertas e informes. |
Ampliar la reutilización más allá de las canalizaciones
Busca oportunidades para ampliar la reutilización más allá de las canalizaciones de entrenamiento. A continuación, se muestran ejemplos de Google Cloud funciones que te permiten reutilizar funciones, conjuntos de datos, modelos y código de aprendizaje automático.
- Vertex AI Feature Store proporciona un repositorio centralizado para organizar, almacenar y servir funciones de aprendizaje automático. Te permite reutilizar funciones en diferentes proyectos y modelos, lo que puede mejorar la coherencia y reducir el esfuerzo de ingeniería de funciones. Puedes almacenar, compartir y acceder a funciones para casos prácticos online y offline.
- Los conjuntos de datos de Vertex AI permiten a los equipos crear y gestionar conjuntos de datos de forma centralizada, de modo que tu organización pueda maximizar la reutilización y reducir la duplicación de datos. Tus equipos pueden buscar y descubrir los conjuntos de datos con Dataplex Universal Catalog.
- Vertex AI Model Registry te permite almacenar, gestionar y desplegar tus modelos entrenados. El registro de modelos te permite reutilizar los modelos en las canalizaciones posteriores o para la predicción online, lo que te ayuda a aprovechar los esfuerzos de entrenamiento anteriores.
- Los contenedores personalizados te permiten empaquetar tu código de entrenamiento y tus dependencias en contenedores, así como almacenar los contenedores en Artifact Registry. Los contenedores personalizados te permiten proporcionar entornos de entrenamiento coherentes y reproducibles en diferentes flujos de trabajo y proyectos.
Usar los servicios de Google Cloud para evaluar y optimizar modelos
Google Cloud ofrece un potente paquete de herramientas y servicios para optimizar y automatizar la evaluación y el ajuste de modelos. Estas herramientas y servicios pueden ayudarte a reducir el tiempo de producción y los recursos necesarios para la formación y la monitorización continuas. Al usar estos servicios, tus equipos de IA y aprendizaje automático pueden mejorar el rendimiento de los modelos con menos iteraciones costosas, obtener resultados más rápido y minimizar el desperdicio de recursos de computación.
Usa la evaluación y la experimentación de modelos eficientes en cuanto a recursos
Empieza un proyecto de IA con experimentos antes de ampliar tu solución. En tus experimentos, haz un seguimiento de varios metadatos, como la versión del conjunto de datos, los parámetros del modelo y el tipo de modelo. Para mejorar la reproducibilidad y la comparación de los resultados, usa el seguimiento de metadatos además del control de versiones del código, de forma similar a las funciones de Git. Para no perder información o desplegar la versión incorrecta en producción, usa Vertex AI Experiments antes de implementar despliegues o trabajos de entrenamiento a gran escala.
Vertex AI Experiments te permite hacer lo siguiente:
- Simplifica y automatiza el seguimiento y el descubrimiento de metadatos mediante una interfaz de usuario y una API fáciles de usar para cargas de trabajo listas para producción.
- Analiza las métricas de rendimiento del modelo y compara las métricas de varios modelos.
Una vez que se haya entrenado el modelo, monitoriza continuamente el rendimiento y la deriva de los datos a lo largo del tiempo en los datos entrantes. Para simplificar este proceso, usa Vertex AI Model Monitoring para acceder directamente a los modelos creados en Model Registry. Monitorización de modelos también automatiza la monitorización de datos y resultados mediante predicciones online y por lotes. Puede exportar los resultados a BigQuery para analizarlos y hacer un seguimiento más detallados.
Elegir estrategias óptimas para automatizar el entrenamiento
Para ajustar los hiperparámetros, te recomendamos que uses los siguientes métodos:
- Para automatizar el proceso de búsqueda de los hiperparámetros óptimos de tus modelos, usa el ajuste de hiperparámetros de Vertex AI. Vertex AI usa algoritmos avanzados para explorar el espacio de hiperparámetros e identificar la mejor configuración.
- Para ajustar los hiperparámetros de forma eficiente, considera la posibilidad de usar técnicas de optimización bayesiana, sobre todo cuando trabajes con modelos complejos y conjuntos de datos grandes.
Para el entrenamiento distribuido, recomendamos los siguientes enfoques:
Para conjuntos de datos grandes y modelos complejos, usa la infraestructura de entrenamiento distribuido de Vertex AI. Este enfoque te permite entrenar tus modelos en varias máquinas, lo que ayuda a reducir significativamente el tiempo de entrenamiento y los costes asociados. Usa herramientas como las siguientes:
- Ajuste de Vertex AI para llevar a cabo un ajuste fino supervisado de Gemini, Imagen y otros modelos.
- Vertex AI Training o Ray en Vertex AI para el entrenamiento distribuido personalizado.
Elige frameworks de aprendizaje automático optimizados, como Keras y PyTorch, que admitan el entrenamiento distribuido y el uso eficiente de los recursos.
Usar la IA explicable
Es fundamental entender por qué un modelo toma determinadas decisiones e identificar posibles sesgos o áreas de mejora. Usa Vertex Explainable AI para obtener información valiosa sobre las predicciones de tu modelo. Vertex Explainable AI ofrece una forma de automatizar las explicaciones basadas en características y en ejemplos que están vinculadas a tus experimentos de Vertex AI.
- Basada en las características: para saber qué características influyen más en las predicciones de tu modelo, analiza las atribuciones de características. Esta información puede orientar los esfuerzos de ingeniería de funciones y mejorar la interpretabilidad del modelo.
- Basado en ejemplos: Para devolver una lista de ejemplos (normalmente del conjunto de entrenamiento) que sean los más similares a la entrada, Vertex AI usa la búsqueda de vecinos más cercanos. Como las entradas similares suelen dar lugar a predicciones similares, puedes usar estas explicaciones para explorar y explicar el comportamiento de un modelo.
Usar servicios gestionados y modelos preentrenados
Adopta un enfoque incremental para la selección y el desarrollo de modelos. Este enfoque te ayuda a evitar los costes excesivos asociados a empezar de cero cada vez. Para controlar los costes, usa frameworks de aprendizaje automático, servicios gestionados y modelos preentrenados.
Para sacar el máximo partido de los servicios gestionados y los modelos preentrenados, tenga en cuenta las siguientes recomendaciones.
Usar cuadernos para explorar y hacer experimentos
Los entornos de Notebook son cruciales para experimentar con el aprendizaje automático de forma rentable. Un cuaderno proporciona un espacio interactivo y colaborativo para que los científicos de datos y los ingenieros exploren datos, desarrollen modelos, compartan conocimientos y realicen iteraciones de forma eficiente. La colaboración y el intercambio de conocimientos a través de los cuadernos acelera significativamente el desarrollo, las revisiones de código y la transferencia de conocimientos. Los cuadernos ayudan a agilizar los flujos de trabajo y a reducir el esfuerzo duplicado.
En lugar de adquirir y gestionar hardware caro para tu entorno de desarrollo, puedes usar la infraestructura escalable y bajo demanda de Vertex AI Workbench y Colab Enterprise.
Vertex AI Workbench es un entorno de desarrollo de cuadernos de Jupyter para todo el flujo de trabajo de ciencia de datos. Puedes interactuar con Vertex AI y otros Google Cloud servicios desde el cuaderno de Jupyter de una instancia. Las integraciones y las funciones de Vertex AI Workbench te ayudan a hacer lo siguiente:
- Accede a los datos y explóralos desde un cuaderno de Jupyter mediante las integraciones de BigQuery y Cloud Storage.
- Automatiza las actualizaciones periódicas de un modelo mediante ejecuciones programadas de código que se ejecuta en Vertex AI.
- Procesa datos rápidamente ejecutando un cuaderno en un clúster de Dataproc.
- Ejecuta un cuaderno como paso de un flujo de procesamiento con Vertex AI Pipelines.
Colab Enterprise es un entorno de cuadernos gestionado y colaborativo que cuenta con las funciones de seguridad y cumplimiento de Google Cloud. Colab Enterprise es ideal si las prioridades de tu proyecto incluyen el desarrollo colaborativo y la reducción del esfuerzo necesario para gestionar la infraestructura. Colab Enterprise se integra con Google Cloud servicios y asistencia basada en IA que usa Gemini. Colab Enterprise te permite hacer lo siguiente:
- Trabaja en cuadernos sin tener que gestionar la infraestructura.
- Comparte un cuaderno con un solo usuario, un grupo de Google o un dominio de Google Workspace. Puedes controlar el acceso a los cuadernos mediante Gestión de Identidades y Accesos (IAM).
- Interactúa con las funciones integradas en Vertex AI y BigQuery.
Para monitorizar los cambios y volver a versiones anteriores cuando sea necesario, puedes integrar tus cuadernos con herramientas de control de versiones como Git.
Empezar con modelos ya disponibles y preentrenados
Entrenar modelos complejos desde cero, especialmente modelos de aprendizaje profundo, requiere una cantidad considerable de recursos computacionales y tiempo. Para acelerar el proceso de selección y desarrollo de modelos, empieza con modelos preentrenados. Estos modelos, que se entrenan con grandes conjuntos de datos, eliminan la necesidad de entrenar modelos desde cero y reducen significativamente los costes y el tiempo de desarrollo.
Reducir los costes de formación y desarrollo
Selecciona un modelo o una API adecuados para cada tarea de aprendizaje automático y combínalos para crear un proceso de desarrollo de aprendizaje automático integral.
Vertex AI Model Garden ofrece una amplia colección de modelos preentrenados para tareas como la clasificación de imágenes, la detección de objetos y el procesamiento del lenguaje natural. Los modelos se agrupan en las siguientes categorías:
- Modelos de Google como la familia de modelos Gemini e Imagen para la generación de imágenes.
- Modelos de código abierto, como Gemma y Llama.
- Modelos de terceros de partners como Anthropic y Mistral AI.
Google Cloud proporciona APIs de IA y aprendizaje automático que permiten a los desarrolladores integrar potentes funciones de IA en las aplicaciones sin necesidad de crear modelos desde cero.
- La API Cloud Vision te permite extraer información valiosa de las imágenes. Esta API es útil para aplicaciones como el análisis de imágenes, la moderación de contenido y la introducción de datos automatizada.
- La API Cloud Natural Language te permite analizar texto para comprender su estructura y significado. Esta API es útil para tareas como el análisis de los comentarios de los clientes, la categorización de contenido y la comprensión de las tendencias de las redes sociales.
- La API Speech-to-Text convierte el audio en texto. Esta API admite una amplia variedad de idiomas y dialectos.
- La API Video Intelligence analiza el contenido de vídeo para identificar objetos, escenas y acciones. Usa esta API para analizar el contenido de vídeo, moderar el contenido y buscar vídeos.
- La API Document AI procesa documentos para extraer, clasificar y comprender datos. Esta API te ayuda a automatizar los flujos de trabajo de procesamiento de documentos.
- La API de Dialogflow permite crear interfaces de conversación, como bots de chat y asistentes de voz. Puedes usar esta API para crear bots de atención al cliente y asistentes virtuales.
- La API de Gemini en Vertex AI proporciona acceso al modelo de IA más potente y versátil de Google.
Reduce los costes de ajuste
Para reducir la necesidad de grandes cantidades de datos y tiempo de computación, ajusta los modelos preentrenados con conjuntos de datos específicos. Te recomendamos que sigas estas estrategias:
- Transferencia de aprendizaje: usa los conocimientos de un modelo preentrenado para una tarea nueva en lugar de empezar desde cero. Este enfoque requiere menos datos y tiempo de computación, lo que ayuda a reducir los costes.
- Ajuste de adaptadores (ajuste eficiente de parámetros): adapta los modelos a nuevas tareas o dominios sin necesidad de realizar un ajuste fino completo. Este enfoque requiere muchos menos recursos computacionales y un conjunto de datos más pequeño.
- Ajuste fino supervisado: adapta el comportamiento del modelo con un conjunto de datos etiquetado. Este enfoque simplifica la gestión de la infraestructura subyacente y el esfuerzo de desarrollo necesario para un trabajo de entrenamiento personalizado.
Explora y experimenta con Vertex AI Studio
Vertex AI Studio te permite probar, crear prototipos y desplegar aplicaciones de IA generativa rápidamente.
- Integración con Model Garden: proporciona acceso rápido a los modelos más recientes y te permite desplegarlos de forma eficiente para ahorrar tiempo y costes.
- Acceso unificado a modelos especializados: consolida el acceso a una amplia gama de modelos y APIs preentrenados, incluidos los de chat, texto, contenido multimedia, traducción y voz. Este acceso unificado puede ayudarte a reducir el tiempo que dedicas a buscar e integrar servicios concretos.
Usar servicios gestionados para entrenar o servir modelos
Los servicios gestionados pueden ayudar a reducir el coste del entrenamiento de modelos y simplificar la gestión de la infraestructura, lo que te permite centrarte en el desarrollo y la optimización de modelos. Este enfoque puede suponer un ahorro de costes significativo y una mayor eficiencia.
Reduce la sobrecarga operativa
Para reducir la complejidad y el coste de la gestión de la infraestructura, utiliza servicios gestionados como los siguientes:
- Vertex AI Training ofrece un entorno totalmente gestionado para entrenar tus modelos a gran escala. Puedes elegir entre varios contenedores precompilados con frameworks de aprendizaje automático populares o usar tus propios contenedores personalizados. Google Cloud se encarga del aprovisionamiento, el escalado y el mantenimiento de la infraestructura, por lo que incurres en menos gastos operativos.
- Las predicciones de Vertex AI gestionan el escalado de la infraestructura, el balanceo de carga y el enrutamiento de solicitudes. Disfrutas de una alta disponibilidad y rendimiento sin intervención manual.
- Ray en Vertex AI proporciona un clúster de Ray totalmente gestionado. Puedes usar el clúster para ejecutar cargas de trabajo de IA personalizadas complejas que realicen muchos cálculos (ajuste de hiperparámetros, ajuste de modelos, entrenamiento de modelos distribuidos y aprendizaje por refuerzo a partir de comentarios humanos) sin tener que gestionar tu propia infraestructura.
Usar servicios gestionados para optimizar la utilización de recursos
Para obtener información sobre el uso eficiente de los recursos, consulta Optimizar el uso de los recursos.
Colaboradores
Autores:
- Isaac Lo | Gestor de Desarrollo Empresarial de IA
- Anastasia Prokaeva | Arquitecta de soluciones de campo, IA generativa
- Amy Southwood | Consultora de soluciones técnicas, analíticas de datos e IA
Otros colaboradores:
- Filipe Gracio, doctor | Ingeniero de clientes y especialista en IA y aprendizaje automático
- Kumar Dhanagopal | Desarrollador de soluciones entre productos
- Marwan Al Shawi | Ingeniero de clientes de partners
- Nicolas Pintaux | Ingeniero de clientes, especialista en modernización de aplicaciones