Perspectiva de IA e ML: otimização de desempenho

Last reviewed 2026-02-13 UTC

Este documento do Google Cloud Framework bem arquitetado: perspectiva de IA e ML fornece princípios e recomendações para ajudar você a otimizar a performance das cargas de trabalho de IA e ML no Google Cloud. As recomendações neste documento estão alinhadas ao pilar de otimização de performance do Well-Architected Framework.

Os sistemas de IA e ML oferecem recursos avançados de automação e tomada de decisões para sua organização. O desempenho desses sistemas pode afetar diretamente fatores importantes para os negócios, como receita, custos e satisfação do cliente. Para aproveitar todo o potencial dos sistemas de IA e ML, é preciso otimizar a performance deles com base nas metas de negócios e nos requisitos técnicos. O processo de otimização de performance geralmente envolve concessões. Por exemplo, uma escolha de design que oferece o desempenho necessário pode gerar custos mais altos. As recomendações neste documento priorizam a performance em vez de outras considerações.

Para otimizar a performance de IA e ML, é preciso tomar decisões sobre fatores como arquitetura, parâmetros e estratégia de treinamento do modelo. Ao tomar essas decisões, considere todo o ciclo de vida dos sistemas de IA e ML e o ambiente de implantação deles. Por exemplo, LLMs muito grandes podem ter um desempenho excelente em infraestruturas de treinamento enormes, mas não em ambientes com capacidade limitada, como dispositivos móveis.

As recomendações neste documento são mapeadas para os seguintes princípios básicos:

Estabelecer objetivos de performance e métodos de avaliação

Sua estratégia e metas de negócios são a base para aproveitar as tecnologias de IA e ML. Transforme suas metas de negócios em indicadores principais de desempenho (KPIs) mensuráveis. Exemplos de KPIs incluem receita total, custos, taxa de conversão, taxa de retenção ou rotatividade, satisfação do cliente e satisfação dos funcionários.

Defina objetivos realistas

De acordo com as práticas recomendadas de engenharia de confiabilidade do site (SRE), os objetivos de um serviço precisam refletir um nível de desempenho que atenda aos requisitos dos clientes típicos. Isso significa que os objetivos de serviço precisam ser realistas em termos de escala e performance de recursos.

Objetivos irrealistas podem levar ao desperdício de recursos para ganhos mínimos de performance. Os modelos com melhor desempenho podem não gerar os melhores resultados comerciais. Esses modelos podem exigir mais tempo e custo para treinamento e execução.

Ao definir objetivos, diferencie e priorize os de qualidade e desempenho:

  • Qualidade se refere às características inerentes que determinam o valor de uma entidade. Isso ajuda você a avaliar se a entidade atende às suas expectativas e padrões.
  • Performance se refere à eficiência e eficácia com que uma entidade funciona ou realiza a finalidade pretendida.

Os engenheiros de ML podem melhorar as métricas de desempenho de um modelo durante o processo de treinamento. A Vertex AI oferece um serviço de avaliação que os engenheiros de ML podem usar para implementar o rastreamento padronizado e repetível de métricas de qualidade. A eficiência de previsão de um modelo indica o desempenho dele na produção ou no momento da inferência. Para monitorar a performance, use o Cloud Monitoring e o Vertex AI Model Monitoring. Para selecionar modelos adequados e decidir como treiná-los, é preciso traduzir metas de negócios em requisitos técnicos que determinam métricas de qualidade e desempenho.

Para entender como definir objetivos realistas e identificar métricas de performance adequadas, considere o exemplo a seguir de um sistema de detecção de fraude com tecnologia de IA:

  • Objetivo de negócios: para um sistema de detecção de fraudes, um objetivo de negócios irrealista é detectar 100% das transações fraudulentas com precisão em um nanossegundo em um pico de tráfego de 100 bilhões de transações por segundo. Um objetivo mais realista é detectar transações fraudulentas com 95% de precisão em 100 milissegundos para 90% das previsões on-line durante o horário de trabalho dos EUA em um volume máximo de um milhão de transações por segundo.
  • Métricas de performance: a detecção de fraude é um problema de classificação. É possível medir a qualidade de um sistema de detecção de fraudes usando métricas como recall, pontuação F1 e acurácia. Para acompanhar o desempenho ou a velocidade do sistema, é possível medir a latência de inferência. Detectar transações potencialmente fraudulentas pode ser mais valioso do que a precisão. Portanto, uma meta realista pode ser um recall alto com uma latência p90 inferior a 100 milissegundos.

Monitore a performance em todas as etapas do ciclo de vida do modelo

Durante a experimentação e o treinamento e após a implantação do modelo, monitore seus KPIs e observe desvios dos objetivos de negócios. Uma estratégia de monitoramento abrangente ajuda você a tomar decisões importantes sobre a qualidade do modelo e o uso de recursos, como:

  • Decidir quando interromper um job de treinamento.
  • Determinar se o desempenho de um modelo está diminuindo na produção.
  • Melhorar o custo e o tempo de lançamento no mercado de novos modelos.

Monitoramento durante a experimentação e o treinamento

O objetivo da etapa de experimentação é encontrar a abordagem, a arquitetura do modelo e os hiperparâmetros gerais ideais para uma tarefa específica. A experimentação ajuda você a determinar de forma iterativa a configuração que oferece desempenho ideal e como treinar o modelo. O monitoramento ajuda você a identificar com eficiência possíveis áreas de melhoria.

Para monitorar a qualidade e a eficiência do treinamento de um modelo, os engenheiros de ML precisam fazer o seguinte:

  • Visualize as métricas de qualidade e desempenho do modelo para cada teste.
  • Visualize gráficos e métricas do modelo, como histogramas de pesos e vieses.
  • Representar visualmente os dados de treinamento.
  • Criar perfis de algoritmos de treinamento em diferentes hardwares.

Para monitorar a experimentação e o treinamento, considere as seguintes recomendações:

Aspecto de monitoramento Recomendação
Qualidade do modelo

Para visualizar e acompanhar métricas de experimentos, como acurácia, e visualizar a arquitetura do modelo ou os dados de treinamento, use o TensorBoard. O TensorBoard é um conjunto de ferramentas de código aberto compatível com frameworks de ML, como:

Rastreamento de experimentos O Vertex AI Experiments se integra a instâncias gerenciadas do TensorBoard da Vertex AI de nível empresarial para oferecer suporte ao rastreamento de experimentos. Essa integração permite o armazenamento e o compartilhamento confiáveis de registros e métricas. Para permitir que várias equipes e pessoas acompanhem experimentos, recomendamos que você use o princípio do menor privilégio.
Eficiência de treinamento e experimentação A Vertex AI exporta métricas para o Monitoring e coleta dados de telemetria e registros usando um agente de observabilidade. É possível visualizar as métricas no console do Google Cloud . Como alternativa, crie painéis ou alertas com base nessas métricas usando o Monitoring. Para mais informações, consulte Métricas de monitoramento da Vertex AI.
GPUs NVIDIA

