Este documento no Google Cloud Framework bem estruturado descreve princípios e recomendações para ajudar você a projetar, criar e gerenciar cargas de trabalho de IA e ML no Google Cloud que atendam às suas metas operacionais, de segurança, confiabilidade, custo e desempenho.
O público-alvo deste documento inclui tomadores de decisão, arquitetos, administradores, desenvolvedores e operadores que projetam, criam, implantam e mantêm cargas de trabalho de IA e ML no Google Cloud.
As páginas a seguir descrevem princípios e recomendações específicos para IA e ML, para cada pilar do framework de arquitetura bem estruturada:
- Perspectiva de IA e ML: excelência operacional
- Perspectiva de IA e ML: segurança
- Perspectiva de IA e ML: confiabilidade
- Perspectiva de IA e ML: otimização de custos
- Perspectiva de IA e ML: otimização de desempenho
Colaboradores
Autores:
- Benjamin Sadik | Engenheiro de clientes especialista em IA e ML
- Filipe Gracio, PhD | Engenheiro de clientes
- Isaac Lo | Gerente de desenvolvimento comercial de IA
- Kamilla Kurta | Especialista em GenAI/ML, engenheiro de clientes
- Mohamed Fawzi | Líder de compliance e segurança do Benelux
- Rick (Rugui) Chen | Arquiteto de soluções de infraestrutura de IA
- Sannya Dang | Arquiteto de soluções de IA
Outros colaboradores:
- Daniel Lees | Arquiteto de segurança do Cloud
- Gary Harmson | Engenheiro de clientes
- Jose Andrade | Engenheiro de clientes de infraestrutura corporativa
- 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
- Radhika Kanakam | Gerente de programa sênior, GTM do Cloud
- Ryan Cox | Arquiteto principal
- Stef Ruinard | Arquiteto de soluções de campo de IA generativa
- Wade Holmes | Diretor de soluções globais
- Zach Seils | Especialista em rede
Perspectiva de IA e ML: excelência operacional
Este documento no Framework bem estruturado: perspectiva de IA e ML oferece uma visão geral dos princípios e recomendações para ajudar você a criar e operar sistemas robustos de IA e ML no Google Cloud. Essas recomendações ajudam você a configurar elementos básicos, como observabilidade, automação e escalonabilidade. As recomendações deste documento estão alinhadas ao pilar de excelência operacional do Google Cloud Framework de arquitetura bem estruturada.
A excelência operacional no domínio de IA e ML é a capacidade de implantar, gerenciar e governar os sistemas e pipelines intrincados de IA e ML que fortalecem os objetivos estratégicos da sua organização. A excelência operacional permite responder de maneira eficiente às mudanças, reduzir a complexidade operacional e garantir que as operações permaneçam alinhadas às metas de negócios.
Crie uma base sólida para o desenvolvimento de modelos
Estabeleça uma base sólida para simplificar o desenvolvimento do modelo, da definição do problema à implantação. Essa base garante que suas soluções de IA sejam criadas com base em componentes e escolhas confiáveis e eficientes. Esse tipo de base ajuda você a lançar mudanças e melhorias com rapidez e facilidade.
Considere as seguintes recomendações:
- Defina o problema que o sistema de IA resolve e o resultado que você quer.
- Identifique e colete dados relevantes necessários para treinar e avaliar os modelos. Em seguida, limpe e pré-processe os dados brutos. Implemente verificações de validação de dados para garantir a qualidade e a integridade dos dados.
- Escolha a abordagem de ML adequada para a tarefa. Ao projetar a estrutura e os parâmetros do modelo, considere a complexidade e os requisitos computacionais dele.
- Adote um sistema de controle de versões para código, modelo e dados.
Automatizar o ciclo de vida do desenvolvimento de modelos
Desde o preparo e o treinamento de dados até a implantação e o monitoramento, a automação ajuda a melhorar a qualidade e a eficiência das operações. A automação permite o desenvolvimento e a implantação de modelos sem erros, de forma simples e repetível. A automação minimiza a intervenção manual, acelera os ciclos de lançamento e garante consistência em todos os ambientes.
Considere as seguintes recomendações:
- Use um sistema de orquestração de pipeline gerenciado para orquestrar e automatizar o fluxo de trabalho de ML. O pipeline precisa processar as principais etapas do ciclo de desenvolvimento: preparação, treinamento, implantação e avaliação.
- Implemente pipelines de CI/CD para o ciclo de vida de desenvolvimento do modelo. Esses pipelines precisam automatizar a criação, o teste e a implantação de modelos. Os pipelines também precisam incluir treinamento contínuo para refazer o treinamento de modelos em novos dados, conforme necessário.
- Implemente abordagens de lançamento em fases, como implantações canário ou testes A/B, para lançamentos de modelos seguros e controlados.
Implementar a observabilidade
Ao implementar a observabilidade, você pode ter insights detalhados sobre a performance do modelo, o deslocamento de dados e a integridade do sistema. Implemente mecanismos contínuos de monitoramento, alerta e registro para identificar problemas de forma proativa, acionar respostas oportunas e garantir a continuidade operacional.
Considere as seguintes recomendações:
- Implemente o monitoramento de desempenho permanente e automatizado dos seus modelos. Use métricas e critérios de sucesso para avaliar continuamente o modelo após a implantação.
- Monitore os endpoints e a infraestrutura de implantação para garantir a disponibilidade do serviço.
- Configure alertas personalizados com base em limites e anomalias específicos da empresa para garantir que os problemas sejam identificados e resolvidos em tempo hábil.
- Use técnicas de IA explicável para entender e interpretar as saídas do modelo.
Crie uma cultura de excelência operacional
A excelência operacional é construída com base em pessoas, cultura e práticas profissionais. O sucesso da sua equipe e da sua empresa depende de como a organização implementa metodologias que permitem o desenvolvimento rápido e confiável de recursos de IA.
Considere as seguintes recomendações:
- Defenda a automação e a padronização como metodologias de desenvolvimento principais. Simplifique seus fluxos de trabalho e gerencie o ciclo de vida do ML de forma eficiente usando técnicas de MLOps. Automatize tarefas para liberar tempo para a inovação e padronize processos para facilitar a consistência e a solução de problemas.
- Priorize o aprendizado e a melhoria contínua. Promova oportunidades de aprendizado que os membros da equipe possam usar para aprimorar as habilidades e se manter atualizados com os avanços da IA e do ML. Incentive a experimentação e faça retrospectivas regulares para identificar áreas de melhoria.
- Cultive uma cultura de responsabilidade e propriedade. Defina papéis claros para que todos entendam as contribuições. Dê autonomia às equipes para tomar decisões dentro dos limites e acompanhar o progresso usando métricas transparentes.
- Incorpore a ética e a segurança da IA à cultura. Priorize sistemas responsáveis integrando considerações éticas em todas as etapas do ciclo de vida da ML. Estabeleça princípios éticos claros e incentive discussões abertas sobre desafios relacionados à ética.
Criar apps com escalonabilidade
Projete suas soluções de IA para lidar com volumes de dados e demandas de usuários cada vez maiores. Use uma infraestrutura escalonável para que seus modelos possam se adaptar e ter um desempenho ideal conforme o projeto se expande.
Considere as seguintes recomendações:
- Planeje a capacidade e as cotas. Antecipe o crescimento futuro e planeje a capacidade da infraestrutura e as cotas de recursos.
- Prepare-se para eventos de pico. Verifique se o sistema pode lidar com picos repentinos no tráfego ou na carga de trabalho durante eventos de pico.
- Amplie os aplicativos de IA para produção. Projete para escalonamento horizontal para acomodar aumentos na carga de trabalho. Use frameworks como Ray na Vertex AI para paralelizar tarefas em várias máquinas.
- Use serviços gerenciados quando apropriado. Use serviços que ajudam você a dimensionar e minimizar a sobrecarga operacional e a complexidade das intervenções manuais.
Colaboradores
Autores:
- Sannya Dang | Arquiteto de soluções de IA
- Filipe Gracio, PhD | Engenheiro de clientes
Outros colaboradores:
- 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
Perspectiva de IA e ML: segurança
Este documento no Framework bem estruturado: perspectiva de IA e ML oferece uma visão geral dos princípios e recomendações para garantir que suas implantações de IA e ML atendam aos requisitos de segurança e compliance da sua organização. As recomendações neste documento estão alinhadas ao pilar de segurança do Google Cloud Framework de arquitetura bem estruturada.
A implantação segura de cargas de trabalho de IA e ML é um requisito essencial, principalmente em ambientes corporativos. Para atender a esse requisito, é necessário adotar uma abordagem de segurança holística que comece com a conceituação inicial das soluções de IA e ML e se estenda ao desenvolvimento, implantação e operações contínuas. Google Cloud oferece ferramentas e serviços robustos que foram projetados para ajudar a proteger suas cargas de trabalho de IA e ML.
Definir metas e requisitos claros
É mais fácil integrar os controles de segurança e compliance necessários no início do processo de design e desenvolvimento do que adicioná-los após o desenvolvimento. Desde o início do processo de design e desenvolvimento, tome decisões adequadas para o ambiente de risco específico e para as prioridades de negócios específicas.
Considere as seguintes recomendações:
- Identifique possíveis vetores de ataque e adote uma perspectiva de segurança e conformidade desde o início. Ao projetar e desenvolver seus sistemas de IA, mantenha o controle da superfície de ataque, dos possíveis riscos e das obrigações que você pode enfrentar.
- Alinhe seus esforços de segurança de IA e ML às suas metas de negócios e garanta que a segurança seja parte integrante da sua estratégia geral. Entenda os efeitos das suas escolhas de segurança nas principais metas de negócios.
Manter os dados seguros e evitar perdas ou manuseio indevido
Os dados são um recurso valioso e sensível que precisa ser mantido em segurança. A segurança de dados ajuda você a manter a confiança do usuário, apoiar seus objetivos de negócios e atender aos requisitos de compliance.
Considere as seguintes recomendações:
- Não colete, mantenha nem use dados que não sejam estritamente necessários para suas metas de negócios. Se possível, use dados sintéticos ou totalmente anônimos.
- Monitore a coleta, o armazenamento e a transformação de dados. Mantenha registros de todas as atividades de acesso e manipulação de dados. Os registros ajudam a auditar o acesso aos dados, detectar tentativas de acesso não autorizado e impedir o acesso indesejado.
- Implemente diferentes níveis de acesso (por exemplo, sem acesso, somente leitura ou gravação) com base nas funções do usuário. Garanta que as permissões sejam atribuídas com base no princípio do menor privilégio. Os usuários precisam ter apenas as permissões mínimas necessárias para realizar as atividades da função.
- Implemente medidas como criptografia, perímetros seguros e restrições ao movimento de dados. Essas medidas ajudam a evitar a exfiltração e a perda de dados.
- Proteja seus sistemas de treinamento de ML contra o envenenamento de dados.
Manter os pipelines de IA seguros e robustos contra adulteração
O código de IA e ML e os pipelines definidos por código são recursos essenciais. O código que não está protegido pode ser adulterado, o que pode levar a vazamentos de dados, falhas de compliance e interrupção de atividades comerciais importantes. Manter o código de IA e ML seguro ajuda a garantir a integridade e o valor dos seus modelos e das saídas deles.
Considere as seguintes recomendações:
- Use práticas de programação segura, como gerenciamento de dependências ou validação e sanitização de entradas, durante o desenvolvimento do modelo para evitar vulnerabilidades.
- Proteja seu código de pipeline e seus artefatos de modelo, como arquivos, pesos de modelo e especificações de implantação, contra acesso não autorizado. Implemente diferentes níveis de acesso para cada artefato com base nas funções e necessidades do usuário.
- Aplicar a linhagem e o rastreamento dos seus recursos e execuções do pipeline. Essa aplicação ajuda você a atender aos requisitos de compliance e a evitar comprometer os sistemas de produção.
Implantar em sistemas seguros com ferramentas e artefatos seguros
Verifique se o código e os modelos são executados em um ambiente seguro com um sistema de controle de acesso robusto e garantias de segurança para as ferramentas e os artefatos que são implantados no ambiente.
Considere as seguintes recomendações:
- Treine e implante seus modelos em um ambiente seguro com controles de acesso adequados e proteção contra uso ou manipulação não autorizados.
- Siga as diretrizes padrão dos Níveis da cadeia de suprimentos para artefatos de software (SLSA) para artefatos específicos de IA, como modelos e pacotes de software.
- Prefira usar imagens de contêiner pré-criadas validadas e projetadas especificamente para cargas de trabalho de IA.
Proteger e monitorar entradas
Os sistemas de IA precisam de entradas para fazer previsões, gerar conteúdo ou automatizar ações. Algumas entradas podem representar riscos ou ser usadas como vetores de ataque que precisam ser detectados e limpos. Detectar possíveis entradas maliciosas com antecedência ajuda a manter seus sistemas de IA seguros e funcionando como esperado.
Considere as seguintes recomendações:
- Implemente práticas seguras para desenvolver e gerenciar solicitações de sistemas de IA gerativa e garantir que as solicitações sejam analisadas quanto a intenções nocivas.
- Monitore as entradas para sistemas preditivos ou generativos para evitar problemas como endpoints sobrecarregados ou comandos que os sistemas não foram projetados para processar.
- Garanta que apenas os usuários pretendidos de um sistema implantado possam usá-lo.
Monitorar, avaliar e se preparar para responder às saídas
Os sistemas de IA agregam valor porque produzem resultados que aumentam, otimizam ou automatizam a tomada de decisões humanas. Para manter a integridade e a confiabilidade dos sistemas e aplicativos de IA, é necessário garantir que as saídas sejam seguras e dentro dos parâmetros esperados. Você também precisa de um plano para responder a incidentes.
Considere as seguintes recomendações:
- Monitore as saídas dos modelos de IA e ML em produção e identifique problemas de performance, segurança e compliance.
- Avalie o desempenho do modelo implementando métricas e medidas de segurança robustas, como identificar respostas generativas fora do escopo ou saídas extremas em modelos preditivos. Colete feedback dos usuários sobre o desempenho do modelo.
- Implemente procedimentos robustos de alerta e resposta a incidentes para resolver possíveis problemas.
Colaboradores
Autores:
- Kamilla Kurta | Especialista em GenAI/ML, engenheiro de clientes
- Filipe Gracio, PhD | Engenheiro de clientes
- Mohamed Fawzi | Líder de compliance e segurança do Benelux
Outros colaboradores:
- Daniel Lees | Arquiteto de segurança do Cloud
- Kumar Dhanagopal | Desenvolvedor de soluções para vários produtos
- Marwan Al Shawi | Engenheiro de clientes do parceiro
- Wade Holmes | Diretor de soluções globais
Perspectiva de IA e ML: confiabilidade
Este documento no Framework bem estruturado: perspectiva de IA e ML oferece uma visão geral dos princípios e recomendações para projetar e operar sistemas de IA e ML confiáveis no Google Cloud. Ele mostra como integrar práticas avançadas de confiabilidade e observabilidade aos seus modelos de arquitetura. As recomendações neste documento estão alinhadas ao pilar de confiabilidade do Google Cloud Framework bem estruturado.
No cenário de IA e ML em rápida evolução, sistemas confiáveis são essenciais para garantir a satisfação do cliente e alcançar as metas de negócios. Você precisa de sistemas de IA e ML robustos, confiáveis e adaptáveis para atender às demandas exclusivas de ML preditivo e IA generativa. Para lidar com as complexidades do MLOps, do desenvolvimento à implantação e à melhoria contínua, é necessário usar uma abordagem de confiabilidade.O Google Cloud oferece uma infraestrutura de IA projetada especificamente para isso, alinhada aos princípios da engenharia de confiabilidade do site (SRE) e oferece uma base poderosa para sistemas de IA e ML confiáveis.
Garantir que a infraestrutura seja escalonável e altamente disponível
Ao projetar para escalonabilidade e disponibilidade, você permite que seus aplicativos processem diferentes níveis de demanda sem interrupções de serviço ou degradação de desempenho. Isso significa que seus serviços de IA ainda estão disponíveis para os usuários durante falhas na infraestrutura e quando o tráfego está muito alto.
Considere as seguintes recomendações:
- Projete seus sistemas de IA com recursos de escalonamento automático e dinâmico para lidar com flutuações na demanda. Isso ajuda a garantir o desempenho ideal, mesmo durante picos de tráfego.
- Gerencie os recursos de forma proativa e antecipe as necessidades futuras com testes de carga e monitoramento de desempenho. Use dados históricos e análises preditivas para tomar decisões fundamentadas sobre a alocação de recursos.
- Projete para alta disponibilidade e tolerância a falhas adotando os arquétipos de implantação de várias zonas e regiões em Google Cloud e implementando redundância e replicação.
- Distribua o tráfego de entrada em várias instâncias dos seus serviços e endpoints de IA e ML. O balanceamento de carga ajuda a evitar que uma única instância seja sobrecarregada e garante desempenho e disponibilidade consistentes.
Usar uma arquitetura modular e com acoplamento flexível
Para tornar seus sistemas de IA resilientes a falhas em componentes individuais, use uma arquitetura modular. Por exemplo, projete os componentes de processamento e validação de dados como módulos separados. Quando um componente específico falha, a arquitetura modular ajuda a minimizar o tempo de inatividade e permite que as equipes desenvolvam e implantem correções mais rapidamente.
Considere as seguintes recomendações:
- Separe o sistema de IA e ML em pequenos módulos ou componentes independentes. Essa abordagem promove a reutilização do código, simplifica os testes e a manutenção e permite que você desenvolva e implante componentes individuais de forma independente.
- Projete os módulos acoplados com flexibilidade com interfaces bem definidas. Essa abordagem minimiza as dependências e permite fazer atualizações e mudanças independentes sem afetar todo o sistema.
- Planeje a degradação suave. Quando um componente falha, as outras partes do sistema precisam continuar fornecendo um nível adequado de funcionalidade.
- Use APIs para criar limites claros entre os módulos e ocultar os detalhes de implementação no nível do módulo. Essa abordagem permite atualizar ou substituir componentes individuais sem afetar as interações com outras partes do sistema.
Criar uma plataforma automatizada de MLOps
Com uma plataforma MLOps automatizada, os estágios e resultados do ciclo de vida do modelo são mais confiáveis. Ao promover consistência, acoplamento flexível e modularidade, e ao expressar operações e infraestrutura como código, você remove etapas manuais frágeis e mantém sistemas de IA e ML mais robustos e confiáveis.
Considere as seguintes recomendações:
- Automatize o ciclo de vida do desenvolvimento do modelo, desde a preparação e validação de dados até o treinamento, a avaliação, a implantação e o monitoramento do modelo.
- Gerenciar a infraestrutura como código (IaC). Essa abordagem permite um controle de versão eficiente, rollbacks rápidos quando necessário e implantações repetidas.
- Valide se os modelos se comportam como esperado com dados relevantes. Automatize o monitoramento de desempenho dos modelos e crie alertas adequados para saídas inesperadas.
- Valide as entradas e saídas dos pipelines de IA e ML. Por exemplo, valide dados, configurações, argumentos de comando, arquivos e previsões. Configure alertas para valores inesperados ou não permitidos.
- Adote uma estratégia de controle de versão gerenciada para os endpoints de modelo. Esse tipo de estratégia permite lançamentos incrementais e recuperação rápida em caso de problemas.
Manter a confiança e o controle com a governança de dados e modelos
A confiabilidade dos sistemas de IA e ML depende dos recursos de confiança e governança dos dados e modelos. As saídas de IA podem não atender às expectativas de forma silenciosa. Por exemplo, as saídas podem ser formalmente consistentes, mas incorretas ou indesejadas. Ao implementar a rastreabilidade e uma governança forte, você garante que as saídas sejam confiáveis.
Considere as seguintes recomendações:
- Use um catálogo de dados e modelos para rastrear e gerenciar seus recursos de maneira eficaz. Para facilitar o rastreamento e as auditorias, mantenha um registro abrangente de dados e versões de modelos ao longo do ciclo de vida.
- Implemente controles de acesso rígidos e trilhas de auditoria para proteger dados e modelos sensíveis.
- Resolva o problema crítico de viés na IA, principalmente em aplicativos de IA generativa. Para criar confiança, busque a transparência e a explicabilidade nas saídas do modelo.
- Automatize a geração de estatísticas de recursos e implemente a detecção de anomalias para identificar proativamente problemas de dados. Para garantir a confiabilidade do modelo, estabeleça mecanismos para detectar e mitigar o impacto das mudanças nas distribuições de dados.
Implementar práticas holísticas de observabilidade e confiabilidade de IA e ML
Para melhorar continuamente suas operações de IA, você precisa definir metas de confiabilidade significativas e medir o progresso. A observabilidade é um elemento fundamental de sistemas confiáveis. A observabilidade permite gerenciar operações em andamento e eventos críticos. A implementação adequada da observabilidade ajuda a criar e manter um serviço confiável para os usuários.
Considere as seguintes recomendações:
- Acompanhe as métricas de infraestrutura para processadores (CPUs, GPUs e TPUs) e para outros recursos, como uso de memória, latência de rede e uso de disco. Execute testes de carga e monitoramento de desempenho. Use os resultados e as métricas do teste do monitoramento para gerenciar a escala e a capacidade dos seus sistemas de IA e ML.
- Estabeleça metas de confiabilidade e acompanhe as métricas do aplicativo. Meça métricas como capacidade de processamento e latência dos aplicativos de IA que você cria. Monitore os padrões de uso dos seus aplicativos e os endpoints expostos.
- Estabeleça métricas específicas do modelo, como precisão ou indicadores de segurança, para avaliar a confiabilidade do modelo. Acompanhe essas métricas ao longo do tempo para identificar qualquer desvio ou degradação. Para um controle de versão e automação eficientes, defina as configurações de monitoramento como código.
- Defina e acompanhe métricas no nível da empresa para entender o impacto dos seus modelos e a confiabilidade nos resultados de negócios. Para medir a confiabilidade dos seus serviços de IA e ML, considere adotar a abordagem SRE e definir objetivos de nível de serviço (SLOs).
Colaboradores
Autores:
- Rick (Rugui) Chen | Arquiteto de soluções de infraestrutura de IA
- Filipe Gracio, PhD | Engenheiro de clientes
Outros colaboradores:
- Jose Andrade | Engenheiro de clientes de infraestrutura corporativa
- Kumar Dhanagopal | Desenvolvedor de soluções para vários produtos
- Marwan Al Shawi | Engenheiro de clientes do parceiro
Perspectiva de IA e ML: otimização de custos
Este documento no Framework bem estruturado: 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 ao longo do ciclo de vida do 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, além de manter a disciplina financeira. As recomendações neste documento estão alinhadas com o pilar de otimização de custos do Google Cloud Framework de arquitetura bem estruturada.
Os sistemas de IA e ML podem ajudar a gerar insights valiosos e recursos preditivos com base em dados. Por exemplo, você pode reduzir o atrito em processos internos, melhorar a experiência do usuário e obter insights mais aprofundados sobre os clientes. A nuvem oferece grandes quantidades de recursos e um tempo de valorização rápido sem grandes investimentos iniciais para cargas de trabalho de IA e ML. Para maximizar o valor de negócios e alinhar os gastos às 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.
Definir e medir custos e devoluções
Para gerenciar de maneira eficaz os custos de IA e ML no Google Cloud, você precisa definir e medir as despesas com recursos de nuvem e o valor comercial das suas iniciativas de IA e ML.O Google Cloud oferece ferramentas abrangentes de faturamento e gerenciamento de custos para ajudar você a acompanhar as despesas de maneira detalhada. As métricas de valor de negócios que você pode medir incluem satisfação do cliente, receita e custos operacionais. Ao estabelecer métricas concretas para custos e valor de negócios, você pode tomar decisões informadas sobre a alocação e otimização de recursos.
Considere as seguintes recomendações:
- Estabeleça objetivos de negócios claros e indicadores principais de desempenho (KPIs) para seus projetos de IA e ML.
- Use as informações de faturamento fornecidas por Google Cloud para implementar processos de monitoramento e relatórios de custos que podem ajudar a atribuir custos a atividades específicas de IA e ML.
- Estabeleça painéis, alertas e sistemas de relatórios para acompanhar custos e retornos em relação aos KPIs.
Otimizar a alocação de recursos
Para alcançar a eficiência de custos das cargas de trabalho de IA e ML em Google Cloud, otimize a alocação de recursos. Ao alinhar cuidadosamente a alocação de recursos às necessidades das cargas de trabalho, você evita despesas desnecessárias e garante que seus sistemas de IA e ML tenham os recursos necessários para funcionar de maneira ideal.
Considere as seguintes recomendações:
- Use o escalonamento automático para ajustar dinamicamente os recursos de treinamento e inferência.
- Comece com modelos e dados pequenos. Economize custos testando hipóteses em uma escala menor sempre que possível.
- Descubra suas necessidades de computação por meio de experimentos. Dimensione corretamente os recursos usados para treinamento e veiculação com base nos seus requisitos de ML.
- Adote práticas de MLOps para reduzir a duplicação, os processos manuais e a alocação ineficiente de recursos.
Aplicar práticas de governança e gerenciamento de dados
Práticas eficazes de governança e gerenciamento de dados desempenham um papel fundamental na otimização de custos. Dados bem organizados ajudam sua organização a evitar duplicação desnecessária, reduzem o esforço necessário para conseguir dados de alta qualidade e incentivam as equipes a reutilizar conjuntos de dados. Ao gerenciar dados de forma proativa, é possível reduzir os custos de armazenamento, melhorar a qualidade dos dados e garantir que os modelos de ML sejam treinados e operem com os dados mais relevantes e valiosos.
Considere as seguintes recomendações:
- Estabeleça e adote um framework de governança de dados bem definido.
- Aplique rótulos e metadados relevantes aos conjuntos de dados no momento da ingestão.
- Garanta que os conjuntos de dados sejam detectáveis e acessíveis em toda a organização.
- Sempre que possível, torne seus conjuntos de dados e recursos reutilizáveis ao longo do ciclo de vida do ML.
Automatizar e simplificar com MLOps
Um dos principais benefícios da adoção de práticas de MLOps é a redução de custos, tanto do ponto de vista da tecnologia quanto das atividades do pessoal. A automação ajuda a evitar a duplicação de atividades de ML e a melhorar a produtividade de cientistas de dados e engenheiros de ML.
Considere as seguintes recomendações:
- Aumente o nível de automação e padronização nas tecnologias de coleta e processamento de dados para reduzir o esforço e o tempo de desenvolvimento.
- Desenvolva pipelines de treinamento automatizados para reduzir a necessidade de intervenções manuais e aumentar a produtividade dos engenheiros. Implemente mecanismos para que os pipelines reutilizem recursos existentes, como conjuntos de dados preparados e modelos treinados.
- Use os serviços de avaliação e ajuste do modelo em Google Cloud para aumentar a performance do modelo com menos iterações. Isso permite que suas equipes de IA e ML atinjam mais objetivos em menos tempo.
Usar serviços gerenciados e modelos pré-treinados ou atuais
Há muitas abordagens para alcançar metas de negócios usando IA e ML. Adote uma abordagem incremental para a seleção e o desenvolvimento de modelos. Isso ajuda a evitar custos excessivos associados ao início de uma nova sessão. Para controlar os custos, comece com uma abordagem simples: use frameworks de ML, serviços gerenciados e modelos pré-treinados.
Considere as seguintes recomendações:
- Ative experimentos de ML rápidos e exploratórios usando ambientes de notebooks.
- Use modelos atuais e pré-treinados como ponto de partida para acelerar a seleção e o processo de desenvolvimento do modelo.
- Use serviços gerenciados para treinar ou exibir seus modelos. Tanto o AutoML quanto os serviços gerenciados de treinamento de modelos personalizados podem ajudar a reduzir o custo do treinamento de modelos. Os serviços gerenciados também podem ajudar a reduzir o custo da sua infraestrutura de prestação de modelos.
Promover uma cultura de conscientização sobre custos e otimização contínua
Cultive um ambiente colaborativo que incentive a comunicação e as revisões regulares. Essa abordagem ajuda as equipes a identificar e implementar oportunidades de redução de custos ao longo do ciclo de vida do ML.
Considere as seguintes recomendações:
- Adote princípios de FinOps no ciclo de vida do ML.
- Garanta que todos os custos e benefícios comerciais dos projetos de IA e ML tenham proprietários designados com responsabilidade clara.
Colaboradores
Autores:
- Isaac Lo | Gerente de desenvolvimento comercial de IA
- Filipe Gracio, PhD | Engenheiro de clientes
Outros colaboradores:
- 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
Perspectiva de IA e ML: otimização de desempenho
Este documento no Framework bem estruturado: perspectiva de IA e ML oferece uma visão geral dos princípios e recomendações para ajudar você a otimizar o desempenho das cargas de trabalho de IA e ML no Google Cloud. As recomendações neste documento estão alinhadas com o pilar de otimização de desempenho do Google Cloud framework bem estruturado.
Os sistemas de IA e ML permitem novos recursos de automação e tomada de decisão para sua organização. O desempenho desses sistemas pode afetar diretamente os fatores de negócios, como receita, custos e satisfação do cliente. Para aproveitar todo o potencial dos seus sistemas de IA e ML, você precisa otimizar a performance deles com base nas suas metas de negócios e requisitos técnicos. O processo de otimização de desempenho geralmente envolve algumas compensações. Por exemplo, uma escolha de design que ofereça o desempenho necessário pode levar a custos mais altos. As recomendações neste documento priorizam a performance em vez de outras considerações, como custos.
Para otimizar a performance da IA e do ML, é necessário tomar decisões sobre fatores como a arquitetura do modelo, os parâmetros e a estratégia de treinamento. 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 alta performance em infraestruturas de treinamento massivas, mas modelos muito grandes podem não ter bom desempenho em ambientes com capacidade limitada, como dispositivos móveis.
Transformar metas de negócios em objetivos de performance
Para tomar decisões arquitetônicas que otimizem o desempenho, comece com um conjunto claro de metas de negócios. Projete sistemas de IA e ML que ofereçam o desempenho técnico necessário para apoiar suas metas e prioridades de negócios. As equipes técnicas precisam entender o mapeamento entre os objetivos de performance e de negócios.
Considere as seguintes recomendações:
- Converter objetivos de negócios em requisitos técnicos: transforme os objetivos de negócios dos seus sistemas de IA e ML em requisitos técnicos de desempenho específicos e avalie os efeitos de não atender aos requisitos. Por exemplo, para um aplicativo que prevê a retenção de clientes, o modelo de ML precisa ter um bom desempenho em métricas padrão, como acurácia e recall, e o aplicativo precisa atender aos requisitos operacionais, como baixa latência.
- Monitore a performance em todas as etapas do ciclo de vida do modelo: durante a experimentação e o treinamento após a implantação do modelo, monitore seus principais indicadores de desempenho (KPIs) e observe quaisquer desvios dos objetivos de negócios.
- Automatizar a avaliação para torná-la reproduzível e padronizada: com uma plataforma e metodologia padronizadas e comparáveis para a avaliação do experimento, os engenheiros podem aumentar o ritmo da melhoria de desempenho.
Fazer e acompanhar experimentos frequentes
Para transformar a inovação e a criatividade em melhorias de performance, você precisa de uma cultura e uma plataforma que ofereçam suporte à experimentação. A melhoria de desempenho é um processo contínuo porque as tecnologias de IA e ML estão se desenvolvendo de maneira contínua e rápida. Para manter um processo iterativo e rápido, você precisa separar o espaço de experimentação das plataformas de treinamento e serviço. É importante ter um processo de experimentação padronizado e robusto.
Considere as seguintes recomendações:
- Criar um ambiente de experimentação: as melhorias de desempenho exigem um ambiente dedicado, poderoso e interativo que ofereça suporte à experimentação e ao desenvolvimento colaborativo de pipelines de ML.
- Incorpore a experimentação como uma cultura: faça experimentos antes de qualquer implantação de produção. Lance novas versões de forma iterativa e sempre colete dados de desempenho. Teste diferentes tipos de dados, transformações de atributos, algoritmos e hiperparâmetros.
Criar e automatizar serviços de treinamento e disponibilização
O treinamento e a disponibilização de modelos de IA são componentes essenciais dos seus serviços de IA. Você precisa de plataformas e práticas robustas que ofereçam suporte à criação, implantação e exibição rápidas e confiáveis de modelos de IA. Invista tempo e esforço para criar plataformas fundamentais para suas tarefas principais de treinamento e exibição de IA. Essas plataformas básicas ajudam a reduzir o tempo e o esforço das equipes e melhorar a qualidade das saídas em médio e longo prazo.
Considere as seguintes recomendações:
- Usar componentes especializados em IA de um serviço de treinamento: esses componentes incluem computação de alto desempenho e componentes de MLOps, como armazenamentos de recursos, registros de modelos, armazenamentos de metadados e serviços de avaliação de desempenho do modelo.
- Usar componentes especializados em IA de um serviço de previsão: esses componentes oferecem recursos escalonáveis e de alto desempenho, oferecem suporte ao monitoramento de recursos e permitem o monitoramento de desempenho do modelo. Para evitar e gerenciar a degradação de desempenho, implemente estratégias confiáveis de implantação e reversão.
Combinar escolhas de design com os requisitos de desempenho
Ao fazer escolhas de design para melhorar a performance, avalie cuidadosamente se elas atendem aos requisitos de negócios ou se são inúteis e contraproducentes. Para escolher a infraestrutura, os modelos ou as configurações adequadas, identifique os gargalos de performance e avalie como eles estão vinculados às suas medidas de performance. Por exemplo, mesmo em aceleradores de GPU muito poderosos, as tarefas de treinamento podem ter gargalos de desempenho devido a problemas de E/S de dados da camada de armazenamento ou limitações de desempenho do próprio modelo.
Considere as seguintes recomendações:
- Otimizar o consumo de hardware com base nas metas de desempenho: para treinar e oferecer modelos de ML que atendam aos seus requisitos de desempenho, é necessário otimizar a infraestrutura nas camadas de computação, armazenamento e rede. Você precisa medir e entender as variáveis que afetam suas metas de performance. Essas variáveis são diferentes para treinamento e inferência.
- Concentre-se nos requisitos específicos da carga de trabalho: concentre seus esforços de otimização de desempenho nos requisitos exclusivos das cargas de trabalho de IA e ML. Use serviços gerenciados para o desempenho da infraestrutura.
- Escolher estratégias de treinamento adequadas: vários modelos fundamentais e pré-treinados estão disponíveis, e mais modelos desse tipo são lançados com frequência. Escolha uma estratégia de treinamento que ofereça a melhor performance para sua tarefa. Decida se você precisa criar seu próprio modelo, ajustar um modelo pré-treinado nos seus dados ou usar uma API de modelo pré-treinado.
- Reconhecer que as estratégias de otimização de performance podem ter retornos decrescentes: quando uma estratégia específica de otimização de performance não oferece um valor de negócios incremental mensurável, pare de usar essa estratégia.
Vincular métricas de desempenho a escolhas de design e configuração
Para inovar, resolver problemas e investigar problemas de desempenho, estabeleça uma ligação clara entre as escolhas de design e os resultados de desempenho. Além da experimentação, é necessário registrar de forma confiável a linhagem dos seus recursos, implantações, saídas de modelos e as configurações e entradas que produziram as saídas.
Considere as seguintes recomendações:
- Criar um sistema de linhagem de dados e modelos: todos os seus recursos implantados e as métricas de performance deles precisam ser vinculados aos dados, configurações, código e escolhas que resultaram nos sistemas implantados. Além disso, as saídas do modelo precisam ser vinculadas a versões específicas do modelo e à forma como as saídas foram produzidas.
- Usar ferramentas de explicabilidade para melhorar a performance do modelo: adote e padronize ferramentas e comparativos de mercado para a exploração e a explicabilidade do modelo. Essas ferramentas ajudam os engenheiros de ML a entender o comportamento do modelo e melhorar a performance ou remover vieses.
Colaboradores
Autores:
- Benjamin Sadik | Engenheiro de clientes especialista em IA e ML
- Filipe Gracio, PhD | Engenheiro de clientes
Outros colaboradores:
- Kumar Dhanagopal | Desenvolvedor de soluções para vários produtos
- Marwan Al Shawi | Engenheiro de clientes do parceiro
- Zach Seils | Especialista em rede