Este documento no Framework de arquitetura doGoogle Cloud : perspectiva de IA e ML oferece uma visão geral dos princípios e recomendações para criar e operar sistemas robustos de IA e ML no Google Cloud. Essas recomendações ajudam a configurar elementos básicos, como observabilidade, automação e escalonabilidade. As recomendações neste documento estão alinhadas com o pilar de excelência operacional do Well-Architected Framework.
A excelência operacional no domínio de IA e ML é a capacidade de implantar, gerenciar e controlar de forma integrada os sistemas e pipelines de IA e ML que ajudam a impulsionar os objetivos estratégicos da sua organização. A excelência operacional permite que você responda com eficiência às mudanças, reduza a complexidade operacional e garanta que suas operações permaneçam alinhadas às metas de negócios.
As recomendações neste documento são mapeadas para os seguintes princípios básicos:
- Criar uma base sólida para o desenvolvimento de modelos
- Automatizar o ciclo de vida de desenvolvimento de modelos
- Implementar a observabilidade
- Criar uma cultura de excelência operacional
- Projetar com foco em escalonabilidade
Criar uma base sólida para o desenvolvimento de modelos
Para desenvolver e implantar sistemas de IA escalonáveis e confiáveis que ajudem você a alcançar suas metas de negócios, é essencial ter uma base sólida de desenvolvimento de modelos. Essa base permite fluxos de trabalho consistentes, automatiza etapas críticas para reduzir erros e garante que os modelos possam ser escalonados de acordo com a demanda. Uma base sólida de desenvolvimento de modelos garante que seus sistemas de ML possam ser atualizados, aprimorados e treinados novamente sem problemas. A base também ajuda a alinhar o desempenho dos modelos às necessidades de negócios, implantar soluções de IA impactantes rapidamente e se adaptar às mudanças nos requisitos.
Para criar uma base sólida para desenvolver seus modelos de IA, considere as seguintes recomendações.
Definir os problemas e os resultados necessários
Antes de iniciar qualquer projeto de IA ou ML, é preciso entender claramente os problemas de negócios a serem resolvidos e os resultados necessários. Comece com um esboço dos objetivos de negócio e divida-os em indicadores principais de desempenho (KPIs) mensuráveis. Para organizar e documentar suas definições de problemas e hipóteses em um ambiente de notebook do Jupyter, use ferramentas como o Gemini Enterprise Agent Platform Workbench. Para implementar o controle de versões de códigos e documentos e documentar seus projetos, metas e suposições, use ferramentas como o Git. Para desenvolver e gerenciar comandos para aplicativos de IA generativa, use o Agent Studio na Gemini Enterprise Agent Platform.
Coletar e pré-processar os dados necessários
Para implementar o pré-processamento e a transformação de dados, use o Dataflow (para Apache Beam), o Serviço Gerenciado para Apache Spark (para Apache Spark) ou o BigQuery, se um processo baseado em SQL for apropriado. Para validar esquemas e detectar anomalias, use a TensorFlow Data Validation (TFDV) e aproveite as verificações automatizadas de qualidade de dados no BigQuery, quando aplicável.
Para a IA generativa, a qualidade de dados inclui precisão, relevância, diversidade e alinhamento com as características de saída necessárias. Nos casos em que os dados do mundo real são insuficientes ou desequilibrados, é possível gerar dados sintéticos para ajudar a melhorar a robustez e a generalização do modelo. Para criar conjuntos de dados sintéticos com base em padrões existentes ou para aumentar os dados de treinamento para melhorar o desempenho do modelo, use o BigQuery DataFrames. Os dados sintéticos são particularmente valiosos para a IA generativa porque podem ajudar a melhorar a diversidade de comandos e a robustez geral do modelo. Ao criar conjuntos de dados para ajustar modelos de IA generativa, use os recursos de geração de dados sintéticos na Gemini Enterprise Agent Platform.
Para tarefas de IA generativa, como ajuste fino ou aprendizado por reforço com feedback humano (RLHF), garanta que os rótulos reflitam com precisão a qualidade, a relevância e a segurança das saídas geradas.
Selecionar uma abordagem de ML adequada
Ao projetar o modelo e os parâmetros, considere a complexidade e as necessidades computacionais do modelo. Dependendo da tarefa (como classificação, regressão ou geração), use o treinamento personalizado da Agent Platform para criar modelos personalizados ou o AutoML para tarefas de ML mais simples. Para aplicativos comuns, também é possível acessar modelos pré-treinados pelo Model Garden. É possível testar uma variedade de modelos de fundação de última geração para vários casos de uso, como gerar texto, imagens e código.
Talvez você queira ajustar um modelo de fundação pré-treinado para alcançar o desempenho ideal para seu caso de uso específico. Para requisitos de alto desempenho em treinamento personalizado, configure Cloud TPU ou recursos de GPU para acelerar o treinamento e a inferência de modelos de aprendizado profundo, como modelos de linguagem grandes (LLMs) e modelos de difusão.
Configurar o controle de versões para código, modelos e dados
Para gerenciar e implantar versões de código de maneira eficaz, use ferramentas como o GitHub ou o GitLab. Essas ferramentas oferecem recursos de colaboração robustos, estratégias de ramificação e integração com pipelines de CI/CD para garantir um processo de desenvolvimento simplificado.
Use soluções adequadas para gerenciar cada artefato do seu sistema de ML, como os exemplos a seguir:
- Para artefatos de código, como imagens de contêiner e componentes de pipeline, o Artifact Registry oferece uma solução de armazenamento escalonável que pode ajudar a melhorar a segurança. O Artifact Registry também inclui controle de versões e pode ser integrado ao Cloud Build e ao Cloud Deploy.
- Para gerenciar artefatos de dados, como conjuntos de dados usados para treinamento e avaliação, use soluções como o BigQuery ou o Cloud Storage para armazenamento e controle de versões.
- Para armazenar metadados e ponteiros para locais de dados, use o sistema de controle de versões ou um Data Catalog separado.
Para manter a consistência e o controle de versões dos dados de atributos, use o Feature Store da Agent Platform. Para rastrear e gerenciar artefatos de modelo, incluindo binários e metadados, use o Model Registry na Gemini Enterprise Agent Platform, que permite armazenar, organizar e implantar versões de modelo de forma integrada.
Para garantir a confiabilidade do modelo, implemente o Model Monitoring na Gemini Enterprise Agent Platform. Detecte desvios de dados, acompanhe o desempenho e identifique anomalias na produção. Para sistemas de IA generativa, monitore mudanças na qualidade da saída e na conformidade com a segurança.
Automatizar o ciclo de vida de desenvolvimento de modelos
Automation ajuda a simplificar todas as etapas do ciclo de vida de IA e ML. Automation reduz o esforço manual e padroniza os processos, o que leva a uma maior eficiência operacional e a um menor risco de erros. Os fluxos de trabalho automatizados permitem uma iteração mais rápida, implantação consistente em todos os ambientes e resultados mais confiáveis, para que seus sistemas possam ser escalonados e adaptados sem problemas.
Para automatizar o ciclo de vida de desenvolvimento dos seus sistemas de IA e ML, considere as recomendações a seguir.
Usar um sistema gerenciado de orquestração de pipelines
Use os pipelines da Gemini Enterprise Agent Platform para automatizar todas as etapas do ciclo de vida de ML, desde a preparação de dados até o treinamento, a avaliação e a implantação de modelos. Para acelerar a implantação e promover a consistência entre os projetos, automatize tarefas recorrentes com execuções de pipeline programadas, monitore fluxos de trabalho com métricas de execução e desenvolva modelos de pipeline reutilizáveis para fluxos de trabalho padronizados. Esses recursos se estendem aos modelos de IA generativa, que geralmente exigem etapas especializadas, como engenharia de comandos, filtragem de respostas e avaliação human-in-the-loop. Para IA generativa, os pipelines da Agent Platform podem automatizar essas etapas, incluindo a avaliação das saídas geradas em relação a métricas de qualidade e diretrizes de segurança. Para melhorar a diversidade de comandos e a robustez do modelo, os fluxos de trabalho automatizados também podem incluir técnicas de aumento de dados.
Implementar pipelines de CI/CD
Para automatizar a criação, o teste e a implantação de modelos de ML, use o Cloud Build. Esse serviço é particularmente eficaz quando você executa pacotes de testes para o código do aplicativo, o que garante que a infraestrutura, as dependências e o empacotamento do modelo atendam aos requisitos de implantação.
Os sistemas de ML geralmente precisam de etapas adicionais além do teste de código. Por exemplo, é necessário testar os modelos sob cargas variadas, realizar avaliações em massa para avaliar o desempenho do modelo em diversos conjuntos de dados e validar a integridade de dados antes do retreinamento. Para simular cargas de trabalho realistas para testes de estresse, use ferramentas como Locust, Grafana k6 ou Apache JMeter. Para identificar gargalos, monitore métricas importantes, como latência, taxa de erros e utilização de recursos, usando o Cloud Monitoring. Para a IA generativa, os testes também precisam incluir avaliações específicas para o tipo de conteúdo gerado, como qualidade do texto, fidelidade da imagem ou funcionalidade do código. Essas avaliações podem envolver métricas automatizadas, como perplexidade para modelos de linguagem, ou avaliação human-in-the-loop para aspectos mais sutis, como criatividade e segurança.
Para implementar tarefas de teste e avaliação, é possível integrar o Cloud Build a outros serviços do Google Cloud . Por exemplo, é possível usar os pipelines da Plataforma de Agentes para avaliação automatizada de modelos, o BigQuery para análise de dados em grande escala e a validação de pipelines do Dataflow para validação de atributos.
Você pode melhorar ainda mais seu pipeline de CI/CD usando a plataforma de agentes para treinamento contínuo, que permite o retreinamento automatizado de modelos com novos dados. Especificamente para IA generativa, para manter as saídas geradas relevantes e diversas, o retreinamento pode envolver a atualização automática dos modelos com novos dados de treinamento ou comandos. Use o Model Garden da Agent Platform para selecionar os modelos de base mais recentes disponíveis para ajuste. Essa prática garante que os modelos permaneçam atualizados e otimizados para as necessidades em constante evolução da sua empresa.
Implementar lançamentos de modelos seguros e controlados
Para minimizar os riscos e garantir implantações confiáveis, implemente uma abordagem de lançamento de modelo que permita detectar problemas com antecedência, validar o desempenho e reverter rapidamente quando necessário.
Para empacotar seus modelos e aplicativos de ML em imagens de contêiner e implantá-los, use o Cloud Deploy. É possível implantar seus modelos em endpoints da Agent Platform.
Implemente versões controladas para seus aplicativos e sistemas de IA usando estratégias como versões canário. Para aplicativos que usam modelos gerenciados, como o Gemini, recomendamos que você lance gradualmente novas versões do aplicativo para um subconjunto de usuários antes da implantação completa. Essa abordagem permite detectar possíveis problemas com antecedência, especialmente ao usar modelos de IA generativa em que as saídas podem variar.
Para lançar modelos ajustados, use o Cloud Deploy para gerenciar a implantação das versões do modelo e use a estratégia de versão canário para minimizar os riscos. Com modelos gerenciados e ajustados, o objetivo das versões controladas é testar as mudanças com um público limitado antes de lançar os aplicativos e modelos para todos os usuários.
Para uma validação robusta, use Experimentos na Gemini Enterprise Agent Platform para comparar modelos novos com os atuais e use a avaliação de modelos da Agent Platform para avaliar o desempenho do modelo. Especificamente para IA generativa, defina métricas de avaliação que se alinhem ao caso de uso pretendido e aos riscos em potencial. É possível usar o serviço de avaliação de IA generativa na Agent Platform para avaliar métricas como toxicidade, coerência, acurácia factual e adesão às diretrizes de segurança.
Para garantir a confiabilidade da implantação, você precisa de um plano de reversão robusto. Para sistemas de ML tradicionais, use o Monitoramento de modelos na plataforma de agentes para detectar desvios de dados e degradação de desempenho. Para modelos de IA generativa, é possível acompanhar métricas relevantes e configurar alertas para mudanças na qualidade da saída ou o surgimento de conteúdo nocivo usando a avaliação de modelos da Plataforma de Agentes, além do Cloud Logging e do Monitoring. Configure alertas com base em métricas específicas de IA generativa para acionar procedimentos de reversão quando necessário. Para rastrear a linhagem do modelo e reverter para a versão estável mais recente, use insights do Model Registry.
Implementar a observabilidade
O comportamento dos sistemas de IA e ML pode mudar ao longo do tempo devido a alterações nos dados ou no ambiente e a atualizações nos modelos. Essa natureza dinâmica torna a observabilidade crucial para detectar problemas de desempenho, vieses ou comportamentos inesperados. Isso é especialmente verdadeiro para modelos de IA generativa, porque as saídas podem ser altamente variáveis e subjetivas. A observabilidade permite que você lide de forma proativa com comportamentos inesperados e garanta que seus sistemas de IA e ML permaneçam confiáveis, precisos e justos.
Para implementar a observabilidade nos sistemas de IA e ML, considere as seguintes recomendações.
Monitorar o desempenho continuamente
Use métricas e critérios de sucesso para avaliar continuamente os modelos após a implantação.
Use o Monitoramento de Modelos na Agent Platform para acompanhar proativamente o desempenho do modelo, identificar distorções de treinamento e disponibilização e desvios de previsão, além de receber alertas para acionar o retreinamento necessário do modelo ou outras intervenções. Para monitorar de forma eficaz o desvio de treinamento e disponibilização, crie um conjunto de dados de referência que represente a distribuição de dados ideal e use o TFDV para analisar os dados de treinamento e estabelecer um esquema de referência.
Configure o Monitoramento de Modelos na Plataforma de Agentes para comparar a distribuição dos dados de entrada com o conjunto de dados de referência para detecção automática de desvios. Para modelos de ML tradicionais, concentre-se em métricas como acurácia, precisão, recall, pontuação F1, AUC-ROC e Log Perda. Defina limites personalizados para alertas no Model Monitoring na Agent Platform. Para IA generativa, use o serviço de avaliação de IA generativa para monitorar continuamente a saída do modelo em produção. Também é possível ativar métricas de avaliação automática para qualidade da resposta, segurança, adesão às instruções, embasamento, estilo de escrita e nível de detalhes. Para avaliar a qualidade, relevância, segurança e conformidade com as diretrizes das saídas geradas, você pode incorporar a avaliação human-in-the-loop.
Crie loops de feedback para treinar novamente os modelos de forma automática com os pipelines da Agent Platform quando o Monitoramento de Modelos na Agent Platform acionar um alerta. Use esses insights para melhorar seus modelos continuamente.
Avaliar modelos durante o desenvolvimento
Antes de implantar seus LLMs e outros modelos de IA generativa, avalie-os minuciosamente durante a fase de desenvolvimento. Use a avaliação de modelos da Agent Platform para alcançar o desempenho ideal e mitigar riscos. Use a avaliação rápida da plataforma de agentes para permitir que o Google Cloud execute avaliações automaticamente com base no conjunto de dados e nos comandos que você fornecer.
Também é possível definir e integrar métricas personalizadas específicas para seu caso de uso. Para receber feedback sobre o conteúdo gerado, integre fluxos de trabalho human-in-the-loop usando a Avaliação de Modelos da Agent Platform.
Use testes adversários para identificar vulnerabilidades e possíveis modos de falha. Para identificar e mitigar possíveis vieses, use técnicas como análise de subgrupos e geração contrafactual. Use os insights coletados das avaliações concluídas durante a fase de desenvolvimento para definir sua estratégia de monitoramento de modelos em produção. Prepare sua solução para o monitoramento contínuo, conforme descrito na seção Monitorar o desempenho continuamente deste documento.
Monitorar a disponibilidade
Para ter visibilidade da integridade e do desempenho dos endpoints e da infraestrutura implantados, use o Monitoring. Para os endpoints da plataforma de agentes, acompanhe as principais métricas, como taxa de solicitação, taxa de erro, latência e utilização de recursos, e configure alertas para anomalias. Para mais informações, consulte Métricas de monitoramento da plataforma de agentes.
Monitorar a integridade da infraestrutura, que pode incluir instâncias do Compute Engine, clusters do Google Kubernetes Engine (GKE), Cloud TPU e GPUs. Receba recomendações de otimização automatizadas do Active Assist. Se você usa o escalonamento automático, monitore o comportamento de escalonamento para garantir que ele responda adequadamente às mudanças nos padrões de tráfego.
Acompanhe o status das implantações de modelos, incluindo versões canário e reversões, integrando o Cloud Deploy ao Monitoring. Além disso, monitore possíveis ameaças e vulnerabilidades de segurança usando o Security Command Center.
Configurar alertas personalizados para limites específicos do negócio
Para identificar e corrigir anomalias e problemas em tempo hábil, configure alertas personalizados com base em limites específicos para seus objetivos de negócios. Veja alguns exemplos de produtos do Google Cloud que podem ser usados para implementar um sistema de alertas personalizado:
- Logging: colete, armazene e analise registros de todos os componentes do seu sistema de IA e ML.
- Monitoramento: crie painéis personalizados para visualizar as principais métricas e tendências e defina métricas personalizadas com base nas suas necessidades. Configure alertas para receber notificações sobre problemas críticos e integre os alertas às suas ferramentas de gestão de incidentes, como o PagerDuty ou o Slack.
- Error Reporting: capture e analise erros e exceções automaticamente.
- Cloud Trace: analise o desempenho de sistemas distribuídos e identifique gargalos. O rastreamento é particularmente útil para entender a latência entre diferentes componentes do pipeline de IA e ML.
- Cloud Profiler: analise continuamente o desempenho do seu código em produção e identifique gargalos de desempenho no uso da CPU ou da memória.
Criar uma cultura de excelência operacional
Mudar o foco de apenas criar modelos para criar soluções de IA sustentáveis, confiáveis e impactantes. Capacite as equipes para aprender, inovar e melhorar continuamente, o que leva a ciclos de desenvolvimento mais rápidos, redução de erros e maior eficiência. Ao priorizar a automação, a padronização e as considerações éticas, você garante que suas iniciativas de IA e ML gerem valor de forma consistente, reduzam riscos e promovam o desenvolvimento IA responsável.
Para criar uma cultura de excelência operacional para seus sistemas de IA e ML, considere as recomendações a seguir.
Defenda a automação e a padronização
Para enfatizar a eficiência e a consistência, incorpore automação e práticas padronizadas em todas as etapas do ciclo de vida de IA e ML. Automation reduz os erros manuais e libera as equipes para se concentrarem na inovação. A padronização garante que os processos sejam repetíveis e escalonáveis em equipes e projetos.
Priorize o aprendizado e a melhoria contínuos
Promova um ambiente em que a educação e a experimentação contínuas sejam princípios fundamentais. Incentive as equipes a se manterem atualizadas com os avanços de IA e ML e ofereça oportunidades de aprender com projetos anteriores. Uma cultura de curiosidade e adaptação impulsiona a inovação e garante que as equipes estejam preparadas para enfrentar novos desafios.
Cultivar a responsabilidade e a propriedade
Crie confiança e alinhamento com funções, responsabilidades e métricas de sucesso claramente definidas. Capacite as equipes para tomar decisões fundamentadas dentro desses limites e estabeleça maneiras transparentes de medir o progresso. Um senso de propriedade motiva as equipes e garante a responsabilidade coletiva pelos resultados.
Incorporar considerações éticas e de segurança da IA
Priorize as considerações éticas em todas as etapas do desenvolvimento. Incentive as equipes a pensar de forma crítica sobre o impacto das soluções de IA e promova discussões sobre imparcialidade, viés e impacto social. Princípios claros e mecanismos de responsabilidade garantem que seus sistemas de IA estejam alinhados com os valores organizacionais e promovam a confiança.
Projetar para escalonabilidade
Para acomodar volumes de dados e demandas de usuários crescentes e maximizar o valor dos investimentos em IA, seus sistemas de IA e ML precisam ser escalonáveis. Os sistemas precisam se adaptar e ter um desempenho ideal para evitar gargalos que prejudiquem a eficácia. Ao projetar para escalonabilidade, você garante que a infraestrutura de IA possa lidar com o crescimento e manter a capacidade de resposta. Use uma infraestrutura escalonável, planeje a capacidade e use estratégias como escalonamento horizontal e serviços gerenciados.
Para projetar seus sistemas de IA e ML para escalonabilidade, considere as seguintes recomendações.
Planejar a capacidade e as cotas
Avalie o crescimento futuro e planeje a capacidade da infraestrutura e as cotas de recursos de acordo com isso. Trabalhe com as partes interessadas da empresa para entender o crescimento projetado e definir os requisitos de infraestrutura de acordo.
Use o Monitoring para analisar o histórico de utilização de recursos, identificar tendências e projetar necessidades futuras. Realize testes de carga regulares para simular cargas de trabalho e identificar gargalos.
Conheça as cotas doGoogle Cloud para os serviços que você usa, como o Compute Engine, a Agent Platform e o Cloud Storage. Solicite proativamente aumentos de cota pelo console do Google Cloud e justifique os aumentos com dados de previsão e testes de carga. Monitore o uso de cotas e configure alertas para receber notificações quando o uso se aproximar dos limites de cota.
Para otimizar o uso de recursos com base na demanda, ajuste o tamanho dos recursos, use VMs spot para cargas de trabalho em lote tolerantes a falhas e implemente o escalonamento automático.
Preparação para eventos de pico
Garanta que seu sistema possa lidar com picos repentinos de tráfego ou carga de trabalho durante eventos de pico. Documente sua estratégia de eventos de pico e realize simulações regulares para testar a capacidade do sistema de lidar com o aumento da carga.
Para escalonar verticalmente recursos de forma agressiva quando a demanda aumenta, configure políticas de escalonamento automático no Compute Engine e no GKE. Para padrões de pico previsíveis, use o escalonamento automático preditivo. Para acionar o escalonamento automático com base em sinais específicos do aplicativo, use métricas personalizadas no Monitoring.
Distribua o tráfego entre várias instâncias de aplicativos usando o Cloud Load Balancing. Escolha um tipo de balanceador de carga adequado com base nas necessidades do aplicativo. Para usuários distribuídos geograficamente, use o balanceamento de carga global para rotear o tráfego para a instância disponível mais próxima. Para arquiteturas complexas baseadas em microsserviços, considere usar o Cloud Service Mesh.
Armazene em cache o conteúdo estático na borda da rede do Google usando o Cloud CDN.
Para armazenar em cache dados acessados com frequência, use um dos seguintes serviços de repositório de dados em memória totalmente gerenciados:
Desacople os componentes do sistema usando o Pub/Sub para mensagens em tempo real e o Cloud Tasks para execução de tarefas assíncronas.
Escalonar aplicativos para produção
Para garantir uma veiculação escalonável na produção, use serviços gerenciados, como o treinamento distribuído da Agent Platform e a inferência da Gemini Enterprise Agent Platform. A inferência da Agent Platform permite configurar os tipos de máquina para os nós de predição ao implantar um modelo em um endpoint ou solicitar predições em lote. Para algumas configurações, é possível adicionar GPUs. Escolha o tipo de máquina e os aceleradores adequados para otimizar a latência, a capacidade de processamento e o custo.
Para escalonar aplicativos complexos de IA e Python e cargas de trabalho personalizadas em recursos de computação distribuída, use o Ray na Gemini Enterprise Agent Platform. Esse recurso pode ajudar a otimizar o desempenho e permite uma integração perfeita com os serviços doGoogle Cloud . O Ray na Gemini Enterprise Agent Platform simplifica a computação distribuída ao lidar com o gerenciamento de clusters, a programação de tarefas e a transferência de dados. Ele se integra a outros serviços da Agent Platform, como treinamento, previsão e pipelines. O Ray oferece tolerância a falhas e escalonamento automático, além de ajudar a adaptar a infraestrutura às mudanças nas cargas de trabalho. Ele oferece um framework unificado para treinamento distribuído, ajuste de hiperparâmetros, aprendizado por reforço e disponibilização do modelo. Use o Ray para pré-processamento de dados distribuídos com o Dataflow ou o Serviço Gerenciado para Apache Spark, treinamento de modelo acelerado, ajuste de hiperparâmetros escalonável, aprendizado por reforço e predição em lote paralelizada.
Colaboradores
Autores:
- Charlotte Gistelinck, PhD | Engenheiro de parceiros
- Sannya Dang | Arquiteta de soluções de IA
- Filipe Gracio, PhD | Engenheiro de clientes, especialista em IA/ML
Outros colaboradores:
- Gary Harmson | Arquiteto principal
- Kumar Dhanagopal | Desenvolvedor de soluções para vários produtos
- Marwan Al Shawi | Engenheiro de clientes do parceiro
- Ryan Cox | Arquiteto principal
- Stef Ruinard | Arquiteto de soluções de campo de IA generativa