Implementar o aprendizado de máquina

Last reviewed 2023-08-23 UTC

Neste documento, o framework de arquitetura do Google Cloud explica alguns dos princípios básicos e práticas recomendadas para análise de dados no Google Cloud. Você aprenderá sobre alguns dos principais serviços de IA e machine learning (ML) e como eles podem ajudar durante os vários estágios do ciclo de vida de IA e ML. Essas práticas recomendadas ajudam você a atender às suas necessidades de IA e ML, além de criar o design do sistema. Para seguir este documento, é necessário ter familiaridade com os conceitos básicos de IA e ML.

Para simplificar o processo de desenvolvimento e minimizar a sobrecarga ao criar modelos de ML no Google Cloud, considere o nível mais alto de abstração que faça sentido para seu caso de uso. O nível de abstração é definido como a quantidade de complexidade com que um sistema é visualizado ou programado. Quanto maior o nível de abstração, menos detalhes estarão disponíveis para o espectador.

Para selecionar os serviços de IA e ML do Google com base nas necessidades da sua empresa, use a tabela a seguir:

Perfil Serviços do Google
Usuários comerciais Soluções padrão, comoContact Center AI Insights ,Document AI .Discovery AI eAPI Cloud Healthcare.
Desenvolvedores com experiência mínima em ML As APIs pré-treinadas abordam tarefas perceptivas comuns como visão, vídeo e linguagem natural. Essas APIs são compatíveis com modelos pré-treinados e fornecem detectores padrão. Elas estão prontas para uso sem experiência com ML ou com o esforço de desenvolvimento de modelos. As APIs pré-treinadas incluem: API Vision, API Video, API Natural Language, API Speech-to-Text, API Text-to-Speech e API Cloud Translation.
IA generativa para desenvolvedores A ferramenta Vertex AI para Pesquisa e Conversação permite que os desenvolvedores usem recursos prontos para uso para criar e implantar bots de chat em minutos e mecanismos de pesquisa em horas. Os desenvolvedores que quiserem combinar múltiplos recursos em fluxos de trabalho corporativos podem usar a API Gen App Builder para integração direta.
Desenvolvedores e cientistas de dados O AutoML permite fazer o desenvolvimento de modelos personalizados com dados próprios de imagem, vídeo, texto ou tabela. O AutoML acelera o desenvolvimento de modelos com pesquisa automática por meio do modelo Google para a arquitetura de modelo com melhor desempenho. Assim, você não precisa criar o modelo. O AutoML processa tarefas comuns para você, como escolher uma arquitetura de modelo, ajuste de hiperparâmetro, provisionar máquinas para treinamento e disponibilização.
Cientistas de dados e engenheiros de ML As ferramentas de modelos personalizados da Vertex AI permitem treinar e exibir modelos personalizados e operacionalizar o fluxo de trabalho de ML. Também é possível executar sua carga de trabalho de ML em computadores autogerenciados, como VMs do Compute Engine.
Cientistas de dados e engenheiros de machine learning O suporte de IA generativa na Vertex AI (também conhecido como genai) oferece acesso aos grandes modelos de IA generativa do Google para que você possa testar, ajustar e implantá-los nos aplicativos com tecnologia de IA.
Engenheiros de dados, cientistas e analistas de dados familiarizados com as interfaces SQL O BigQuery ML permite desenvolver modelos baseados em SQL com base em dados armazenados no BigQuery.

Principais serviços

Veja na tabela a seguir uma visão geral dos serviços de IA e ML:

Serviço do Google Descrição
Cloud Storage e BigQuery Forneça opções de armazenamento flexíveis para dados e artefatos de machine learning.
BigQuery ML Permite criar modelos de machine learning diretamente de dados armazenados no BigQuery.
Pub/Sub, Dataflow,
Cloud Data Fusion e Dataproc
Compatibilidade com a ingestão e o processamento de dados em lote e em tempo real. Para mais informações, consulte Análise de dados.
Vertex AI Oferece aos cientistas de dados e engenheiros de machine learning uma única plataforma para criar, treinar, testar, monitorar, ajustar e implantar modelos de ML para tudo, de IA generativa até MLOps.

