É segunda-feira. Você chega ao escritório e recebe uma dúzia de e-mails de seus colegas de equipe de desenvolvimento de sistema solicitando para falar com você imediatamente. Parece que o sistema generativo de gerenciamento de estoque habilitado para IA que você lançou há uma semana está frustrando seus novos usuários. Está demorando minutos, não segundos para responder. As remessas agora estão atrasadas. Os clientes estão desligando seus representantes de serviço porque estão demorando muito para responder às perguntas dos clientes. As vendas do site caíram 20% devido a atrasos no desempenho. Opa. Você tem um problema de desempenho.

Mas você fez tudo certo. Você está usando apenas GPUs para processar treinamento e inferências; você fez todos os testes de desempenho recomendados; você provisionou demais o espaço de memória e está usando apenas o armazenamento mais rápido com o melhor desempenho de E/S. Na verdade, sua conta da nuvem é superior a US$ 100 mil por mês. Como o desempenho pode estar falhando?

Tenho ouvido essa história com mais frequência à medida que os primeiros a adotar sistemas generativos de IA na nuvem começaram a implantar seu primeiro ou segundo sistema. É um momento emocionante, pois os provedores de nuvem promovem seus recursos generativos de IA e você basicamente copia as configurações de arquitetura que viu na última grande conferência da marca de nuvem. Você é um seguidor e seguiu o que acredita serem arquiteturas comprovadas e práticas recomendadas.

Problemas emergentes de desempenho

Os principais problemas dos modelos de baixo desempenho são difíceis de diagnosticar, mas a solução geralmente é fácil de implementar. Os problemas de desempenho normalmente vêm de um único componente que limita o desempenho geral do sistema de IA: um gateway de API lento, um componente de rede defeituoso ou até mesmo um conjunto de bibliotecas defeituoso usado na última compilação. É simples de corrigir, mas muito mais difícil de encontrar.

Vamos abordar os fundamentos.

A alta latência em sistemas generativos de IA pode impactar aplicações em tempo real, como processamento de linguagem natural ou geração de imagens. A conectividade de rede abaixo do ideal ou a alocação ineficiente de recursos podem contribuir para a latência. Minha experiência diz para começar por aí.

Os modelos generativos de IA podem consumir muitos recursos. A otimização dos recursos na nuvem pública é essencial para garantir um desempenho eficiente e, ao mesmo tempo, minimizar os custos. Isso envolve recursos de escalonamento automático e a escolha dos tipos de instância certos para atender aos requisitos da carga de trabalho. Ao revisar o que você forneceu, veja se esses recursos estão atingindo a saturação ou apresentando sintomas de problemas de desempenho. O monitoramento é uma prática recomendada que muitas organizações ignoram. Deve haver uma estratégia de observabilidade em torno do planejamento de gerenciamento do seu sistema de IA, e a piora do desempenho deve ser relativamente fácil de diagnosticar ao usar essas ferramentas.

Dimensionar cargas de trabalho generativas de IA para acomodar a demanda flutuante pode ser desafiador e muitas vezes pode causar problemas. Configurações de escalonamento automático ineficazes e balanceamento de carga inadequado podem prejudicar a capacidade de dimensionar recursos com eficiência.

O gerenciamento dos processos de treinamento e inferência de modelos generativos de IA requer fluxos de trabalho que facilitam o treinamento e a inferência eficientes de modelos. É claro que isso deve ser feito aproveitando a escalabilidade e a flexibilidade oferecidas pela nuvem pública.

Na maioria das vezes, os problemas de desempenho de inferência são os culpados e, embora a tendência seja investir recursos e dinheiro no problema, uma abordagem melhor seria ajustar o modelo primeiro. Os ajustáveis ​​fazem parte da maioria dos kits de ferramentas de IA; eles devem ser capazes de fornecer algumas orientações sobre como as tabelas devem ser definidas para seu caso de uso específico.

Outras questões a serem procuradas

O treinamento de modelos generativos de IA pode ser demorado e muito caro, especialmente quando se lida com grandes conjuntos de dados e arquiteturas complexas. A utilização ineficiente de capacidades de processamento paralelo e recursos de armazenamento pode prolongar o processo de treinamento do modelo.

Tenha em mente que em muitos casos usamos GPUs, que não são baratas para comprar ou alugar. O treinamento do modelo deve ser o mais eficiente possível e ocorrer apenas quando os modelos precisarem ser atualizados. Você tem outras opções para acessar as informações necessárias, como geração aumentada de recuperação (RAG).

RAG é uma abordagem usada em processamento de linguagem natural (PNL) que combina a recuperação de informações com a criatividade da geração de texto. Aborda as limitações dos modelos linguísticos tradicionais, que muitas vezes lutam com a precisão factual, e oferece acesso a conhecimentos externos e atualizados.

Você pode aumentar o processamento de inferência com acesso a outras fontes de informações que podem validar e adicionar informações atualizadas conforme necessário ao modelo. Isso significa que o modelo não precisa ser retreinado ou atualizado com tanta frequência, resultando em custos mais baixos e melhor desempenho.

Finalmente, é fundamental garantir a segurança e a conformidade dos sistemas generativos de IA em nuvens públicas. A privacidade dos dados, os controles de acesso e a conformidade regulatória podem afetar o desempenho se não forem abordados de forma adequada. Muitas vezes descubro que a governança de conformidade é frequentemente ignorada durante os testes de desempenho.

Melhores práticas para gerenciamento de desempenho de IA

Meu conselho aqui é direto e relacionado à maioria das práticas recomendadas que você já conhece.

  • Treinamento. Mantenha-se atualizado sobre o que as pessoas que apoiam suas ferramentas de IA estão dizendo sobre gerenciamento de desempenho. Certifique-se de que alguns membros da equipe estejam inscritos em treinamentos recorrentes.
  • Observabilidade. Já mencionei isso, mas temos um programa de observabilidade sólido em vigor. Isso inclui ferramentas importantes de monitoramento que podem alertar sobre problemas de desempenho antes que os usuários os enfrentem. Quando isso ocorrer, será tarde demais. Você perdeu credibilidade.
  • Teste. A maioria das organizações não realiza testes de desempenho em seus sistemas de IA baseados em nuvem. Talvez lhe tenham dito que não há necessidade, pois você sempre pode alocar mais recursos. Isso é simplesmente bobo. Faça testes de desempenho como parte da implantação. Sem exceções.
  • Operações de desempenho. Não espere para abordar o desempenho até que haja um problema. Gerencie-o ativamente e de forma contínua. Se você está reagindo a problemas de desempenho, você já perdeu.

Isso não vai desaparecer. À medida que surgem mais sistemas de IA generativos, sejam eles na nuvem ou no local, surgirão mais problemas de desempenho do que as pessoas entendem agora. A chave aqui é ser proativo. Não espere pelas surpresas da manhã de segunda-feira; eles não são divertidos.