Este documento no Well-Architected Framework: perspectiva de IA e ML oferece uma visão geral dos princípios e recomendações para otimizar o custo dos seus sistemas de IA em todo o ciclo de vida de ML. Ao adotar uma abordagem proativa e informada de gerenciamento de custos, sua organização pode aproveitar todo o potencial dos sistemas de IA e ML e manter a disciplina financeira. As recomendações neste documento estão alinhadas ao pilar de otimização de custos do Google Cloud Well-Architected Framework.
Os sistemas de IA e ML podem ajudar você a descobrir insights valiosos e recursos preditivos com base em dados. Por exemplo, você pode reduzir o atrito nos processos internos, melhorar as experiências do usuário e conseguir insights mais profundos sobre os clientes. A nuvem oferece grandes quantidades de recursos e um tempo rápido para gerar valor sem grandes investimentos iniciais para cargas de trabalho de IA e ML. Para maximizar o valor comercial e alinhar os gastos com suas metas de negócios, é necessário entender os fatores de custo, otimizar os custos de forma proativa, configurar controles de gastos e adotar práticas de FinOps.
As recomendações neste documento são mapeadas para os seguintes princípios básicos:
- Definir e medir custos e retornos
- Otimizar a alocação de recursos
- Impor práticas de governança e gerenciamento de dados
- Automatize e simplifique com MLOps
- Usar serviços gerenciados e modelos pré-treinados
Definir e medir custos e retornos
Para gerenciar com eficiência os custos de IA e ML no Google Cloud, é necessário definir e medir os custos de recursos de nuvem e o valor comercial das suas iniciativas de IA e ML. Para ajudar você a acompanhar os gastos de forma granular,o Google Cloud oferece ferramentas abrangentes de faturamento e gerenciamento de custos, como:
- Relatórios e tabelas do Cloud Billing
- Painéis, orçamentos e alertas do Looker Studio
- Cloud Monitoring
- Cloud Logging
Para tomar decisões fundamentadas sobre alocação e otimização de recursos, considere as seguintes recomendações.
Estabelecer metas de negócios e KPIs
Alinhe as escolhas técnicas nos seus projetos de IA e ML com as metas de negócios e os indicadores principais de performance (KPIs).
Defina objetivos estratégicos e KPIs focados no ROI
Verifique se os projetos de IA e ML estão alinhados a objetivos estratégicos, como crescimento da receita, redução de custos, satisfação do cliente e eficiência. Envolva as partes interessadas para entender as prioridades de negócios. Defina objetivos de IA e ML que sejam específicos, mensuráveis, alcançáveis, relevantes e temporais (SMART). Por exemplo, um objetivo SMART é: "Reduzir o tempo de atendimento por chat para suporte ao cliente em 15% em 6 meses usando um chatbot de IA".
Para avançar em direção às suas metas de negócios e medir o retorno do investimento (ROI), defina KPIs para as seguintes categorias de métricas:
- Custos de treinamento, inferência, armazenamento e recursos de rede, incluindo custos unitários específicos (como o custo por inferência, ponto de dados ou tarefa). Essas métricas ajudam você a ter insights sobre oportunidades de eficiência e otimização de custos. É possível acompanhar esses custos usando os relatórios do Cloud Billing e os painéis do Cloud Monitoring.
- Métricas de valor comercial, como crescimento da receita, economia de custos, satisfação do cliente, eficiência, precisão e adoção. É possível acompanhar essas métricas usando a análise do BigQuery e os painéis do Looker.
Métricas específicas do setor, como:
- Setor de varejo: medir o aumento de receita e o churn
- Setor de saúde: medir o tempo e os resultados dos pacientes
- Setor financeiro: medir a redução de fraudes
Métricas específicas do projeto. É possível acompanhar essas métricas usando os Experimentos da Vertex AI e a avaliação.
- IA preditiva: medir acurácia e precisão
- IA generativa: medir a adoção, a satisfação e a qualidade do conteúdo
- IA de visão computacional: medir a acurácia
Promover uma cultura de conscientização sobre custos e otimização contínua
Adote os princípios de FinOps para garantir que cada projeto de IA e ML tenha custos estimados e maneiras de medir e acompanhar os custos reais ao longo do ciclo de vida. Garanta que os custos e benefícios comerciais dos seus projetos tenham proprietários atribuídos e responsabilidade clara.
Para mais informações, consulte Promover uma cultura de conscientização de custos no pilar de otimização de custos do Google Cloud Well-Architected Framework.
Gerar valor e otimização contínua com iteração e feedback
Mapeie seus aplicativos de IA e ML diretamente para as metas de negócios e meça o ROI.
Para validar suas hipóteses de ROI, comece com projetos piloto e use o seguinte ciclo de otimização iterativa:
- Monitore continuamente e analise dados: acompanhe KPIs e custos para identificar desvios e oportunidades de otimização.
- Faça ajustes orientados por dados: otimize estratégias, modelos, infraestrutura e alocação de recursos com base em insights de dados.
- Refine de forma iterativa: adapte os objetivos de negócios e os KPIs com base no que você aprendeu e nas necessidades comerciais em evolução. Essa iteração ajuda você a manter a relevância e o alinhamento estratégico.
- Estabeleça um ciclo de feedback: analise a performance, os custos e o valor com as partes interessadas para informar a otimização contínua e o planejamento de projetos futuros.
Gerenciar dados de faturamento com o Cloud Billing e rótulos
Para otimizar os custos de maneira eficaz, é preciso ter visibilidade da origem de cada elemento. As recomendações nesta seção podem ajudar você a usar ferramentas do Google Cloud para receber insights detalhados sobre os custos de IA e ML. Também é possível atribuir custos a projetos, equipes e atividades específicas de IA e ML. Esses insights preparam o terreno para a otimização de custos.
Organizar e rotular recursos do Google Cloud
- Estruture seus projetos e recursos em uma hierarquia que reflita sua estrutura organizacional e seus fluxos de trabalho de IA e ML. Para rastrear e analisar custos em diferentes níveis, organize seus recursos do Google Cloud usando organizações, pastas e projetos. Para mais informações, consulte Decidir uma hierarquia de recursos para sua Google Cloud zona de destino.
- Aplique rótulos significativos aos recursos. É possível usar rótulos que indicam o projeto, a equipe, o ambiente, o nome do modelo, o conjunto de dados, o caso de uso e os requisitos de performance. Os rótulos oferecem um contexto valioso para seus dados de faturamento e permitem uma análise de custos granular.
- Mantenha a consistência nas convenções de rotulagem em todos os seus projetos de IA e ML. Convenções de rotulagem consistentes garantem que os dados de faturamento sejam organizados e possam ser analisados com facilidade.
Usar ferramentas relacionadas ao faturamento
- Para facilitar a análise e a geração de relatórios detalhados, exporte os dados de faturamento para o BigQuery. O BigQuery tem recursos de consulta avançados que permitem analisar os dados de faturamento para entender seus custos.
- Para agregar custos por rótulos, projetos ou períodos específicos, você pode escrever consultas SQL personalizadas no BigQuery. Com essas consultas, é possível atribuir custos a atividades específicas de IA e ML, como treinamento de modelos, ajuste de hiperparâmetros ou inferência.
- Para identificar anomalias de custo ou picos inesperados de gastos, use os recursos analíticos do BigQuery. Essa abordagem pode ajudar você a detectar possíveis problemas ou ineficiências nas suas cargas de trabalho de IA e ML.
- Para identificar e gerenciar custos inesperados, use o painel de detecção de anomalias no Cloud Billing.
- Para distribuir custos entre diferentes equipes ou departamentos com base no uso de recursos, use o recurso de alocação de custos do Google Cloud. A alocação de custos promove a responsabilidade e a transparência.
- Para ter insights sobre padrões de gastos, analise os relatórios do Cloud Billing predefinidos. É possível filtrar e personalizar esses relatórios para se concentrar em projetos ou serviços específicos de IA e ML.
Monitore recursos continuamente com painéis, alertas e relatórios
Para criar uma maneira escalonável e resiliente de acompanhar os custos, você precisa de monitoramento e relatórios contínuos. Painéis, alertas e relatórios são a base para um acompanhamento de custos eficaz. Com essa base, você mantém acesso constante às informações de custo, identifica áreas de otimização e garante o alinhamento entre metas de negócios e custos.
Criar um sistema de relatórios
Crie relatórios programados e compartilhe-os com as partes interessadas relevantes.
Use o Cloud Monitoring para coletar métricas de várias fontes, incluindo seus aplicativos, infraestrutura e Google Cloud serviços como Compute Engine, Google Kubernetes Engine (GKE) e funções do Cloud Run. Para visualizar métricas e registros em tempo real, use o painel predefinido do Cloud Monitoring ou crie painéis personalizados. Com os painéis personalizados, você define e adiciona métricas para acompanhar aspectos específicos dos seus sistemas, como performance do modelo, chamadas de API ou KPIs de negócios.
Use o Cloud Logging para coleta e armazenamento centralizados de registros dos seus aplicativos, sistemas e Google Cloud serviços. Use os registros para as seguintes finalidades:
- Acompanhe os custos e a utilização de recursos como CPU, memória, armazenamento e rede.
- Identifique casos de provisionamento excessivo (em que os recursos não são totalmente utilizados) e insuficiente (em que há recursos insuficientes). O provisionamento em excesso resulta em custos desnecessários. O provisionamento insuficiente diminui os tempos de treinamento e pode causar problemas de desempenho.
- Identifique recursos inativos ou subutilizados, como VMs e GPUs, e tome medidas para encerrá-los ou redimensioná-los e otimizar os custos.
- Identifique picos de custo para detectar aumentos repentinos e inesperados no uso de recursos ou nos custos.
Use o Looker ou o Looker Studio para criar painéis e relatórios interativos. Conecte os painéis e relatórios a várias fontes de dados, incluindo o BigQuery e o Cloud Monitoring.
Definir limites de alerta com base nos principais KPIs
Para seus KPIs, determine os limites que devem acionar alertas. Limiares de alerta significativos podem ajudar você a evitar a fadiga de alertas. Crie políticas de alertas no Cloud Monitoring para receber notificações relacionadas aos seus KPIs. Por exemplo, você pode receber notificações quando a acurácia cair abaixo de um determinado limite ou quando a latência exceder um limite definido. Os alertas baseados em dados de registros podem notificar você sobre possíveis problemas de custo em tempo real. Com esses alertas, você pode tomar medidas corretivas imediatamente e evitar mais perdas financeiras.
Otimizar a alocação de recursos
Para alcançar a eficiência de custos das cargas de trabalho de IA e ML no Google Cloud, é necessário otimizar a alocação de recursos. Para evitar despesas desnecessárias e garantir que as cargas de trabalho tenham os recursos necessários para um desempenho ideal, alinhe a alocação de recursos às necessidades delas.
Para otimizar a alocação de recursos de nuvem para cargas de trabalho de IA e ML, considere as seguintes recomendações.
Use o escalonamento automático para ajustar os recursos dinamicamente
Use serviços do Google Cloud que oferecem suporte ao escalonamento automático, que ajusta automaticamente a alocação de recursos para corresponder à demanda atual. O escalonamento automático oferece os seguintes benefícios:
- Otimização de custos e desempenho: você evita pagar por recursos ociosos. Ao mesmo tempo, o escalonamento automático garante que seus sistemas tenham os recursos necessários para funcionar de maneira ideal, mesmo com carga máxima.
- Mais eficiência: sua equipe fica livre para se concentrar em outras tarefas.
- Maior agilidade: você pode responder rapidamente às mudanças nas demandas e manter a alta disponibilidade dos seus aplicativos.
A tabela a seguir resume as técnicas que podem ser usadas para implementar o escalonamento automático em diferentes estágios dos seus projetos de IA.
Fase | Técnicas de escalonamento automático |
---|---|
Treinamento |
|
Inferência |
|
Comece com modelos e conjuntos de dados pequenos
Para reduzir custos, teste hipóteses de ML em pequena escala sempre que possível e use uma abordagem iterativa. Essa abordagem, com modelos e conjuntos de dados menores, oferece os seguintes benefícios:
- Redução de custos desde o início: menos poder de computação, armazenamento e tempo de processamento podem resultar em custos menores durante as fases iniciais de experimentação e desenvolvimento.
- Iteração mais rápida: menos tempo de treinamento é necessário, o que permite iterar mais rápido, explorar abordagens alternativas e identificar direções promissoras com mais eficiência.
- Complexidade reduzida: depuração, análise e interpretação mais simples dos resultados, o que leva a ciclos de desenvolvimento mais rápidos.
- Uso eficiente de recursos: menor chance de provisionamento excessivo de recursos. Você provisiona apenas os recursos necessários para a carga de trabalho atual.
Considere as seguintes recomendações:
- Use dados de amostra primeiro: treine seus modelos em um subconjunto representativo dos seus dados. Essa abordagem permite avaliar a performance do modelo e identificar possíveis problemas sem processar todo o conjunto de dados.
- Experimente usando notebooks: comece com instâncias menores e dimensione conforme necessário. É possível usar o Vertex AI Workbench, um ambiente gerenciado de notebook do Jupyter adequado para experimentos com diferentes arquiteturas de modelos e conjuntos de dados.
Comece com modelos mais simples ou pré-treinados: use o Model Garden da Vertex AI para descobrir e conhecer os modelos pré-treinados. Esses modelos exigem menos recursos computacionais. Aumente gradualmente a complexidade conforme necessário com base nos requisitos de performance.
- Use modelos pré-treinados para tarefas como classificação de imagens e processamento de linguagem natural. Para economizar nos custos de treinamento, ajuste os modelos em conjuntos de dados menores inicialmente.
- Use o BigQuery ML para dados estruturados. Com o BigQuery ML, é possível criar e implantar modelos diretamente no BigQuery. Essa abordagem pode ser econômica para testes iniciais, porque você pode aproveitar o modelo de preços de pagamento por consulta do BigQuery.
Escalonar para otimizar recursos: use a infraestrutura flexível do Google Cloudpara escalonar recursos conforme necessário. Comece com instâncias menores e ajuste o tamanho ou o número delas quando necessário.
Descobrir requisitos de recursos com experimentos
Os requisitos de recursos para cargas de trabalho de IA e ML podem variar muito. Para otimizar a alocação de recursos e os custos, é necessário entender as necessidades específicas das cargas de trabalho por meio de testes sistemáticos. Para identificar a configuração mais eficiente para seus modelos, teste diferentes configurações e analise a performance delas. Em seguida, com base nos requisitos, dimensione os recursos usados para treinamento e disponibilização.
Recomendamos a seguinte abordagem para experimentos:
- Comece com um valor de referência: comece com uma configuração de referência com base nas estimativas iniciais dos requisitos de carga de trabalho. Para criar um valor de referência, use o estimador de custos para novas cargas de trabalho ou um relatório de faturamento atual. Para mais informações, consulte Descubra o custo real da IA empresarial no Google Cloud.
- Entenda suas cotas: antes de iniciar experimentos extensivos, familiarize-se com as cotas do Google Cloud projeto para os recursos e as APIs que você planeja usar. As cotas determinam o intervalo de configurações que você pode testar de forma realista. Ao se familiarizar com as cotas, você pode trabalhar dentro dos limites de recursos disponíveis durante a fase de experimentos.
- Teste de forma sistemática: ajuste parâmetros como o número de CPUs, a quantidade de memória, o número e o tipo de GPUs e TPUs e a capacidade de armazenamento. Com o treinamento da Vertex AI e as previsões da Vertex AI, você pode testar diferentes tipos e configurações de máquinas.
Monitore a utilização, o custo e a performance: acompanhe a utilização de recursos, o custo e as principais métricas de performance, como tempo de treinamento, latência de inferência e acurácia do modelo, para cada configuração que você testar.
- Para acompanhar a utilização de recursos e as métricas de desempenho, use o console da Vertex AI.
- Para coletar e analisar métricas de desempenho detalhadas, use o Cloud Monitoring.
- Para conferir os custos, use os relatórios do Cloud Billing e os painéis do Cloud Monitoring.
- Para identificar gargalos de desempenho nos seus modelos e otimizar o uso de recursos, use ferramentas de criação de perfil como o Vertex AI TensorBoard.
Analise os custos: compare o custo e o desempenho de cada configuração para identificar a opção mais econômica.
Estabeleça metas de melhoria e limites de recursos com base nas cotas: defina limites para quando o escalonamento começa a gerar retornos decrescentes na performance, como redução mínima no tempo de treinamento ou latência para um aumento significativo de custo. Considere as cotas do projeto ao definir esses limites. Determine o ponto em que o custo e as possíveis implicações de cota de um escalonamento adicional não são mais justificados pelos ganhos de performance.
Refine de forma iterativa: repita o processo de experimentação com configurações refinadas com base nas suas descobertas. Sempre verifique se o uso de recursos permanece dentro das cotas alocadas e está alinhado aos limites de custo-benefício estabelecidos.
Use o MLOps para reduzir ineficiências
À medida que as organizações usam cada vez mais o ML para impulsionar a inovação e a eficiência, gerenciar o ciclo de vida do ML de maneira eficaz se torna fundamental. As operações de ML (MLOps) são um conjunto de práticas que automatizam e simplificam o ciclo de vida de ML, desde o desenvolvimento de modelos até a implantação e o monitoramento.
Alinhar MLOps com fatores de custo
Para aproveitar o MLOps e ter eficiência de custos, identifique os principais fatores de custo no ciclo de vida de ML. Em seguida, adote e implemente práticas de MLOps alinhadas aos fatores de custo. Priorize e adote os recursos de MLOps que abordam os fatores de custo mais impactantes. Essa abordagem ajuda a garantir um caminho gerenciável e bem-sucedido para uma economia de custos significativa.
Implementar MLOps para otimização de custos
Confira a seguir algumas práticas comuns de MLOps que ajudam a reduzir custos:
- Controle de versões: ferramentas como o Git ajudam a rastrear versões de código, dados e modelos. O controle de versões garante a reprodutibilidade, facilita a colaboração e evita retrabalhos dispendiosos que podem ser causados por problemas de controle de versões.
- Integração e entrega contínua (CI/CD): o Cloud Build e o Artifact Registry permitem implementar pipelines de CI/CD para automatizar a criação, o teste e a implantação dos seus modelos de ML. Os pipelines de CI/CD garantem o uso eficiente de recursos e minimizam os custos associados a intervenções manuais.
- Observabilidade: o Cloud Monitoring e o Cloud Logging permitem acompanhar o desempenho do modelo em produção, identificar problemas e acionar alertas para intervenção proativa. Com a capacidade de observação, você mantém a acurácia do modelo, otimiza a alocação de recursos e evita inatividade ou degradação de desempenho caras.
- Retreinamento de modelos: o Vertex AI Pipelines simplifica os processos de retreinamento periódico ou quando o desempenho diminui. Ao usar o Vertex AI Pipelines para retreinamento, você garante que seus modelos permaneçam precisos e eficientes, o que pode evitar o consumo desnecessário de recursos e manter o desempenho ideal.
- Teste e avaliação automatizados: a Vertex AI ajuda a acelerar e padronizar a avaliação de modelos. Implemente testes automatizados durante todo o ciclo de vida de ML para garantir a qualidade e a confiabilidade dos seus modelos. Esses testes ajudam a detectar erros no início, evitam problemas caros na produção e reduzem a necessidade de testes manuais extensivos.
Para mais informações, consulte MLOps: pipelines de entrega contínua e automação em machine learning.
Aplicar práticas de governança e gerenciamento de dados
Práticas eficazes de gerenciamento e governança de dados são essenciais para a otimização de custos. Dados bem organizados podem incentivar as equipes a reutilizar conjuntos de dados, evitar duplicações desnecessárias e reduzir o esforço para obter dados de alta qualidade. Ao gerenciar os dados de forma proativa, é possível reduzir os custos de armazenamento, melhorar a qualidade dos dados e garantir que seus modelos de ML sejam treinados com os dados mais relevantes e valiosos.
Para implementar práticas de gerenciamento e governança de dados, considere as seguintes recomendações.
Estabelecer e adotar uma estrutura de governança de dados
A crescente importância da IA e do ML transformou os dados no recurso mais valioso para organizações que estão passando por uma transformação digital. Um framework robusto para governança de dados é um requisito crucial para gerenciar cargas de trabalho de IA e ML de maneira econômica em grande escala. Um framework de governança de dados com políticas, procedimentos e funções claramente definidos oferece uma abordagem estruturada para gerenciar dados durante todo o ciclo de vida. Essa estrutura ajuda a melhorar a qualidade dos dados, aumentar a segurança, melhorar a utilização e reduzir a redundância.
Estabelecer uma estrutura de governança de dados
Há muitos frameworks preexistentes para governança de dados, como os publicados pelo EDM Council (em inglês), com opções disponíveis para diferentes setores e tamanhos de organização. Escolha e adapte um framework que se alinhe às suas necessidades e prioridades específicas.
Implementar a estrutura de governança de dados
Google Cloud oferece os seguintes serviços e ferramentas para ajudar você a implementar um framework de governança de dados robusto:
O Dataplex Universal Catalog é uma malha de dados inteligente que ajuda a unificar dados distribuídos e automatizar a governança de dados sem precisar consolidar conjuntos de dados em um só lugar. Isso ajuda a reduzir o custo de distribuição e manutenção de dados, facilita a descoberta de dados e promove a reutilização.
- Para organizar os dados, use abstrações do Dataplex Universal Catalog e configure lakes e zonas de dados lógicos.
- Para administrar o acesso a data lakes e zonas, use os Grupos do Google e as funções do Dataplex Universal Catalog.
- Para simplificar os processos de qualidade de dados, ative a qualidade de dados automática.
O Dataplex Universal Catalog também é um serviço de gerenciamento de metadados totalmente gerenciado e escalonável. O catálogo oferece uma base que garante que os recursos de dados sejam acessíveis e reutilizáveis.
- Os metadados das fontes Google Cloud compatíveis são ingeridos automaticamente no catálogo universal. Para fontes de dados fora do Google Cloud, crie entradas personalizadas.
- Para melhorar a capacidade de descoberta e o gerenciamento de recursos de dados, enriqueça os metadados técnicos com metadados comerciais usando aspectos.
- Verifique se os cientistas de dados e profissionais de ML têm permissões suficientes para acessar o Dataplex Universal Catalog e usar a função de pesquisa.
O compartilhamento do BigQuery permite trocar recursos de dados de maneira eficiente e segura entre suas organizações para enfrentar desafios de confiabilidade e custo de dados.
- Configure trocas de dados e garanta que os recursos de dados selecionados possam ser vistos como listagens.
- Use data clean rooms para gerenciar com segurança o acesso a dados sensíveis e fazer parcerias eficientes com equipes e organizações externas em projetos de IA e ML.
- Verifique se os cientistas de dados e os profissionais de ML têm permissões suficientes para visualizar e publicar conjuntos de dados no compartilhamento do BigQuery.
Tornar conjuntos de dados e recursos reutilizáveis em todo o ciclo de vida de ML
Para ter eficiência e benefícios de custo significativos, reutilize conjuntos de dados e recursos em vários projetos de ML. Ao evitar esforços redundantes de engenharia de dados e desenvolvimento de recursos, sua organização pode acelerar o desenvolvimento de modelos, reduzir os custos de infraestrutura e liberar recursos valiosos para outras tarefas críticas.
OGoogle Cloud oferece os seguintes serviços e ferramentas para ajudar você a reutilizar conjuntos de dados e recursos:
- Os profissionais de dados e ML podem publicar produtos de dados para maximizar a reutilização entre as equipes. Os produtos de dados podem ser descobertos e usados pelo Catálogo Universal do Dataplex e pelo compartilhamento do BigQuery.
- Para conjuntos de dados tabulares e estruturados, use o Feature Store da Vertex AI para promover a reutilização e simplificar o gerenciamento de recursos pelo BigQuery.
- É possível armazenar dados não estruturados no Cloud Storage e governar os dados usando tabelas de objetos e URLs assinados do BigQuery.
- É possível gerenciar embeddings de vetor incluindo metadados nos índices da Pesquisa de vetor.
Automatizar e simplificar com MLOps
Um dos principais benefícios da adoção de práticas de MLOps é a redução dos custos de tecnologia e pessoal. Automation ajuda a evitar a duplicação de atividades de ML e reduz a carga de trabalho de cientistas de dados e engenheiros de ML.
Para automatizar e simplificar o desenvolvimento de ML com MLOps, considere as seguintes recomendações.
Automatizar e padronizar a coleta e o tratamento de dados
Para reduzir o esforço e o tempo de desenvolvimento de ML, automatize e padronize suas tecnologias de coleta e tratamento de dados.
Automatizar a coleta e o tratamento de dados
Esta seção resume os produtos, ferramentas e técnicas que podem ser usados para automatizar a coleta e o tratamento de dados.
Identifique e escolha as fontes de dados relevantes para suas tarefas de IA e ML:
- Opções de banco de dados, como Cloud SQL, Spanner, AlloyDB para PostgreSQL, Firestore e BigQuery. Sua escolha depende dos requisitos, como latência no acesso de gravação (estática ou dinâmica), volume de dados (alto ou baixo) e formato de dados (estruturado, não estruturado ou semiestruturado). Para mais informações, consulte bancos de dadosGoogle Cloud .
- Data lakes, como o Cloud Storage com o BigLake.
- Dataplex Universal Catalog para governar dados em várias fontes.
- Plataformas de eventos de streaming, como Pub/Sub, Dataflow ou Apache Kafka.
- APIs externas.
Para cada uma das suas fontes de dados, escolha uma ferramenta de ingestão:
- Dataflow: para processamento em lote e de stream de dados de várias fontes, com integração de componentes de ML. Para uma arquitetura orientada a eventos, é possível combinar o Dataflow com o Eventarc para processar dados de ML com eficiência. Para melhorar a eficiência dos jobs de MLOps e ML, use recursos de GPU e ajuste correto.
- Funções do Cloud Run: para ingestão de dados baseada em eventos que é acionada por mudanças em fontes de dados para aplicativos em tempo real.
- BigQuery: para ingestão de dados tabulares clássicos com acesso frequente.
Escolha ferramentas para transformação e carregamento de dados:
- Use ferramentas como o Dataflow ou o Dataform para automatizar transformações de dados, como escalonamento de recursos, codificação de variáveis categóricas e criação de novos recursos em lote, streaming ou tempo real. As ferramentas selecionadas dependem dos seus requisitos e dos serviços escolhidos.
- Use o Feature Store da Vertex AI para automatizar a criação e o gerenciamento de atributos. Você pode centralizar recursos para reutilização em diferentes modelos e projetos.
Padronizar a coleta e o tratamento de dados
Para descobrir, entender e gerenciar recursos de dados, use serviços de gerenciamento de metadados, como o Catálogo Universal do Dataplex. Isso ajuda a padronizar as definições de dados e garantir a consistência em toda a organização.
Para aplicar a padronização e evitar o custo de manter várias implementações personalizadas, use pipelines de treinamento e orquestração automatizados. Para mais informações, consulte a próxima seção.
Automatizar pipelines de treinamento e reutilizar recursos atuais
Para aumentar a eficiência e a produtividade em MLOps, os pipelines de treinamento automatizados são cruciais. Google Cloud oferece um conjunto robusto de ferramentas e serviços para criar e implantar pipelines de treinamento, com uma forte ênfase na reutilização de recursos existentes. Os pipelines de treinamento automatizados ajudam a acelerar o desenvolvimento de modelos, garantir a consistência e reduzir o esforço redundante.
Automatizar pipelines de treinamento
A tabela a seguir descreve os serviços e recursos do Google Cloud que podem ser usados para automatizar as diferentes funções de um pipeline de treinamento.
Função | Serviços e recursos doGoogle Cloud |
---|---|
Orquestração: defina fluxos de trabalho complexos de ML com várias etapas e dependências. É possível definir cada etapa como uma tarefa em contêineres separada, o que ajuda a gerenciar e escalonar tarefas individuais com facilidade. |
|
Controle de versões: acompanhe e controle diferentes versões de pipelines e componentes para garantir a reprodutibilidade e a capacidade de auditoria. | Armazene modelos de pipeline do Kubeflow em um repositório do Kubeflow Pipelines no Artifact Registry. |
Reutilização: reutilize componentes e artefatos de pipeline atuais, como conjuntos de dados preparados e modelos treinados, para acelerar o desenvolvimento. | Armazene os modelos de pipeline no Cloud Storage e compartilhe-os com toda a organização. |
Monitoramento: monitore a execução do pipeline para identificar e resolver problemas. | Use o Cloud Logging e o Cloud Monitoring. Para mais informações, consulte Monitorar recursos continuamente com painéis, alertas e relatórios. |
Ampliar a reutilização além dos pipelines
Procure oportunidades de expandir a reutilização além dos pipelines de treinamento. Confira a seguir exemplos de recursos do Google Cloud que permitem reutilizar recursos, conjuntos de dados, modelos e código de ML.
- O Feature Store da Vertex AI oferece um repositório centralizado para organizar, armazenar e disponibilizar atributos de ML. Ele permite reutilizar recursos em diferentes projetos e modelos, o que pode melhorar a consistência e reduzir o esforço da engenharia de recursos. É possível armazenar, compartilhar e acessar recursos para casos de uso on-line e off-line.
- Com os conjuntos de dados da Vertex AI, as equipes podem criar e gerenciar conjuntos de dados de forma centralizada. Assim, sua organização maximiza a reutilização e reduz a duplicação de dados. Suas equipes podem pesquisar e descobrir os conjuntos de dados usando o Dataplex Universal Catalog.
- Com o Vertex AI Model Registry, é possível armazenar, gerenciar e implantar seus modelos treinados. Com o Model Registry, é possível reutilizar os modelos em pipelines subsequentes ou para previsão on-line, o que ajuda a aproveitar os esforços de treinamento anteriores.
- Com os contêineres personalizados, é possível empacotar o código de treinamento e as dependências em contêineres e armazená-los no Artifact Registry. Com eles, é possível fornecer ambientes de treinamento consistentes e reproduzíveis em diferentes pipelines e projetos.
Usar serviços Google Cloud para avaliação e ajuste de modelos
OGoogle Cloud oferece um conjunto de ferramentas e serviços eficientes para simplificar e automatizar a avaliação e o ajuste de modelos. Essas ferramentas e serviços podem ajudar você a reduzir o tempo de produção e os recursos necessários para treinamento e monitoramento contínuos. Ao usar esses serviços, suas equipes de IA e ML podem melhorar a performance do modelo com menos iterações caras, alcançar resultados mais rápidos e minimizar o desperdício de recursos de computação.
Usar avaliação e experimentação de modelos eficientes em termos de recursos
Comece um projeto de IA com experimentos antes de escalonar verticalmente sua solução. Nos seus experimentos, acompanhe vários metadados, como versão do conjunto de dados, parâmetros e tipo de modelo. Para mais reprodutibilidade e comparação dos resultados, use o rastreamento de metadados além do controle de versões do código, semelhante aos recursos do Git. Para evitar a perda de informações ou a implantação da versão errada em produção, use os Experimentos da Vertex AI antes de implementar implantações ou jobs de treinamento em grande escala.
Com os experimentos da Vertex AI, é possível fazer o seguinte:
- Simplifique e automatize o rastreamento e a descoberta de metadados com uma UI e uma API fáceis de usar para cargas de trabalho prontas para produção.
- Analise as métricas de performance do modelo e compare as métricas de vários modelos.
Depois que o modelo for treinado, monitore continuamente o desempenho e a deriva de dados ao longo do tempo para os dados recebidos. Para simplificar esse processo, use o Vertex AI Model Monitoring para acessar diretamente os modelos criados no Model Registry. O Model Monitoring também automatiza o monitoramento de dados e resultados com previsões on-line e em lote. É possível exportar os resultados para o BigQuery para análise e acompanhamento adicionais.
Escolher as estratégias ideais para automatizar o treinamento
Para o ajuste de hiperparâmetros, recomendamos as seguintes abordagens:
- Para automatizar o processo de encontrar os hiperparâmetros ideais para seus modelos, use o ajuste de hiperparâmetros da Vertex AI. A Vertex AI usa algoritmos avançados para explorar o espaço de hiperparâmetros e identificar a melhor configuração.
- Para um ajuste eficiente de hiperparâmetros, use técnicas de otimização bayesiana, principalmente quando você trabalha com modelos complexos e grandes conjuntos de dados.
Para treinamento distribuído, recomendamos as seguintes abordagens:
Para grandes conjuntos de dados e modelos complexos, use a infraestrutura de treinamento distribuído da Vertex AI. Essa abordagem permite treinar modelos em várias máquinas, o que ajuda a reduzir significativamente o tempo de treinamento e os custos associados. Use ferramentas como:
- Ajuste da Vertex AI para realizar o ajuste de detalhes supervisionado do Gemini, do Imagen e de outros modelos.
- Treinamento da Vertex AI ou Ray na Vertex AI para treinamento distribuído personalizado.
Escolha frameworks de ML otimizados, como Keras e PyTorch, que oferecem suporte ao treinamento distribuído e ao uso eficiente de recursos.
Usar a IA explicável
É fundamental entender por que um modelo toma determinadas decisões e identificar possíveis vieses ou áreas de melhoria. Use a Vertex Explainable AI para ter insights sobre as previsões do seu modelo. A Vertex Explainable AI oferece uma maneira de automatizar explicações baseadas em atributos e exemplos vinculadas aos seus experimentos da Vertex AI.
- Baseadas em recursos: para entender quais recursos são mais influentes nas previsões do seu modelo, analise as atribuições de recursos. Essa compreensão pode orientar os esforços de engenharia de atributos e melhorar a capacidade de interpretação do modelo.
- Baseada em exemplos: para retornar uma lista de exemplos, geralmente do conjunto de treinamento, que são mais semelhantes à entrada, a Vertex AI usa a pesquisa de vizinhos mais próximos. Como entradas semelhantes geralmente geram previsões semelhantes, é possível usar essas explicações para explorar e explicar o comportamento de um modelo.
Usar serviços gerenciados e modelos pré-treinados
Adote uma abordagem incremental para seleção e desenvolvimento de modelos. Essa abordagem ajuda a evitar custos excessivos associados a começar do zero a cada vez. Para controlar os custos, use frameworks de ML, serviços gerenciados e modelos pré-treinados.
Para aproveitar ao máximo os serviços gerenciados e os modelos pré-treinados, considere as recomendações a seguir.
Use notebooks para exploração e experimentos
Os ambientes de notebooks são cruciais para testes de ML econômicos. Um notebook oferece um espaço interativo e colaborativo para que cientistas de dados e engenheiros explorem dados, desenvolvam modelos, compartilhem conhecimento e iterem de maneira eficiente. A colaboração e o compartilhamento de conhecimento por meio de notebooks aceleram significativamente o desenvolvimento, as revisões de código e a transferência de conhecimento. Os notebooks ajudam a otimizar fluxos de trabalho e reduzir esforços duplicados.
Em vez de adquirir e gerenciar hardware caro para seu ambiente de desenvolvimento, use a infraestrutura escalonável e sob demanda do Vertex AI Workbench e do Colab Enterprise.
O Vertex AI Workbench é um ambiente de desenvolvimento de notebook do Jupyter para todo o fluxo de trabalho de ciência de dados. É possível interagir com a Vertex AI e outros serviços do Google Cloud em um notebook Jupyter de uma instância. As integrações e os recursos do Vertex AI Workbench ajudam você a fazer o seguinte:
- Acessar e analisar dados em um notebook do Jupyter usando integrações do BigQuery e do Cloud Storage.
- Automatizar atualizações recorrentes de um modelo usando execuções programadas de código que são executadas na Vertex AI.
- Processe dados rapidamente executando um notebook em um cluster do Dataproc.
- executar um notebook como uma etapa em um pipeline usando o Vertex AI Pipelines.
O Colab Enterprise é um ambiente de notebook gerenciado e colaborativo com os recursos de segurança e compliance do Google Cloud. O Colab Enterprise é ideal se as prioridades do seu projeto incluírem desenvolvimento colaborativo e redução do esforço para gerenciar a infraestrutura. O Colab Enterprise se integra a serviços doGoogle Cloud e assistência com tecnologia de IA que usa o Gemini. Com o Colab Enterprise, você pode:
- Trabalhe em notebooks sem precisar gerenciar a infraestrutura.
- Compartilhe um notebook com um único usuário, grupo do Google ou domínio do Google Workspace. É possível controlar o acesso aos notebooks usando o Identity and Access Management (IAM).
- Interaja com recursos integrados à Vertex AI e ao BigQuery.
Para rastrear mudanças e reverter para versões anteriores quando necessário, você pode integrar seus notebooks a ferramentas de controle de versões como o Git.
Comece com modelos atuais e pré-treinados
Treinar modelos complexos do zero, especialmente modelos de aprendizado profundo, exige recursos computacionais e tempo significativos. Para acelerar a seleção e o desenvolvimento de modelos, comece com modelos atuais e pré-treinados. Esses modelos, treinados com grandes conjuntos de dados, eliminam a necessidade de treinar modelos do zero e reduzem significativamente o custo e o tempo de desenvolvimento.
Reduzir os custos de treinamento e desenvolvimento
Selecione um modelo ou API apropriada para cada tarefa de ML e combine-os para criar um processo de desenvolvimento de ML de ponta a ponta.
O Vertex AI Model Garden oferece uma vasta coleção de modelos pré-treinados para tarefas como classificação de imagens, detecção de objetos e processamento de linguagem natural. Os modelos são agrupados nas seguintes categorias:
- Modelos do Google, como a família de modelos do Gemini e o Imagen para geração de imagens.
- Modelos de código aberto, como Gemma e Llama.
- Modelos de terceiros de parceiros como Anthropic e Mistral AI.
OGoogle Cloud fornece APIs de IA e ML que permitem aos desenvolvedores integrar recursos avançados de IA aos aplicativos sem precisar criar modelos do zero.
- A API Cloud Vision permite extrair insights de imagens. Essa API é útil para aplicativos como análise de imagens, moderação de conteúdo e entrada de dados automatizada.
- A API Cloud Natural Language permite analisar textos para entender a estrutura e o significado deles. Ela é útil para tarefas como análise de feedback de clientes, categorização de conteúdo e compreensão de tendências de redes sociais.
- A API Speech-to-Text converte áudio em texto. Essa API oferece suporte a vários idiomas e dialetos.
- A API Video Intelligence analisa o conteúdo de vídeo para identificar objetos, cenas e ações. Use essa API para análise de conteúdo de vídeo, moderação de conteúdo e pesquisa de vídeo.
- A API Document AI processa documentos para extrair, classificar e entender dados. Essa API ajuda a automatizar fluxos de trabalho de processamento de documentos.
- A API Dialogflow permite a criação de interfaces de conversa, como chatbots e assistentes de voz. É possível usar essa API para criar bots de atendimento ao cliente e assistentes virtuais.
- A API Gemini na Vertex AI oferece acesso ao modelo de IA mais eficiente e de uso geral do Google.
Reduzir os custos de ajuste
Para reduzir a necessidade de muitos dados e tempo de computação, ajuste os modelos pré-treinados em conjuntos de dados específicos. Recomendamos as seguintes abordagens:
- Transferência de aprendizado: use o conhecimento de um modelo pré-treinado para uma nova tarefa, em vez de começar do zero. Essa abordagem exige menos dados e tempo de computação, o que ajuda a reduzir os custos.
- Ajuste de adaptadores (ajuste com eficiência de parâmetros): adapte modelos a novas tarefas ou domínios sem ajuste fino completo. Essa abordagem exige muito menos recursos computacionais e um conjunto de dados menor.
- Ajuste supervisionado: adapta o comportamento do modelo com um conjunto de dados rotulado. Essa abordagem simplifica o gerenciamento da infraestrutura subjacente e o esforço de desenvolvimento necessário para um job de treinamento personalizado.
Conhecer e testar usando o Vertex AI Studio
O Vertex AI Studio permite testar, prototipar e implantar rapidamente aplicativos de IA generativa.
- Integração com o Model Garden: oferece acesso rápido aos modelos mais recentes e permite implantá-los de maneira eficiente para economizar tempo e custos.
- Acesso unificado a modelos especializados: consolida o acesso a uma ampla variedade de modelos e APIs pré-treinados, incluindo aqueles para chat, texto, mídia, tradução e fala. Esse acesso unificado pode ajudar você a reduzir o tempo gasto pesquisando e integrando serviços individuais.
Usar serviços gerenciados para treinar ou veicular modelos
Os serviços gerenciados podem ajudar a reduzir o custo do treinamento de modelo e simplificar o gerenciamento da infraestrutura, permitindo que você se concentre no desenvolvimento e na otimização de modelos. Essa abordagem pode resultar em benefícios de custo significativos e maior eficiência.
Redução da sobrecarga operacional
Para reduzir a complexidade e o custo do gerenciamento de infraestrutura, use serviços gerenciados, como:
- O treinamento da Vertex AI oferece um ambiente totalmente gerenciado para treinar seus modelos em escala. É possível escolher entre vários contêineres pré-criados com frameworks de ML conhecidos ou usar seus próprios contêineres personalizados.O Google Cloud processa o provisionamento, o escalonamento e a manutenção da infraestrutura, reduzindo a sobrecarga operacional.
- As previsões da Vertex AI processam o escalonamento da infraestrutura, o balanceamento de carga e o roteamento de solicitações. Você tem alta disponibilidade e desempenho sem intervenção manual.
- O Ray na Vertex AI oferece um cluster do Ray totalmente gerenciado. É possível usar o cluster para executar cargas de trabalho de IA personalizadas complexas que realizam muitos cálculos (ajuste de hiperparâmetros, ajuste fino de modelos, treinamento de modelo distribuídos e aprendizado por reforço com feedback humano) sem precisar gerenciar sua própria infraestrutura.
Usar serviços gerenciados para otimizar a utilização de recursos
Para detalhes sobre o uso eficiente de recursos, consulte Otimizar a utilização de recursos.
Colaboradores
Autores:
- Isaac Lo | Gerente de desenvolvimento comercial de IA
- Anastasia Prokaeva | Arquiteta de soluções de campo, IA generativa
- Amy Southwood | Consultora de soluções técnicas, análise de dados e IA
Outros colaboradores:
- Filipe Gracio, PhD | Engenheiro de clientes
- Kumar Dhanagopal | Desenvolvedor de soluções para vários produtos
- Marwan Al Shawi | Engenheiro de clientes do parceiro
- Nicolas Pintaux | Engenheiro de clientes, especialista em modernização de aplicativos