As ferramentas incluem o seguinte:
Vertex AI para Pesquisa e Conversação Permite criar chatbots e mecanismos de pesquisa para sites e para uso em dados corporativos.
  • A IA de conversação na Vertex AI para Pesquisa e Conversação pode ajudar a reinventar as interações de clientes e funcionários com assistentes digitais e bots de chat com IA generativa. Por exemplo, com essas ferramentas, é possível fornecer mais do que apenas informações, ativando as transações na experiência de chat.
  • O Vertex AI para Pesquisa e Conversação empresarial permite que as empresas criem experiências de pesquisa para clientes e funcionários em sites públicos ou privados. Além de fornecer resultados de pesquisa multimodais de alta qualidade, a Pesquisa corporativa pode resumir os resultados e fornecer citações correspondentes com IA generativa.
IA generativa na Vertex AI Oferece acesso aos grandes modelos de IA generativa do Google para que você possa testar, ajustar e implantá-los para uso nos seus aplicativos com tecnologia de IA. A IA generativa na Vertex AI também é conhecida como genai.
  • Os modelos de IA generativa, também conhecidos como modelos de fundação, são categorizados pelo tipo de conteúdo que eles são projetados para gerar. Esse conteúdo inclui embeddings de texto e chat, imagem, código e texto.
  • O Vertex AI Studio permite prototipar e testar rapidamente modelos de IA generativa no console do Google Cloud. É possível testar comandos de amostra, projetar seus comandos e personalizar modelos de fundação para lidar com tarefas que atendam às necessidades do aplicativo.
  • Ajuste de modelos: permite personalizar modelos de fundação para casos de uso específicos, ajustando-os com um conjunto de dados de exemplos de entrada e saída.
  • Model Garden oferece modelos de fundação empresariais, modelos de tarefas específicos e APIs.
APIs pré-treinadas
AutoML Fornece ferramentas de modelos personalizados para criar, implantar e escalonar modelos de ML. Os desenvolvedores podem fazer upload dos próprios dados e usar o serviço AutoML aplicável para criar um modelo personalizado.
  • AutoML Image: executa a classificação de imagens e a detecção de objetos em dados de imagem.
  • AutoML Video: executa a detecção de objetos, a classificação e o reconhecimento de ações em dados de vídeo.
  • AutoML Text: realiza classificação de linguagem, extração de entidade e análise de sentimento em dados de texto.
  • AutoML Translation: detecta e traduz entre pares de idiomas.
  • AutoML Tabular: permite criar um modelo de regressão, classificação ou previsão. Destinado a dados estruturados.
Infraestrutura de IA Permite usar aceleradores de IA para processar cargas de trabalho de ML em grande escala. Esses aceleradores permitem que você treine e faça inferências nos modelos de aprendizado profundo e nos modelos de machine learning de maneira econômica.

As GPUs podem ajudar com treinamento econômico de inferência e escalonamento vertical ou horizontal para modelos de aprendizado profundo. As Unidades de Processamento de Tensor (TPUs) são um ASIC criado especialmente para treinar e executar redes neurais profundas.
Dialogflow Entrega agentes virtuais que proporcionam uma experiência de conversa.
Contact Center AI Oferece uma experiência automatizada e central de insights com a funcionalidade Agent Assist para agentes humanos.
Document AI Oferece compreensão de documentos em escala para documentos em geral e para tipos de documentos específicos, como relacionados a empréstimos e compras.
Lending DocAI Automatiza o processamento de documentos hipotecários. Reduz o tempo de processamento e otimiza a captura de dados, além de oferecer suporte a requisitos regulamentares e de conformidade.
Procurement DocAI Automatize a captura de dados de compras em escala, transformando documentos não estruturados, como faturas e comprovantes, em dados estruturados para aumentar a eficiência operacional, melhorar a experiência do cliente e tomar decisões fundamentadas em análises métricas.
Recomendações Entrega recomendações de produtos personalizadas.
Healthcare Natural Language AI Permite analisar e analisar documentos médicos.
API Media Translation Permite a tradução de fala em tempo real a partir de dados de áudio.

Processamento de dados

Aplique as seguintes práticas recomendadas de processamento de dados ao seu ambiente.

Verifique se os dados atendem aos requisitos de ML

Os dados usados para ML precisam atender a determinados requisitos básicos, independentemente do tipo de dados. Esses requisitos incluem a capacidade dos dados de prever a meta, a consistência de granularidade entre os dados usados para treinamento e os dados usados na previsão, bem como os dados rotulados com precisão para treinamento. Seus dados também precisam ter volume suficiente. Para mais informações, consulte Processamento de dados.