O Agente de operações ativa o monitoramento de GPU para o Compute Engine e para outros produtos compatíveis com o Agente de operações.

Você também pode usar o NVIDIA Data Center GPU Manager (DCGM), que é um pacote de ferramentas para gerenciar e monitorar GPUs NVIDIA em ambientes de cluster. O monitoramento de GPUs NVIDIA é especialmente útil para treinar e veicular modelos de aprendizado profundo.

Depuração avançada Para depurar problemas com o código de treinamento ou a configuração de um job do Vertex AI Training, inspecione o contêiner de treinamento usando uma sessão de shell interativa.

Monitoramento durante a veiculação: previsão de streaming

Depois de treinar um modelo e exportá-lo para o Vertex AI Model Registry, é possível criar um endpoint da Vertex AI. Esse endpoint fornece um endpoint HTTP para o modelo.

O Model Monitoring ajuda a identificar grandes mudanças na distribuição de atributos de entrada ou saída. Também é possível monitorar atribuições de recursos em produção quando comparadas a uma distribuição de base. A distribuição de base pode ser o conjunto de treinamento ou se basear em distribuições anteriores de tráfego de produção. Uma mudança na distribuição de veiculação pode implicar uma redução na performance preditiva em comparação com o treinamento.

  • Escolha um objetivo de monitoramento: dependendo da sensibilidade de um caso de uso a mudanças nos dados fornecidos ao modelo, é possível monitorar diferentes tipos de objetivos: desvio de atributo de entrada, desvio de saída e atribuição de atributo. Com o Model Monitoring v2, é possível monitorar modelos implantados em uma plataforma de exibição gerenciada, como a Vertex AI, e também em serviços auto-hospedados, como o Google Kubernetes Engine (GKE). Além disso, para um acompanhamento granular da performance, é possível monitorar parâmetros no nível do modelo em vez de um endpoint.
  • Monitore a veiculação de modelos de IA generativa: para garantir a estabilidade e minimizar a latência, principalmente para endpoints de LLM, configure uma pilha de monitoramento robusta. Os modelos do Gemini oferecem métricas integradas, como o tempo para o primeiro token (TTFT, na sigla em inglês), que podem ser acessadas diretamente no Metrics Explorer. Para monitorar a capacidade, a latência e as taxas de erro em todos os modelosGoogle Cloud , use o painel de observabilidade do modelo.

Monitoramento durante a disponibilização: previsão em lote

Para monitorar a previsão em lote, execute jobs de avaliação padrão no serviço de avaliação da Vertex AI. O Model Monitoring oferece suporte ao monitoramento de inferências em lote. Se você usa o Batch para executar sua carga de trabalho de serviço, é possível monitorar o consumo de recursos usando as métricas no Metrics Explorer.

Automatizar a avaliação para reprodutibilidade e padronização

Para fazer a transição de modelos de protótipos para sistemas de produção confiáveis, é necessário um processo de avaliação padronizado. Esse processo ajuda a acompanhar o progresso nas iterações, comparar diferentes modelos, detectar e reduzir o viés e garantir o atendimento aos requisitos regulamentares. Para garantir a reprodutibilidade e a escalonabilidade, é necessário automatizar o processo de avaliação.

Para padronizar e automatizar o processo de avaliação da performance de ML, siga estas etapas:

  1. Defina indicadores quantitativos e qualitativos.
  2. Escolha as fontes de dados e técnicas adequadas.
  3. Padronize o pipeline de avaliação.

Essas opções são descritas nas seções a seguir.

1. Definir indicadores quantitativos e qualitativos

As métricas baseadas em computação são calculadas usando fórmulas numéricas. As métricas de perda de treinamento podem ser diferentes das métricas de avaliação relevantes para as metas de negócios. Por exemplo, um modelo usado para detecção de fraude supervisionada pode usar a perda de entropia cruzada para treinamento. No entanto, para avaliar a performance da inferência, uma métrica mais relevante pode ser o recall, que indica a cobertura de transações fraudulentas. A Vertex AI oferece um serviço de avaliação para métricas como recall, precisão e área sob a curva de recall e precisão (AuPRC, na sigla em inglês). Para mais informações, consulte Avaliação de modelos na Vertex AI.

Os indicadores qualitativos, como a fluidez ou o valor de entretenimento do conteúdo gerado, não podem ser calculados de forma objetiva. Para avaliar esses indicadores, use a estratégia LLM-as-a-judge ou serviços de rotulagem humana, como o Labelbox.

2. Escolher fontes de dados e técnicas adequadas

Uma avaliação é estatisticamente significativa quando é executada em um determinado volume mínimo de exemplos variados. Escolha os conjuntos de dados e as técnicas que você usa para avaliações com abordagens como estas:

  • Conjunto de dados de ouro: use amostras de dados confiáveis, consistentes e precisas que reflitam a distribuição de probabilidade de um modelo em produção.
  • LLM-as-a-judge: avalie a saída de um modelo generativo usando um LLM. Essa abordagem é relevante apenas para tarefas em que um LLM pode avaliar um modelo.
  • Feedback do usuário: para orientar melhorias futuras, capture o feedback direto do usuário como parte do tráfego de produção.

Dependendo da técnica de avaliação, do tamanho e do tipo de dados de avaliação e da frequência da avaliação, é possível usar o BigQuery ou o Cloud Storage como fontes de dados, inclusive para o serviço de avaliação da Vertex AI.

3. Padronizar o pipeline de avaliação

Para automatizar o processo de avaliação, considere os seguintes serviços e ferramentas:

Executar e acompanhar experimentos frequentes

Para otimizar a performance de ML de maneira eficaz, você precisa de uma plataforma dedicada, eficiente e interativa para experimentação. A plataforma precisa ter as seguintes capacidades:

  • Facilite o desenvolvimento iterativo para que as equipes possam passar da ideia aos resultados validados com rapidez, confiabilidade e escala.
  • Permita que as equipes descubram com eficiência as configurações ideais que podem ser usadas para acionar jobs de treinamento.
  • Fornecer acesso controlado a dados, recursos e ferramentas relevantes para realizar e acompanhar experimentos.
  • Oferecer suporte à rastreamento de linhagem de dados e reprodutibilidade.

Tratar dados como um serviço

Isole as cargas de trabalho experimentais dos sistemas de produção e configure controles de segurança adequados para seus recursos de dados usando as seguintes técnicas:

