En este documento del framework de arquitectura de Google Cloud, se explican algunos de los principios básicos y las prácticas recomendadas para el análisis de datos en Google Cloud. Obtén información sobre algunos de los servicios clave de IA y aprendizaje automático (AA), y cómo pueden ayudar durante las diversas etapas del ciclo de vida de la IA y el AA. Estas prácticas recomendadas te ayudarán a satisfacer tus necesidades de IA y AA, y a crear el diseño del sistema. En este documento, se supone que estás familiarizado con los conceptos básicos de IA y AA.
Para simplificar el proceso de desarrollo y minimizar la sobrecarga cuando compilas modelos de AA en Google Cloud, debes considerar el nivel de abstracción más alto que tenga sentido para tu caso práctico. El nivel de abstracción se define como la cantidad de complejidad mediante la cual se ve o programa un sistema. Cuanto más alto sea el nivel de abstracción, menos detalles estarán disponibles para el usuario.
Para seleccionar los servicios de IA y AA de Google según las necesidades de tu empresa, usa la siguiente tabla:
Persona | Servicios de Google |
---|---|
Usuarios empresariales | Soluciones estándar como Contact Center AI Insights, Document AI, Discovery AI y la API de Cloud Healthcare. |
Desarrolladores con experiencia mínima en AA | Las API previamente entrenadas abordan tareas perceptivas comunes, como visión, video y lenguaje natural. Estas API son compatibles con modelos previamente entrenados y proporcionan detectores predeterminados. Están listas para usarse sin experiencia en AA ni esfuerzo de desarrollo de modelos. Las API previamente entrenadas incluyen: API de Vision, API de video, API de Natural Language, API de Speech-to-Text, API de Text-to-Speech y la API de Cloud Translation. |
IA generativa para desarrolladores | Vertex AI App Builder ofrece a los desarrolladores funcionalidades listas para usar, de modo que puedan compilar e implementar chatbots en minutos y motores de búsqueda en horas. Los desarrolladores que deseen combinar varias funcionalidades en flujos de trabajo empresariales pueden usar la API de Gen App Builder para una integración directa. |
Desarrolladores y científicos de datos | AutoML permite el desarrollo de modelos personalizados con tu propia imagen, video, texto o datos tabulares. AutoML acelera el desarrollo de modelos con búsqueda automática a través del catálogo de modelos de Google para la arquitectura de modelo más eficaz, por lo que no necesitas compilar el modelo. AutoML controla las tareas comunes por ti, como elegir una arquitectura de modelos, ajustar los hiperparámetros, aprovisionar máquinas para el entrenamiento y la entrega. |
Ingenieros de AA y científicos de datos | Las herramientas de modelos personalizados de Vertex AI te permiten entrenar y entregar modelos personalizados, y poner en funcionamiento el flujo de trabajo del AA. También puedes ejecutar tu carga de trabajo del AA en procesamientos autoadministrados, como las VM de Compute Engine. |
Ingenieros de aprendizaje automático y científicos de datos | La compatibilidad de la IA generativa en Vertex AI (también conocida como genai) proporciona acceso a los grandes modelos de IA generativa de Google para que puedas probar, ajustar e implementar los modelos en tus aplicaciones con tecnología de IA. |
Ingenieros de datos, científicos de datos y analistas de datos familiarizados con las interfaces de SQL | BigQuery ML te permite desarrollar modelos basados en SQL sobre los datos almacenados en BigQuery. |
Servicios clave
En la siguiente tabla, se proporciona una descripción general de alto nivel de los servicios de IA y AA:
Google service (Servicio de Google) | Descripción |
---|---|
Cloud Storage y BigQuery | Proporciona opciones de almacenamiento flexible para artefactos y datos de aprendizaje automático. |
BigQuery ML | Te permite compilar modelos de aprendizaje automático directamente a partir de datos alojados en BigQuery. |
Pub/Sub, Dataflow, Cloud Data Fusion y Dataproc |
Admite la transferencia y el procesamiento de datos por lotes y en tiempo real. Para obtener más información, consulta Análisis de datos. |
Vertex AI | Ofrece a los científicos de datos y a los ingenieros de aprendizaje automático una plataforma única para crear, entrenar, probar, supervisar, ajustar e implementar modelos de AA para todo tipo de objetivos, desde la IA generativa hasta las MLOps. Las herramientas incluyen lo siguiente:
|
Vertex AI Agent Builder | Te permite compilar chatbots y motores de búsqueda para sitios web y usarlos en datos empresariales.
|
IA generativa en Vertex AI | Te da acceso a los grandes modelos de IA generativa de Google para que puedas probarlos, ajustarlos e implementarlos para su uso en tus aplicaciones con tecnología de IA. La IA generativa en Vertex AI también se conoce como genai.
|
API previamente entrenadas |
|
AutoML | Proporciona herramientas de modelos personalizados para compilar, implementar y escalar modelos de AA.
Los desarrolladores pueden subir sus propios datos y usar el servicio de AutoML aplicable para compilar un modelo personalizado.
|
Infraestructura de IA | Te permite usar aceleradores de IA para procesar cargas de trabajo de AA a gran escala. Estos aceleradores te permiten entrenar y obtener inferencias de modelos de aprendizaje profundo y de modelos de aprendizaje automático de una manera rentable. Las GPU pueden ayudar con la inferencia rentable y el entrenamiento de escalamiento vertical u horizontal para los modelos de aprendizaje profundo. Las unidades de procesamiento tensorial (TPU) son ASIC personalizados para entrenar y ejecutar redes neuronales profundas. |
Dialogflow | Entrega agentes virtuales que proporcionan una experiencia de conversación. |
Contact Center AI | Brinda una experiencia automatizada y con un centro de contactos rico en estadísticas con la funcionalidad Agent Assist para los agentes humanos. |
Document AI | Proporciona comprensión de los documentos a gran escala para documentos en general y documentos específicos, como documentos relacionados con la realización de préstamos. |
Lending DocAI | Automatiza el procesamiento de documentos hipotecarios. Reduce el tiempo de procesamiento y optimiza la captura de datos, a la vez que te ayuda con los requisitos regulatorios y de cumplimiento. |
Procurement DocAI | Convierte documentos no estructurados, como facturas y recibos, en datos estructurados para automatizar la captura de datos de adquisición a gran escala, aumentar la eficiencia operativa, mejorar la experiencia del cliente y fundamentar la toma de decisiones. |
Recomendaciones | Ofrece recomendaciones personalizadas de productos. |
IA de Healthcare Natural Language | Te permite revisar y analizar documentos médicos. |
API de traducción de medios | Habilita la traducción de voz en tiempo real de los datos de audio. |
Procesamiento de datos
Aplica las siguientes prácticas recomendadas de procesamiento de datos en tu propio entorno.
Asegúrate de que tus datos cumplan con los requisitos del AA
Los datos que usas para el AA deben cumplir con ciertos requisitos básicos, sin importar el tipo de datos. Estos requisitos incluyen la capacidad de los datos para predecir el objetivo, la coherencia en el nivel de detalle entre los datos utilizados para el entrenamiento y los datos utilizados para la predicción, y los datos etiquetados con precisión para el entrenamiento. Tus datos también deberían ser suficientes en el volumen. Para obtener más información, consulta Procesamiento de datos.
Almacena datos tabulares en BigQuery
Si usas datos tabulares, considera almacenar todos los datos en BigQuery y usar la API de BigQuery Storage para leer datos desde allí. Para simplificar la interacción con la API, usa una de las siguientes opciones de herramientas adicionales, según dónde desees leer los datos:
- Si usas Dataflow, usa el conector de E/S de BigQuery.
- Si usas TensorFlow o Keras, usa el lector tf.data.dataset para BigQuery.
- Si usas datos no estructurados, como imágenes o videos, considera almacenar todos los datos en Cloud Storage.
El tipo de datos de entrada también determina las herramientas de desarrollo disponibles del modelo. Las API previamente entrenadas, AutoML y BigQuery ML pueden proporcionar entornos de desarrollo más rentables y eficientes para ciertos casos de uso de imágenes, videos, texto y datos estructurados.
Asegúrate de tener datos suficientes para desarrollar un modelo de AA
Para desarrollar un modelo de AA útil, debes tener suficientes datos. Para predecir una categoría, la cantidad recomendada de ejemplos de cada categoría es 10 veces la cantidad de atributos. Cuantas más categorías desees predecir, más datos necesitarás. Los conjuntos de datos desequilibrados requieren aún más datos. Si no tienes suficientes datos etiquetados disponibles, considera usar el aprendizaje semisupervisado.
El tamaño del conjunto de datos también tiene implicaciones de entrenamiento y entrega: si tienes un conjunto de datos pequeño, puedes entrenarlo directamente en una instancia de Notebooks; si tienes conjuntos de datos más grandes que requieren entrenamiento distribuido, usa el servicio de entrenamiento personalizado de Vertex AI. Si deseas que Google entrene el modelo para tus datos, usa AutoML.
Prepara datos para consumo
Los datos bien preparados pueden acelerar el desarrollo de modelos. Cuando configures tu canalización de datos, asegúrate de que esta pueda procesar datos por lotes y de transmisión para obtener resultados coherentes de ambos tipos de datos.
Desarrollo y entrenamiento de modelos
Aplica las siguientes prácticas recomendadas de desarrollo y entrenamiento de modelos a tu propio entorno.
Elige el desarrollo de modelos administrados o con entrenamiento personalizado
Cuando compiles tu modelo, considera el nivel más alto de abstracción posible. Usa AutoML cuando sea posible para que las tareas de desarrollo y entrenamiento se manejen por ti. En el caso de los modelos con entrenamiento personalizado, elige opciones administradas para escalabilidad y flexibilidad, en lugar de opciones autoadministradas. Para obtener más información sobre las opciones de desarrollo de modelos, consulta Usa herramientas y productos recomendados.
Considera el servicio de entrenamiento de Vertex AI en lugar del entrenamiento autoadministrado en las VMs de Compute Engine o los contenedores de VM de aprendizaje profundo. Para un entorno de JupyterLab, considera usar Vertex AI Workbench, que proporciona entornos de JupyterLab administrados y administrados por el usuario. Para obtener más información, consulta Desarrollo de aprendizaje automático y Entrenamiento para poner en funcionamiento.
Use contenedores previamente compilados o personalizados para modelos con entrenamiento personalizado
Para los modelos con entrenamiento personalizado en Vertex AI, puedes usar contenedores previamente compilados o personalizados según el framework de aprendizaje automático y la versión del framework. Hay contenedores previamente compilados disponibles para aplicaciones de entrenamiento de Python que se crean para versiones específicas de TensorFlow, scikit-learn, PyTorch y XGBoost.
De lo contrario, puedes optar por compilar un contenedor personalizado para tu trabajo de entrenamiento. Por ejemplo, usa un contenedor personalizado si deseas entrenar tu modelo con un framework de AA de Python que no está disponible en un contenedor previamente compilado, o si deseas entrenar con un lenguaje de programación que no sea de Python. En el contenedor personalizado, instala previamente la aplicación de entrenamiento y todas sus dependencias en una imagen que ejecute el trabajo de entrenamiento.
Considere los requisitos de entrenamiento distribuido
Considera tus requisitos de entrenamiento distribuido. Algunos frameworks de AA, como TensorFlow y PyTorch, permiten ejecutar código de entrenamiento idéntico en varias máquinas. Estos frameworks coordinan de forma automática la división del trabajo en función de las variables de entorno que se establecen en cada máquina. Otros frameworks pueden requerir una personalización adicional.
¿Qué sigue?
Para obtener más información sobre la IA y el aprendizaje automático, consulta los siguientes vínculos:
- Prácticas recomendadas para implementar el aprendizaje automático en Google Cloud
- Guía para profesionales de MLOps: un framework para la entrega continua y la automatización del aprendizaje automático
Explora otras categorías en el framework de arquitectura, como la confiabilidad, la excelencia operativa y la seguridad, la privacidad y el cumplimiento.