Armazene dados tabulares no BigQuery

Se você usa dados tabulares, considere armazenar todos eles no BigQuery e usar a API BigQuery Storage para ler dados deles. Para simplificar a interação com a API, use uma das seguintes opções de ferramentas, dependendo de onde você quer ler os dados:

O tipo de dados de entrada também determina as ferramentas de desenvolvimento de modelo disponíveis. APIs pré-treinadas, AutoML e BigQuery ML podem fornecer ambientes de desenvolvimento mais econômicos e econômicos para certos casos de uso de imagem, vídeo, texto e dados estruturados.

Verifique se você tem dados suficientes para desenvolver um modelo de ML

Para desenvolver um modelo de ML útil, é preciso ter dados suficientes. Para prever uma categoria, o número recomendado de exemplos para cada categoria é 10 vezes o número de recursos. Quanto mais categorias você quiser prever, mais dados serão necessários. Conjuntos de dados desbalanceados exigem ainda mais dados. Se não houver dados rotulados suficientes disponíveis, pense no aprendizado semi-supervisionado.

O tamanho do conjunto de dados também tem implicações no treinamento e na disponibilização: se você tiver um conjunto de dados pequeno, poderá treiná-lo diretamente em uma instância de notebooks. Caso você tenha conjuntos de dados maiores que exijam distribuição distribuída treinamento, use o serviço de treinamento personalizado Vertex AI. Se você quiser que o Google treine o modelo para seus dados, use o AutoML.

Preparar dados para consumo

Ter dados bem preparados pode acelerar o desenvolvimento de modelos. Ao configurar o pipeline de dados, verifique se ele pode processar dados em lote e em streaming para que você receba resultados consistentes dos dois tipos de dados.

Desenvolvimento e treinamento de modelos

Aplique as práticas recomendadas de desenvolvimento e treinamento de modelos a seguir ao seu próprio ambiente.

Escolher o desenvolvimento de modelos gerenciados ou personalizados

Ao criar seu modelo, pense no mais alto nível de abstração possível. Use o AutoML sempre que possível para que as tarefas de desenvolvimento e treinamento sejam processadas para você. Para modelos treinados de forma personalizada, escolha as opções gerenciadas para escalonabilidade e flexibilidade, em vez de opções autogerenciadas. Para saber mais sobre as opções de desenvolvimento de modelo, consulte Usar ferramentas e produtos recomendados.

Considere o serviço de treinamento Vertex AI em vez do treinamento autogerenciado nas VMs do Compute Engine ou no Deep Aprenda sobre contêineres de VM. Para um ambiente JupyterLab, considere o Vertex AI Workbench, que oferece ambientes JupyterLab gerenciados pelo usuário e gerenciados. Para mais informações, consulte Desenvolvimento de machine learning e Treinamento operacional.

Usar contêineres pré-criados ou personalizados para modelos treinados de forma personalizada

Para modelos treinados de forma personalizada no Vertex AI, é possível usar contêineres pré-criados ou personalizados, dependendo do framework e da versão do machine learning. Contêineres pré-criados estão disponíveis para aplicativos de treinamento em Python criados para versões específicas do TensorFlow, scikit-learn, PyTorch e XGBoost.

Caso contrário, crie um contêiner personalizado para o job de treinamento. Por exemplo, use um contêiner personalizado se quiser treinar seu modelo usando um framework do Python ML que não está disponível em um contêiner predefinido ou se quiser treinar usando uma linguagem de programação diferente do Python de dados. No contêiner personalizado, pré-instale o aplicativo de treinamento e todas as respectivas dependências em uma imagem que executa o job de treinamento.

Considere os requisitos de treinamento distribuído

Considere seus requisitos de treinamento distribuído. Alguns frameworks de ML, como o TensorFlow e o PyTorch, permitem executar códigos de treinamento idênticos em várias máquinas. Esses frameworks coordenam automaticamente a divisão do trabalho com base em variáveis de ambiente definidas em cada máquina. Outros frameworks podem exigir outras personalizações.

A seguir

Para mais informações sobre IA e machine learning, consulte:

Explore outras categorias no Framework de arquitetura, como confiabilidade, excelência operacional e segurança, privacidade e conformidade.