Técnica Descrição Vantagens
Isolamento de recursos Isole os recursos de diferentes ambientes em projetos Google Cloud separados. Por exemplo, provisione os recursos para ambientes de desenvolvimento, preparo e produção em projetos separados, como ml-dev, ml-staging e ml-prod. O isolamento de recursos ajuda a evitar que cargas de trabalho experimentais consumam recursos necessários para sistemas de produção. Por exemplo, se você usar um único projeto para experimentos e produção, um experimento poderá consumir todas as GPUs NVIDIA A100 disponíveis para o Vertex AI Training. Isso pode causar interrupções no retreinamento de um modelo de produção crítico.
Controle de identidade e acesso Aplique os princípios de confiança zero e privilégio mínimo e use contas de serviço específicas da carga de trabalho. Conceda acesso usando papéis predefinidos do Identity and Access Management (IAM), como Usuário da Vertex AI (roles/aiplatform.user). Essa abordagem ajuda a evitar ações acidentais ou maliciosas que podem corromper os experimentos.
Segurança de rede Isole o tráfego de rede usando redes de nuvem privada virtual (VPC) e aplique perímetros de segurança com os controles de serviço da VPC. Essa abordagem ajuda a proteger dados sensíveis e impede que o tráfego experimental afete os serviços de produção.
Isolamento de dados Armazene dados experimentais em buckets separados do Cloud Storage e conjuntos de dados do BigQuery. O isolamento de dados evita a modificação acidental de dados de produção. Por exemplo, sem o isolamento de dados, um experimento pode alterar inadvertidamente os valores de recursos em uma tabela compartilhada do BigQuery, o que pode levar a uma degradação significativa na acurácia do modelo no ambiente de produção.

Equipar as equipes com as ferramentas adequadas

Para estabelecer um conjunto selecionado de ferramentas que acelere todo o ciclo de vida da experimentação, desde a análise de dados até o treinamento e a análise de modelos, use as seguintes técnicas:

  • Prototipagem interativa: para análise de dados rápida, teste de hipóteses e prototipagem de código, use o Colab Enterprise ou instâncias gerenciadas do JupyterLab no Vertex AI Workbench. Para mais informações, consulte Escolher uma solução de notebook.
  • Treinamento de modelos escalonável: execute jobs de treinamento em um serviço gerenciado que oferece suporte a treinamento distribuído e recursos de computação escalonáveis, como GPUs e TPUs. Essa abordagem ajuda a reduzir o tempo de treinamento de dias para horas e permite mais experimentos paralelos. Para mais informações, consulte Usar componentes especializados para treinamento.
  • ML no banco de dados: treine modelos diretamente no BigQuery ML usando SQL. Essa técnica ajuda a eliminar a movimentação de dados e acelera a experimentação para analistas e usuários focados em SQL.
  • Monitoramento de experimentos: crie um histórico pesquisável e comparável de dados de experimentos registrando parâmetros, métricas e artefatos para cada execução de experimento. Para mais informações, consulte Criar um sistema de linhagem de dados e modelos.
  • Otimizar a IA generativa: para otimizar o desempenho dos aplicativos de IA generativa, é necessário testar comandos, seleção de modelos e ajuste fino. Para engenharia de comandos rápida, use o Vertex AI Studio. Para testar modelos de fundação (como o Gemini) e encontrar um modelo adequado para seu caso de uso e metas de negócios, use o Model Garden.

Padronize para aumentar a reprodutibilidade e a eficiência

Para garantir que os experimentos consumam recursos de maneira eficiente e produzam resultados consistentes e confiáveis, padronize e automatize os experimentos usando as seguintes abordagens:

  • Garanta ambientes consistentes usando contêineres: empacote seu código de treinamento e dependências como contêineres do Docker. Gerencie e disponibilize os contêineres usando o Artifact Registry. Essa abordagem permite reproduzir problemas em máquinas diferentes repetindo experimentos em ambientes idênticos. A Vertex AI oferece contêineres pré-criados para treinamento sem servidor.
  • Automatizar fluxos de trabalho de ML como pipelines: orquestre o fluxo de trabalho de ML de ponta a ponta como um pipeline codificado usando o Vertex AI Pipelines. Essa abordagem ajuda a manter a consistência, garantir a reprodutibilidade e rastrear automaticamente todos os artefatos e metadados no Vertex ML Metadata.
  • Automatizar o provisionamento com infraestrutura como código (IaC): defina e implante ambientes de teste padronizados usando ferramentas de IaC, como o Terraform. Para garantir que todos os projetos sigam um conjunto padronizado de configurações de segurança, rede e governança, use módulos do Terraform.

Criar e automatizar a infraestrutura de treinamento e disponibilização

Para treinar e disponibilizar modelos de IA, configure uma plataforma robusta que ofereça suporte ao desenvolvimento, implantação e disponibilização eficientes e confiáveis. Com essa plataforma, suas equipes podem melhorar a qualidade e o desempenho do treinamento e da exibição a longo prazo.

Usar componentes especializados para treinamento

Uma plataforma de treinamento confiável ajuda a acelerar o desempenho e oferece uma abordagem padronizada para automatizar tarefas repetíveis no ciclo de vida do ML, desde a preparação de dados até a validação de modelos.

Usar infraestrutura especializada para previsão

Para reduzir o trabalho de gerenciar implantações de infraestrutura e modelos, automatize os fluxos de tarefas repetíveis. Uma abordagem orientada a serviços permite que você se concentre na velocidade e em um tempo de retorno (TTV) mais rápido. Considere as seguintes recomendações:

Recomendação Técnicas
Implemente a implantação automática.
Aproveite os recursos de escalonamento gerenciado.
Otimize a latência e a capacidade de transferência nos endpoints da Vertex AI.
Otimizar a utilização de recursos.
Otimizar a implantação do modelo.
Monitorar o desempenho
  • Para melhorar o desempenho da exibição em produção, observe os registros e as métricas de inferência dos endpoints da Vertex AI. Para entender o comportamento dos modelos em produção, você precisa de ferramentas para monitorar a qualidade e o desempenho. Com o Model Monitoring v2, é possível monitorar várias versões de um modelo e fazer iterações rapidamente.

Correlacionar opções de design com requisitos de performance

Ao fazer escolhas de design para melhorar a performance, avalie se elas atendem aos requisitos da empresa ou são desnecessárias e contraproducentes. Para escolher a infraestrutura, os modelos e as configurações adequados, identifique gargalos de desempenho e avalie como eles estão vinculados às métricas de desempenho. Por exemplo, mesmo em aceleradores de GPU muito potentes, as tarefas de treinamento podem ter gargalos de desempenho. Esses gargalos podem ser causados por problemas de E/S de dados na camada de armazenamento ou por limitações de desempenho do modelo.

Foco na performance holística do fluxo de ML

