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 Vertex AI Agent Builder permite que os desenvolvedores usem os recursos prontos para uso para criar e implantar chatbots 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 Agent Builder | Permite criar chatbots e mecanismos de pesquisa para sites e para uso em dados corporativos.
|
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.
|
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.
|
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:
- Se você usa o Dataflow, use o conector de E/S do BigQuery.
- Caso você use o TensorFlow ou o Keras, use o leitor de tf.data.dataset para BigQuery.
- Se você usar dados não estruturados, como imagens ou vídeos, armazene todos eles no Cloud Storage.
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:
- Práticas recomendadas para implementar machine learning no Google Cloud.
- Guia para profissionais de MLOps: uma estrutura para entrega e automação contínua de machine learning.
Explore outras categorias no Framework de arquitetura, como confiabilidade, excelência operacional e segurança, privacidade e conformidade.