Este documento do Framework bem arquitetado: perspectiva de IA e ML apresenta uma visão geral dos princípios e recomendações para projetar e operar sistemas confiáveis de IA e ML no Google Cloud. Nele, explicamos como integrar práticas avançadas de confiabilidade e observabilidade nos blueprints de arquitetura. As recomendações neste documento estão alinhadas ao pilar de confiabilidade do Google Cloud framework bem arquitetado.
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 metas de negócios. Você precisa de sistemas de IA e ML que sejam robustos, confiáveis e adaptáveis para atender às demandas únicas do ML preditivo e da IA generativa. Para lidar com as complexidades das MLOps, desde o desenvolvimento até a implantação e a melhoria contínua, é necessário usar uma abordagem que prioriza a confiabilidade. Google Cloud Oferece uma infraestrutura de IA personalizada alinhada aos princípios da Engenharia de confiabilidade do site (SRE) e uma base poderosa para sistemas confiáveis de IA e ML.
Garantir que a infraestrutura seja escalonável e altamente disponível
Ao arquitetar visando a escalonabilidade e a disponibilidade, você permite que seus aplicativos lidem com níveis variados de demanda sem interrupções do serviço ou degradação do desempenho. Isso significa que os serviços de IA continuam disponíveis para os usuários durante interrupções da infraestrutura e quando o tráfego é 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 recursos de maneira proativa e antecipe necessidades futuras com testes de carga e monitoramento de desempenho. Use dados históricos e análises preditivas para tomar decisões fundamentadas sobre 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 a redundância e a replicação.
- Distribua o tráfego de entrada em várias instâncias dos serviços e endpoints de IA e ML. O balanceamento de carga ajuda a evitar a sobrecarga de instâncias únicas e a garantir desempenho e disponibilidade consistentes.
Usar uma arquitetura modular e acoplada com flexibilidade
Para tornar seus sistemas de IA resilientes a falhas em componentes individuais, use uma arquitetura modular. 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 a inatividade e permite que suas equipes desenvolvam e implantem correções com mais rapidez.
Considere as seguintes recomendações:
- Separe seus sistemas 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 desenvolver e implantar componentes individuais de maneira independente.
- Projetar os módulos com acoplamento flexível e 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 da 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 automatizada de MLOps, os estágios e as saídas do ciclo de vida do modelo são mais confiáveis. Ao promover consistência, acoplamento flexível e modularidade, bem como 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 de desenvolvimento de modelos, desde a preparação e validação de dados até o treinamento, avaliação, implantação e monitoramento de modelos.
- Gerenciar sua infraestrutura como código (IaC, na sigla em inglês). Essa abordagem permite um controle de versões eficiente, reversões rápidas quando necessário e implantações repetíveis.
- Valide se os modelos se comportam conforme esperado com dados relevantes. Automatize o monitoramento de desempenho dos modelos e crie alertas apropriados 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. Configurar alertas para valores inesperados ou não permitidos.
- Adotar uma estratégia de controle de versões gerenciada para os endpoints do modelo. Esse tipo de estratégia permite lançamentos incrementais e recuperação rápida em caso de problemas.
Mantenha a confiança e o controle com governança de dados e modelos
A confiabilidade dos sistemas de IA e ML depende dos recursos de confiança e governança dos seus dados e modelos. As saídas da IA podem não atender às expectativas de forma silenciosa. Por exemplo, as saídas podem ser formalmente consistentes, mas podem estar incorretas ou indesejadas. Ao implementar rastreabilidade e governança forte, é possível garantir que os resultados sejam confiáveis.
Considere as seguintes recomendações:
- Use um catálogo de dados e modelos para rastrear e gerenciar seus recursos com eficiência. Para facilitar o rastreamento e as auditorias, mantenha um registro abrangente de versões de dados e modelos durante todo o ciclo de vida.
- Implemente controles de acesso estritos e trilhas de auditoria para proteger dados e modelos sensíveis.
- Aborde a questão crítica do viés na IA, especialmente em aplicações de IA generativa. Para criar confiança, busque transparência e explicabilidade nas saídas do modelo.
- Automatize a geração de estatísticas de recursos e implemente a detecção de anomalias para identificar problemas de dados de maneira proativa. Para garantir a confiabilidade do modelo, estabeleça mecanismos para detectar e mitigar o impacto das alterações na distribuição 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 contínuas e eventos críticos. Uma observabilidade bem implementada ajuda você a criar e manter um serviço confiável para seus usuários.
Considere as seguintes recomendações:
- Rastreie métricas de infraestrutura para processadores (CPUs, GPUs e TPUs) e outros recursos, como uso de memória, latência de rede e uso de disco. Realize testes de carga e monitoramento de desempenho. Use os resultados do teste e as métricas do monitoramento para gerenciar o escalonamento e a capacidade dos sistemas de IA e ML.
- Estabeleça metas de confiabilidade e acompanhe as métricas de aplicação. Avalie métricas como capacidade e latência dos aplicativos de IA criados. Monitore os padrões de uso dos aplicativos e dos endpoints expostos.
- Estabelecer métricas específicas do modelo, como indicadores de precisão ou segurança, para avaliar a confiabilidade dele. Acompanhe essas métricas ao longo do tempo para identificar desvios ou degradações. Para automação e controle de versões eficientes, defina as configurações de monitoramento como código.
- Defina e acompanhe métricas de negócios para entender o impacto dos modelos e da confiabilidade nos resultados dos negócios. Para medir a confiabilidade dos serviços de IA e ML, adote a abordagem de SRE e defina 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