À medida que os requisitos de treinamento aumentam em termos de tamanho do modelo e do cluster, a taxa de falha e os custos de infraestrutura podem aumentar. Portanto, o custo da falha pode aumentar de forma quadrática. Não é possível confiar apenas em métricas convencionais de eficiência de recursos, como a utilização de FLOPs do modelo (MFU). Para entender por que o MFU pode não ser um indicador suficiente da performance geral do treinamento, examine o ciclo de vida de um job de treinamento típico. O ciclo de vida consiste no seguinte fluxo cíclico:

  1. Criação de cluster: os nós de trabalho são provisionados.
  2. Inicialização: o treinamento é inicializado nos nós de trabalho.
  3. Execução do treinamento: os recursos são usados para propagação direta ou indireta.
  4. Interrupção: o processo de treinamento é interrompido durante a criação de pontos de verificação do modelo ou devido a remoções de nós de trabalho.

Após cada interrupção, o fluxo anterior é repetido.

A etapa de execução do treinamento constitui uma fração do ciclo de vida de um job de ML. Portanto, a utilização de nós de trabalho para a etapa de execução do treinamento não indica a eficiência geral do job. Por exemplo, mesmo que a etapa de execução do treinamento seja executada com 100% de eficiência, a eficiência geral pode ser baixa se as interrupções ocorrerem com frequência ou se demorar muito para retomar o treinamento após as interrupções.

Adotar e acompanhar métricas de goodput

Para garantir uma medição e otimização de performance holísticas, mude o foco das métricas convencionais de eficiência de recursos, como MFU, para o goodput. O goodput considera a disponibilidade e a utilização dos seus clusters e recursos de computação, ajudando a medir a eficiência dos recursos em várias camadas.

O foco das métricas de goodput é o progresso geral de um job, e não se ele parece estar ocupado. As métricas de goodput ajudam a otimizar os jobs de treinamento para ganhos gerais tangíveis em produtividade e performance.

O goodput oferece uma compreensão detalhada das possíveis perdas de eficiência com as seguintes métricas:

  • O goodput de programação é a fração de tempo em que todos os recursos necessários para treinamento ou exibição estão disponíveis para uso.
  • O goodput do ambiente de execução representa a proporção de etapas úteis do treinamento que são concluídas durante um determinado período.
  • O goodput do programa é o desempenho de pico do hardware ou a MFU que um job de treinamento pode extrair do acelerador. Isso depende da utilização eficiente dos recursos de computação subjacentes durante o treinamento.

Otimizar o goodput de programação

Para otimizar o goodput de programação de uma carga de trabalho, é necessário identificar os requisitos específicos de infraestrutura dela. Por exemplo, a inferência em lote, a inferência de streaming e o treinamento têm requisitos diferentes:

  • As cargas de trabalho de inferência em lote podem acomodar algumas interrupções e atrasos na disponibilidade de recursos.
  • As cargas de trabalho de inferência de streaming exigem infraestrutura sem estado.
  • As cargas de trabalho de treinamento exigem compromissos de infraestrutura de longo prazo.
Escolher os modos de capacidade de obtenção adequados

Na computação em nuvem, a obtenção é a capacidade de provisionar recursos quando eles são necessários. Google Cloud oferece os seguintes modos de obtenção:

  • VMs sob demanda: você provisiona VMs do Compute Engine quando elas são necessárias e executa as cargas de trabalho nelas. A solicitação de provisionamento está sujeita à disponibilidade de recursos, como GPUs. Se não houver uma quantidade suficiente de um tipo de recurso solicitado, a solicitação vai falhar.
  • VMs spot: você cria VMs usando capacidade de computação não utilizada. As VMs spot são faturadas a um preço com desconto em comparação com as VMs on demand, mas Google Cloud podem interromper as VMs spot a qualquer momento. Recomendamos o uso de VMs spot para cargas de trabalho sem estado que podem falhar normalmente quando as VMs host são preemptivas.
  • Reservas: você reserva capacidade como um pool de VMs. As reservas são ideais para cargas de trabalho que precisam de garantia de capacidade. Use reservas para maximizar o goodput de programação, garantindo que os recursos estejam disponíveis quando necessário.
  • Dynamic Workload Scheduler: esse mecanismo de provisionamento enfileira solicitações de VMs com tecnologia de GPU em um pool dedicado. O Dynamic Workload Scheduler ajuda a evitar as restrições dos outros modos de capacidade de obtenção:

    • Situações de falta de estoque no modo sob demanda.
    • Restrição de ausência de estado e risco de preempção de VMs spot.
    • Implicações de custo e disponibilidade das reservas.

A tabela a seguir resume os modos de capacidade de obtenção para serviços Google Cloude fornece links para a documentação relevante:

Produto VMs sob demanda VMs spot Reservas Programador dinâmico de cargas de trabalho
Compute Engine Criar e iniciar uma instância do Compute Engine Sobre as VMs do Spot Sobre as reservas Criar um MIG com VMs de GPU
GKE Adicione e gerencie pools de nós Sobre as Spot VMs no GKE Como consumir recursos por zona reservados Consumo de GPU, TPU e H4D com provisionamento de início flexível
Cloud Batch Criar e executar um job Job em lote com VMs spot Garantir a disponibilidade de recursos usando reservas de VM Usar GPUs e VMs de início flexível
Vertex AI Training Criar um job de treinamento sem servidor Usar VMs spot para jobs de treinamento Usar reservas para jobs de treinamento Programar jobs de treinamento com base na disponibilidade de recursos
Vertex AI Receba inferências em lote e on-line de modelos treinados de forma personalizada. Usar VMs spot para inferência Usar reservas para inferência on-line Usar VMs de início flexível para inferência
Planejar eventos de manutenção

É possível melhorar o goodput de programação antecipando e planejando a manutenção e os upgrades de infraestrutura.

Otimizar o goodput do ambiente de execução

O processo de treinamento de modelo é frequentemente interrompido por eventos como criação de pontos de verificação de modelos e substituição de recursos. Para otimizar o goodput de ambiente de execução, é necessário garantir que o sistema retome o treinamento e a inferência de maneira eficiente depois que a infraestrutura necessária estiver pronta e após qualquer interrupção.

Durante treinamento de modelo, os pesquisadores de IA usam o checkpointing para acompanhar o progresso e minimizar a perda de aprendizado devido a remoções de recursos. Tamanhos de modelo maiores aumentam a duração das interrupções de checkpointing, o que afeta ainda mais a eficiência geral. Após interrupções, o aplicativo de treinamento precisa ser reiniciado em todos os nós do cluster. Esses reinícios podem levar algum tempo porque os artefatos necessários precisam ser recarregados.

Para otimizar o goodput de tempo de execução, use as seguintes técnicas:

Técnica Descrição
Implemente checkpoints automáticos.

