Melhores práticas de MLOps (operações de aprendizado de máquina) no AKS (Serviço de Kubernetes do Azure)
Este artigo descreve as melhores práticas e as considerações que devem ser levadas em conta ao usar MLOps no AKS. Para obter mais informações sobre MLOps, confira MLOps (operações de aprendizado de máquina) para fluxos de trabalho de IA e aprendizado de máquina.
IaC (infraestrutura como código)
A IaC permite o provisionamento e o gerenciamento consistentes e reproduzíveis da infraestrutura para uma variedade de tipos de aplicativos. Com implantações de aplicativos inteligentes, sua implementação de IaC pode mudar em todo o pipeline de IA, pois o poder de computação e os recursos necessários para inferência, serviço, treinamento e modelos de ajuste fino podem variar. A definição e o controle de versão de modelos de IaC para suas equipes de desenvolvedores de IA podem ajudar a garantir a consistência e o custo-benefício entre os tipos de trabalho, além de desmistificar os requisitos individuais de hardware e acelerar o processo de implantação.
Transporte em contêineres
O gerenciamento de pesos, metadados e configurações do modelo em imagens de contêineres permite a portabilidade, o controle de versão simplificado e a redução dos custos de armazenamento ao longo do tempo. Com a conteinerização, você pode:
- Aproveite as imagens de contêineres existentes, especialmente para LLMs (modelos de linguagem grandes) que variam de milhões a bilhões de parâmetros em tamanho e modelos de difusão estáveis, armazenados em registros de contêineres seguros.
- Evite o SPOF (ponto único de falha) em seu pipeline com o uso de vários contêineres leves que contêm as dependências exclusivas de cada tarefa, em vez de manter uma imagem grande.
- Armazene grandes conjuntos de dados de texto/imagem fora da imagem de contêiner de base e faça referência a eles quando necessário no runtime.
Introdução ao Operador de conjunto de ferramentas de IA do Kubernetes para implantar um LLM de alto desempenho no AKS em questão de minutos.
Gerenciamento de modelos e controle de versão
O gerenciamento de modelos e o controle de versão são essenciais para acompanhar as alterações em seus modelos ao longo do tempo. Ao fazer o controle de versão de seus modelos, você pode:
- Manter a consistência em seus contêineres de modelo para facilitar a implantação em ambientes diferentes.
- Empregar métodos de PEFT (ajuste fino com eficiência de parâmetro) para iterar mais rapidamente em um subconjunto de pesos de modelo e manter novas versões em contêineres leves.
Automação
A automação é fundamental para reduzir erros manuais, aumentar a eficiência e garantir a consistência em todo o ciclo de vida do ML. Ao automatizar tarefas, você pode:
- Integrar ferramentas de alerta para disparar automaticamente um fluxo de ingestão de vetor à medida que novos dados fluem para seu aplicativo.
- Definir os limites de desempenho do modelo para controlar degradações e disparar pipelines de retreinamento.
Escalabilidade e gerenciamento de recursos
A escalabilidade e o gerenciamento de recursos são essenciais para garantir que o pipeline de IA possa lidar com as demandas do aplicativo. Ao otimizar o uso do recurso, você pode:
- Integrar ferramentas que usam com eficiência seus recursos de CPU, GPU e memória alocados por meio de computação distribuída e vários níveis de paralelismo (por exemplo: paralelismo de dados, modelo e pipeline).
- Habilitar a escala automática em seus recursos de computação para dar suporte a altos volumes de solicitações de modelos em horários de pico e reduzir a escala em horários fora do pico.
- Semelhante aos aplicativos tradicionais, planeje a recuperação de desastre seguindo as melhores práticas de resiliência e confiabilidade do AKS.
Segurança e conformidade
A segurança e a conformidade são essenciais para proteger seus dados e garantir que o pipeline de IA atenda aos requisitos regulatórios. Ao implementar as melhores práticas de segurança e conformidade, você pode:
- Integrar a verificação de CVE (vulnerabilidades e exposições comuns) para detectar vulnerabilidades comuns em imagens de contêiner de modelo de código aberto.
- Use o Microsoft Defender para contêineres para imagens de contêiner de modelo armazenadas no Registro de Contêiner do Azure.
- Mantenha uma trilha de auditoria dos dados ingeridos, alterações de modelo e métricas para permanecer em conformidade com suas políticas organizacionais.
Próximas etapas
Saiba mais sobre as melhores práticas em outras áreas da implantação e das operações do aplicativo no AKS:
Azure Kubernetes Service