Implementa el aprendizaje automático

Last reviewed 2023-08-23 UTC

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 las siguientes: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 Search and Conversation permite a los desarrolladores usar sus capacidades listas para usar para compilar e implementar chatbots en minutos y los motores de búsqueda en cuestión de 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 Search and Conversation Te permite compilar chatbots y motores de búsqueda para sitios web y usarlos en datos empresariales.
  • La IA conversacional en Vertex AI Search and Conversation puede ayudar a reinventar las interacciones de los clientes y los empleados con chatbots con tecnología de IA generativa y asistentes digitales. Por ejemplo, con estas herramientas, puedes ofrecer más que solo información si habilitas las transacciones en la experiencia de chat.
  • Enterprise Search en Vertex AI Search and Conversation: Permite que las empresas compilen experiencias de búsqueda para clientes y empleados en sus sitios web públicos o privados. Además de brindar resultados de búsqueda multimodales de alta calidad, Enterprise Search puede resumir los resultados y proporcionar las citas correspondientes con IA generativa.
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.
  • Los modelos de IA generativa, también conocidos como modelos de base, se clasifican según el tipo de contenido que pueden generar. Este contenido incluye texto y chat, imágenes, código e incorporaciones de texto.
  • Generative AI Studio te permite crear prototipos y probar modelos de IA generativa con rapidez en la consola de Google Cloud. Puedes probar mensajes de muestra, diseñar tus propios mensajes y personalizar los modelos de base para administrar tareas que satisfagan las necesidades de tu aplicación.
  • El ajuste de modelos te permite personalizar los modelos de base para casos de uso específicos con un conjunto de datos de ejemplos de entrada y salida.
  • Model Garden proporciona modelos de base de nivel empresarial, modelos para tareas específicas y APIs.
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.
  • AutoML Image realiza la clasificación de imágenes y la detección de objetos en datos de imágenes.
  • AutoML Video: realiza la detección de objetos, la clasificación y el reconocimiento de acciones en los datos de video.
  • AutoML Text realiza la clasificación de idiomas, la extracción de entidades y el análisis de opiniones en datos de texto.
  • AutoML Translation: detecta y traduce entre pares de idiomas.
  • AutoML Tabular te permite compilar un modelo de regresión, clasificación o previsión. Orientado a datos estructurados.
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:

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 a fin de 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 VM 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.

Usa 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.

Considera los requisitos de entrenamiento distribuido

Considera tus requisitos de entrenamiento distribuido. Algunos frameworks de AA, como TensorFlow y PyTorch, te permiten ejecutar un 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:

Explora otras categorías en el framework de arquitectura, como la confiabilidad, la excelencia operativa y la seguridad, la privacidad y el cumplimiento.