Com checkpoints frequentes, é possível acompanhar o progresso do treinamento em um nível granular. No entanto, o processo de treinamento é interrompido para cada checkpoint, o que reduz o throughput útil de tempo de execução. Para minimizar as interrupções, você pode configurar o checkpoint automático, em que o sinal SIGTERM do host aciona a criação de um checkpoint. Essa abordagem limita as interrupções de checkpointing a quando o host precisa de manutenção. Lembre-se de que algumas falhas de hardware podem não acionar sinais SIGTERM. Portanto, encontre um equilíbrio adequado entre eventos de checkpoint automático e SIGTERM.

É possível configurar o checkpoint automático usando as seguintes técnicas:

Use estratégias adequadas de carregamento de contêineres.

Em um cluster do GKE, antes que os nós possam retomar os jobs de treinamento, pode levar algum tempo para concluir o carregamento dos artefatos necessários, como dados ou pontos de verificação do modelo. Para reduzir o tempo necessário para recarregar dados e retomar o treinamento, use as seguintes técnicas:

Para mais informações sobre como reduzir o tempo de recarga de dados, consulte Dicas e truques para reduzir a latência de inicialização a frio no GKE.

Usar o cache de compilação. Se o treinamento exigir uma pilha baseada em compilação, verifique se é possível usar um cache de compilação. Quando você usa um cache de compilação, o gráfico de computação não é recompilado após cada interrupção do treinamento. As reduções resultantes de tempo e custo são particularmente benéficas quando você usa TPUs. Com o JAX, é possível armazenar o cache de compilação em um bucket do Cloud Storage e usar os dados armazenados em cache em caso de interrupções.

Otimizar o goodput do programa

O goodput do programa representa a utilização máxima de recursos durante o treinamento, que é a maneira convencional de medir a eficiência do treinamento e da disponibilização. Para melhorar o goodput do programa, você precisa de uma estratégia de distribuição otimizada, uma sobreposição eficiente de computação e comunicação, acesso otimizado à memória e pipelines eficientes.

Para otimizar o goodput do programa, use as seguintes estratégias:

Estratégia Descrição
Use opções de personalização no nível da estrutura. Frameworks ou compiladores como o Accelerated Linear Algebra (XLA) fornecem muitos componentes importantes do goodput do programa. Para otimizar ainda mais o desempenho, personalize os componentes fundamentais do gráfico de computação. Por exemplo, o Pallas é compatível com kernels personalizados para TPUs e GPUs.
Descarregar a memória para a DRAM do host. Para treinamento em grande escala, que exige memória significativamente alta dos aceleradores, é possível descarregar parte do uso de memória para a DRAM do host. Por exemplo, a XLA permite descarregar ativações de modelo da transmissão direta para a memória do host em vez de usar a memória do acelerador. Com essa estratégia, é possível melhorar a performance do treinamento aumentando a capacidade do modelo ou o tamanho do lote.
Use a quantização durante o treinamento.

Você pode melhorar a eficiência do treinamento e a taxa de transferência de dados usando a quantização do modelo durante o treinamento. Essa estratégia reduz a precisão dos gradientes ou pesos durante determinadas etapas do treinamento. Portanto, o goodput do programa melhora. No entanto, essa estratégia pode exigir mais esforço de engenharia durante o desenvolvimento do modelo.

Para saber mais, acesse os recursos a seguir:

Implemente o paralelismo.

Para aumentar a utilização dos recursos de computação disponíveis, use estratégias de paralelismo no nível do modelo durante o treinamento e ao carregar dados.

Para informações sobre paralelismo de modelo, consulte:

Para alcançar o paralelismo de dados, use ferramentas como:

Foco em requisitos específicos da carga de trabalho

Para garantir que seus esforços de otimização de performance sejam eficazes e abrangentes, é necessário corresponder as decisões de otimização aos requisitos específicos das cargas de trabalho de treinamento e inferência. Escolha modelos de IA adequados e use estratégias relevantes de otimização de comandos. Selecione as ferramentas e estruturas adequadas com base nos requisitos das suas cargas de trabalho.

Identificar requisitos específicos da carga de trabalho

Avalie os requisitos e as restrições das suas cargas de trabalho nas seguintes áreas:

Área Descrição
Requisitos de tarefa e qualidade

Defina a tarefa principal da carga de trabalho e o valor de referência de performance. Responda a perguntas como:

  • A tarefa envolve regressão, classificação ou geração?
  • Qual é a qualidade mínima aceitável: por exemplo, acurácia, precisão ou recall?
Contexto de veiculação

Analise o ambiente operacional em que você planeja implantar o modelo. O contexto de exibição costuma ter um impacto significativo nas decisões de design. Considere os seguintes fatores:

  • Latência: o sistema precisa de previsões síncronas em tempo real ou um processo assíncrono em lote é aceitável?
  • Conectividade: você precisa executar o modelo off-line ou em um dispositivo de borda?
  • Volume: quais são os níveis médios e de pico esperados para a carga de previsão? Os níveis de carga influenciam suas decisões sobre estratégias de escalonamento e infraestrutura.
Habilidades e economia da equipe Avalie o valor comercial de comprar a solução em relação ao custo e à complexidade de criar e manter. Determine se sua equipe tem as habilidades especializadas necessárias para o desenvolvimento de modelos personalizados ou se um serviço gerenciado pode oferecer um tempo de valorização mais rápido.

Escolher um modelo adequado

Se uma API ou um modelo aberto puder oferecer o desempenho e a qualidade necessários, use essa API ou modelo.

  • Para tarefas específicas de modalidade, como reconhecimento óptico de caracteres (OCR), rotulagem e moderação de conteúdo, escolha APIs de ML como as seguintes:

  • Para aplicativos de IA generativa, considere modelos do Google como Gemini, Imagen e Veo.

    Acesse o Model Garden e escolha entre uma coleção selecionada de modelos de fundação e específicos de tarefas do Google. O Model Garden também oferece modelos abertos, como o Gemma, e modelos de terceiros, que podem ser executados na Vertex AI ou implantados em tempos de execução como o GKE.

  • Se uma tarefa puder ser concluída usando uma API de ML ou um modelo de IA generativa, considere a complexidade dela. Para tarefas complexas, modelos grandes como o Gemini podem oferecer um desempenho melhor do que modelos menores.

Melhorar a qualidade com comandos melhores

Para melhorar a qualidade dos seus comandos em grande escala, use o otimizador de comandos da Vertex AI. Não é necessário reescrever manualmente instruções e comandos do sistema. O otimizador de comandos é compatível com as seguintes abordagens:

  • Otimização zero-shot: uma abordagem de baixa latência que melhora um único comando ou instrução do sistema em tempo real.
  • Otimização baseada em dados: uma abordagem avançada que melhora os comandos avaliando as respostas de um modelo a comandos de amostra com métricas de avaliação específicas.

Para mais diretrizes de otimização de comandos, consulte Visão geral das estratégias de solicitação.

Melhorar a performance dos endpoints de ML e IA generativa

Para melhorar a latência ou a capacidade (tokens por segundo) dos endpoints de ML e IA generativa, considere as seguintes recomendações:

