Este documento do Framework de arquitetura: perspectiva de IA e ML oferece uma visão geral dos princípios e recomendações para projetar e operar sistemas confiáveis de IA e ML no Google Cloud. Ela 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 framework de arquitetura.
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 de 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 no 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 acoplado com flexibilidade
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 acoplado 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 seus 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 indicadores de precisão ou 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