Usar soluções e ajustes com pouco código

Se os modelos pré-treinados não atenderem aos seus requisitos, você poderá melhorar a performance deles em domínios específicos usando as seguintes soluções:

  • O AutoML é uma solução com poucos códigos para melhorar os resultados de inferência com o mínimo de esforço técnico em uma ampla variedade de tarefas. Com o AutoML, é possível criar modelos otimizados em várias dimensões: arquitetura, desempenho e estágio de treinamento (por checkpointing).
  • Ajustar ajuda você a alcançar maior qualidade, geração mais estável e menor latência com comandos mais curtos e sem muitos dados. Recomendamos que você comece a ajustar usando os valores padrão para hiperparâmetros. Para mais informações, consulte Ajuste refinado supervisionado para o Gemini: um guia de práticas recomendadas.

Otimizar o treinamento autogerenciado

Em alguns casos, você pode decidir treinar novamente um modelo ou gerenciar totalmente um trabalho de ajuste refinado. Essa abordagem exige habilidades avançadas e mais tempo, dependendo do modelo, da estrutura e dos recursos usados.

Aproveite as opções de framework otimizadas para performance, como as seguintes:

  • Use imagens ou contêineres de aprendizado profundo, que incluem as dependências de software mais recentes e bibliotecas específicas doGoogle Cloud.

  • Execute o treinamento de modelo com o Ray em Google Cloud:

    • Com o Ray na Vertex AI, é possível levar o framework de treinamento distribuído do Ray para o Compute Engine ou o GKE, simplificando a sobrecarga de gerenciamento do framework.
    • É possível autogerenciar o Ray no GKE com o KubeRay implantando o operador Ray em um cluster atual.
  • Implante cargas de trabalho de treinamento em um cluster de computação provisionado usando o Cluster Toolkit de código aberto. Para provisionar clusters otimizados para performance de maneira eficiente, use modelos baseados em YAML. Gerencie os clusters usando programadores como Slurm e GKE.

  • Treine arquiteturas de modelos padrão usando receitas otimizadas para GPU.

Crie arquiteturas e estratégias de treinamento que otimizem a performance usando as seguintes técnicas:

  • Implemente o treinamento distribuído na Vertex AI ou nos frameworks descritos anteriormente. O treinamento distribuído permite o paralelismo de modelos e de dados, o que pode ajudar a aumentar o tamanho do conjunto de dados de treinamento e do modelo, além de reduzir o tempo de treinamento.
  • Para um treinamento eficiente do modelo e para explorar diferentes configurações de desempenho, execute o checkpointing em intervalos adequados. Para mais informações, consulte Otimizar o goodput de tempo de execução.

Otimizar a veiculação autogerenciada

Para o serviço autogerenciado, você precisa de operações de inferência eficientes e uma alta capacidade (número de inferências por unidade de tempo).

Para otimizar seu modelo para inferência, considere as seguintes abordagens:

  • Quantização: reduza o tamanho do modelo representando os parâmetros dele em um formato de menor precisão. Essa abordagem ajuda a reduzir o consumo de memória e a latência. No entanto, a quantização após o treinamento pode mudar a qualidade do modelo. Por exemplo, a quantização após o treinamento pode causar uma redução na acurácia.

    • A quantização pós-treinamento (PTQ) é uma tarefa repetível. Os principais frameworks de ML, como PyTorch e TensorFlow, oferecem suporte à PTQ.
    • É possível orquestrar a PTQ usando um pipeline no Vertex AI Pipelines.
    • Para estabilizar o desempenho do modelo e aproveitar as reduções no tamanho dele, use o Qwix.
  • Paralelismo de tensor: melhore a taxa de transferência de inferência distribuindo a carga computacional entre várias GPUs.

  • Otimização de memória: aumente a capacidade de processamento e otimize o armazenamento em cache de atenção, os tamanhos de lote e os tamanhos de entrada.

Use frameworks otimizados para inferência, como:

Otimizar o consumo de recursos com base nas metas de performance

A otimização de recursos ajuda a acelerar o treinamento, iterar com eficiência, melhorar a qualidade do modelo e aumentar a capacidade de veiculação.

Escolher tipos de processador adequados

A escolha da plataforma de computação pode ter um impacto significativo na eficiência do treinamento de um modelo.

  • Os modelos de aprendizado profundo têm bom desempenho em GPUs e TPUs porque exigem grandes quantidades de memória e computação de matriz paralela. Para mais informações sobre cargas de trabalho adequadas para CPUs, GPUs e TPUs, consulte Quando usar TPUs.
  • As VMs otimizadas para computação são ideais para cargas de trabalho de HPC.

Otimizar treinamento e disponibilização em GPUs

Para otimizar a performance das cargas de trabalho de treinamento e inferência implantadas em GPUs, considere as seguintes recomendações:

Recomendação Descrição
Selecione as especificações de memória adequadas. Ao escolher Tipos de máquinas com GPU, selecione as especificações de memória com base nos seguintes fatores:
  • Capacidade do modelo: o tamanho total da memória (pegada de memória) dos parâmetros e gradientes treináveis do modelo.
  • Tipo de carga de trabalho: o treinamento exige mais memória do que a veiculação.
  • Tamanho do lote de treinamento: para lotes maiores, mais ativações são armazenadas, e o requisito de memória é maior.
  • Tipo de dados: cargas de trabalho que processam imagens de alta qualidade ou usam aritmética de alta precisão precisam de tipos de máquinas com especificações de memória maiores.
Avalie os requisitos de largura de banda de núcleo e memória. Além do tamanho da memória, considere outros requisitos, como o número de núcleos de tensor e a largura de banda da memória. Esses fatores influenciam a velocidade do acesso a dados e dos cálculos no chip.
Escolha tipos de máquinas com GPU adequados.

O treinamento e a veiculação podem precisar de tipos de máquinas com GPU diferentes.

  • Os jobs de treinamento precisam de uma ou mais GPUs, ou até mesmo vários nós, com memória e largura de banda significativamente grandes.
  • As cargas de trabalho de inferência exigem relativamente menos memória e menos GPUs de alta performance.

Recomendamos usar tipos de máquinas grandes para treinamento e tipos menores e econômicos para inferência. Para detectar problemas de utilização de recursos, use ferramentas de monitoramento como o agente NVIDIA DCGM e ajuste os recursos adequadamente.

Aproveite o compartilhamento de GPU no GKE.

Dedicar uma GPU completa a um único contêiner pode ser uma abordagem ineficiente em alguns casos. Para ajudar você a superar essa ineficiência, o GKE oferece suporte às seguintes estratégias de compartilhamento de GPU:

Para maximizar a utilização de recursos, recomendamos usar uma combinação adequada dessas estratégias. Por exemplo, ao virtualizar uma GPU H100 grande usando o compartilhamento de tempo de GPU e estratégias de GPU de várias instâncias, a plataforma de serviço pode escalonar verticalmente e diminuir a escala com base no tráfego. Os recursos de GPU são reutilizados em tempo real com base na carga dos contêineres de modelo.

Otimize o roteamento e o balanceamento de carga. Ao implantar vários modelos em um cluster, é possível usar o GKE Inference Gateway para roteamento e balanceamento de carga otimizados. O Inference Gateway estende os mecanismos de roteamento da API Kubernetes Gateway usando os seguintes recursos:
Compartilhe recursos para endpoints da Vertex AI. É possível configurar vários endpoints da Vertex AI para usar um pool comum de recursos. Para mais informações sobre esse recurso e as limitações dele, consulte Compartilhar recursos em implantações.

Otimizar o treinamento e a veiculação em TPUs

As TPUs são chips do Google que ajudam a resolver desafios de grande escala para algoritmos de ML. Esses chips oferecem desempenho ideal para cargas de trabalho de treinamento e inferência de IA. Quando comparadas às GPUs, as TPUs oferecem maior eficiência para treinamento e veiculação de aprendizado profundo. Para informações sobre os casos de uso adequados para TPUs, consulte Quando usar TPUs. As TPUs são compatíveis com frameworks de ML, como TensorFlow, PyTorch e JAX.

Para otimizar o desempenho da TPU, use as seguintes técnicas, descritas no guia de desempenho da Cloud TPU:

  • Maximize o tamanho do lote para cada unidade de memória da TPU.
  • Verifique se as TPUs não estão inativas. Por exemplo, implemente leituras paralelas de dados.
  • Otimize o compilador XLA. Ajuste as dimensões do tensor conforme necessário e evite o padding. O XLA otimiza automaticamente o desempenho da execução de gráficos usando ferramentas como fusão e transmissão.

Otimizar o treinamento em TPUs e a disponibilização em GPUs

As TPUs oferecem suporte a treinamento eficiente. As GPUs oferecem versatilidade e maior disponibilidade para cargas de trabalho de inferência. Para combinar os pontos fortes das TPUs e GPUs, é possível treinar modelos em TPUs e disponibilizá-los em GPUs. Essa abordagem pode ajudar a reduzir os custos gerais e acelerar o desenvolvimento, principalmente para modelos grandes. Para informações sobre os locais em que os tipos de máquinas de TPU e GPU estão disponíveis, consulte Regiões e zonas de TPU e Locais de GPU.

Otimizar a camada de armazenamento

A camada de armazenamento da infraestrutura de treinamento e disponibilização é fundamental para o desempenho. Os jobs de treinamento e as cargas de trabalho de inferência envolvem as seguintes atividades relacionadas ao armazenamento:

  • Carregando e processando dados.
  • Criação de pontos de verificação do modelo durante o treinamento.
  • Recarregar binários para retomar o treinamento após remoções de nós.
  • Carregar o modelo de maneira eficiente para processar inferências em grande escala.

Os seguintes fatores determinam seus requisitos de capacidade de armazenamento, largura de banda e latência:

  • Tamanho do modelo
  • Volume do conjunto de dados de treinamento
  • Frequência de checkpoint
  • Padrões de escalonamento

Se os dados de treinamento estiverem no Cloud Storage, é possível reduzir a latência de carregamento de dados usando o armazenamento em cache de arquivos no Cloud Storage FUSE. O Cloud Storage FUSE permite ativar um bucket do Cloud Storage em nós de computação com discos SSD locais. Para informações sobre como melhorar o desempenho do Cloud Storage FUSE, consulte Práticas recomendadas de ajuste de desempenho.

Um conector do PyTorch para o Cloud Storage oferece alto desempenho para leitura e gravação de dados. Esse conector é especialmente útil para treinamento com grandes conjuntos de dados e para criação de pontos de verificação de modelos grandes.

O Compute Engine é compatível com vários tipos de disco permanente. Com o Google Cloud Hyperdisk ML, é possível provisionar a capacidade e os IOPS necessários com base nas necessidades de treinamento. Para otimizar o desempenho do disco, comece redimensionando os discos e considere mudar o tipo de máquina. Para mais informações, consulte Otimizar o desempenho do disco permanente. Para testar a carga do desempenho e da latência de leitura e gravação na camada de armazenamento, use ferramentas como o Testador de E/S flexível (FIO).

Para mais informações sobre como escolher e otimizar serviços de armazenamento para suas cargas de trabalho de IA e ML, consulte a seguinte documentação:

Otimizar a camada de rede

Para otimizar o desempenho das cargas de trabalho de IA e ML, configure as redes VPC para oferecer largura de banda adequada e capacidade máxima com latência mínima. Considere as seguintes recomendações:

Recomendação Técnicas sugeridas para implementação
Otimize as redes VPC.
Coloque as VMs mais perto umas das outras.
Configure as VMs para oferecer suporte a velocidades de rede mais altas.

Para inovar, solucionar problemas e investigar questões de desempenho, é necessário estabelecer uma relação clara entre as escolhas de design e os resultados de desempenho. Você precisa de um registro confiável da linhagem de recursos de ML, implantações, saídas de modelos e das configurações e entradas correspondentes que produziram as saídas.

Criar um sistema de linhagem de dados e modelos

Para melhorar o desempenho de forma confiável, é necessário rastrear cada versão do modelo até os dados, o código e as configurações exatas que foram usados para produzir o modelo. À medida que você dimensiona um modelo, esse rastreamento se torna difícil. Você precisa de um sistema de linhagem que automatize o processo de rastreamento e crie um registro claro e que possa ser consultado para cada experimento. Com esse sistema, suas equipes podem identificar e reproduzir com eficiência as escolhas que levam aos modelos de melhor desempenho.

Para conferir e analisar a linhagem de artefatos de pipeline para cargas de trabalho na Vertex AI, use o Vertex ML Metadata ou o Catálogo universal do Dataplex. Com as duas opções, é possível registrar eventos ou artefatos para atender aos requisitos de governança e consultar os metadados e recuperar informações quando necessário. Esta seção oferece uma visão geral das duas opções. Para informações detalhadas sobre as diferenças entre o Vertex ML Metadata e o Dataplex Universal Catalog, consulte Rastrear a linhagem de artefatos de pipeline.

Implementação padrão: Vertex AI ML Metadata

A primeira execução de pipeline ou experimento na Vertex AI cria um serviço padrão do Vertex ML Metadata. Os parâmetros e metadados de artefato que o pipeline consome e gera são registrados automaticamente em um repositório do Vertex ML Metadata. O modelo de dados usado para organizar e conectar os metadados armazenados contém os seguintes elementos:

  • Contexto: um grupo de artefatos e execuções que representa uma execução de experimento.
  • Execução: uma etapa em um fluxo de trabalho, como validação de dados ou treinamento de modelo.
  • Artefato: uma entidade, um objeto ou um dado de entrada ou saída que um fluxo de trabalho produz e consome.
  • Evento: uma relação entre um artefato e uma execução.

Por padrão, o Vertex ML Metadata captura e rastreia todos os artefatos de entrada e saída de uma execução de pipeline. Ele integra esses artefatos com os Experimentos da Vertex AI, o Model Registry e os conjuntos de dados gerenciados da Vertex AI.

O registro automático é um recurso integrado do Vertex AI Training para registrar dados automaticamente nos experimentos da Vertex AI. Para rastrear experimentos de forma eficiente e otimizar o desempenho, use as integrações integradas entre o Vertex AI Experiments e o serviço associado Vertex ML Metadata.

O Vertex ML Metadata oferece uma sintaxe de filtragem e operadores para executar consultas sobre artefatos, execuções e contextos. Quando necessário, suas equipes podem recuperar com eficiência informações sobre o link de registro de um modelo e o conjunto de dados ou a avaliação dele para uma execução de experimento específica. Esses metadados podem ajudar a acelerar a descoberta de opções que otimizam a performance. Por exemplo, você pode comparar execuções de pipeline, comparar modelos e comparar execuções de experimentos. Para mais informações, incluindo exemplos de consultas, consulte Analisar metadados de Vertex ML.

Implementação alternativa: Dataplex Universal Catalog

O Dataplex Universal Catalog descobre metadados de recursos doGoogle Cloud , incluindo artefatos da Vertex AI. Também é possível integrar uma fonte de dados personalizada.

O Dataplex Universal Catalog pode ler metadados em várias regiões e lojas de toda a organização, enquanto o Vertex ML Metadata é um recurso específico do projeto. Em comparação com o Vertex ML Metadata, o Dataplex Universal Catalog exige mais esforço de configuração. No entanto, o Dataplex Universal Catalog pode ser adequado quando você precisa de integração com seu portfólio de dados mais amplo no Google Cloud e com lojas em toda a organização.

O Dataplex Universal Catalog descobre e coleta metadados de projetos em que a API Data Lineage está ativada. Os metadados no catálogo são organizados usando um modelo de dados que consiste em projetos, grupos de entradas, entradas e aspectos. O Dataplex Universal Catalog oferece uma sintaxe específica que pode ser usada para descobrir artefatos. Se necessário, você pode mapear artefatos do Vertex ML Metadata para o Dataplex Universal Catalog.

Usar ferramentas de explicabilidade

O comportamento de um modelo de IA se baseia nos dados usados para treinar o modelo. Esse comportamento é codificado como parâmetros em funções matemáticas. Entender exatamente por que um modelo funciona de uma determinada maneira pode ser difícil. No entanto, esse conhecimento é essencial para a otimização da performance.

Por exemplo, considere um modelo de classificação de imagens em que os dados de treinamento contêm imagens apenas de carros vermelhos. O modelo pode aprender a identificar o rótulo "carro" com base na cor do objeto em vez dos atributos espaciais e de forma dele. Quando o modelo é testado com imagens que mostram carros de cores diferentes, o desempenho dele pode diminuir. As seções a seguir descrevem ferramentas que podem ser usadas para identificar e diagnosticar esses problemas.

Detectar vieses nos dados

Na fase de análise exploratória de dados (EDA) de um projeto de ML, você identifica problemas com os dados, como conjuntos de dados com classes desequilibradas e vieses.

Em sistemas de produção, é comum treinar modelos novamente e executar experimentos com diferentes conjuntos de dados. Para padronizar os dados e comparar os experimentos, recomendamos uma abordagem sistemática da EDA que inclua as seguintes características:

  • Automação: à medida que um conjunto de treinamento aumenta, o processo de EDA precisa ser executado automaticamente em segundo plano.
  • Cobertura ampla: ao adicionar novos recursos, a EDA precisa revelar insights sobre eles.

Muitas tarefas de EDA são específicas para o tipo de dados e o contexto comercial. Para automatizar o processo de EDA, use o BigQuery ou um serviço gerenciado de processamento de dados, como o Dataflow. Para mais informações, consulte Classificação em dados desequilibrados e Métricas de viés de dados para a Vertex AI.

Entender as características e o comportamento do modelo

Além de entender a distribuição dos dados nos conjuntos de treinamento e validação e os vieses deles, é necessário compreender as características e o comportamento de um modelo no momento da previsão. Para entender o comportamento do modelo, use as seguintes ferramentas:

Ferramenta Descrição Finalidades
Explicações baseadas em exemplos Você pode usar explicações baseadas em exemplos na Vertex Explainable AI para entender uma previsão encontrando os exemplos mais semelhantes nos dados de treinamento. Essa abordagem se baseia no princípio de que entradas semelhantes geram saídas semelhantes.
  • Identifique e corrija lacunas nos dados de treinamento encontrando exemplos semelhantes para uma previsão incorreta.
  • Classifique entradas que o modelo não foi originalmente treinado para reconhecer usando vizinhos de um conjunto de referência.
  • Identificar anomalias encontrando entradas significativamente diferentes de todos os exemplos de treinamento conhecidos.
  • Otimize a coleta de dados identificando casos ambíguos, como quando vizinhos têm rótulos misturados. Priorize esses casos para revisão humana.
Explicações baseadas em atributos

Para previsões baseadas em dados tabulares ou imagens, as explicações baseadas em atributos mostram o quanto cada atributo afeta uma previsão quando comparado a um valor de referência.

A Vertex AI oferece diferentes métodos de atribuição de atributos, dependendo do tipo de modelo e da tarefa. Os métodos geralmente dependem da amostragem e da análise de sensibilidade para medir o quanto a saída muda em resposta a mudanças em um atributo de entrada.

  • Identificar vieses que uma etapa de validação pode não detectar.
  • Otimize a performance identificando os recursos mais importantes para uma previsão. Para aumentar a qualidade e o desempenho de um modelo, os engenheiros de ML podem adicionar, remover ou criar recursos intencionalmente.
Ferramenta What-If A Ferramenta What-If foi desenvolvida pela iniciativa People + AI Research (PAIR) (em inglês) do Google para ajudar você a entender e visualizar o comportamento de modelos de imagens e tabelas. Para exemplos de uso da ferramenta, consulte Demonstrações da ferramenta What-If na Web.
  • Depure e encontre a causa raiz das previsões incorretas.
  • Investigue a performance de um modelo em diferentes subconjuntos de dados identificando vieses com uma análise de imparcialidade.
  • Entender o comportamento de um modelo, principalmente a relação entre as previsões e os atributos de entrada.
  • Compare as previsões usando uma ferramenta de comparação visual que exige dois modelos ou uma referência de informações empíricas.

Colaboradores

Autores:

Outros colaboradores: