Compartilhar via


GenAIOps para profissionais de MLOps

Este artigo fornece orientação para as equipes de carga de trabalho que têm investimentos existentes em operações de aprendizado de máquina (MLOps) e querem estender esses investimentos para incluir IA generativa na carga de trabalho. Para operacionalizar uma carga de trabalho de IA generativa, você precisa estender seus investimentos em MLOps com operações de IA generativa (GenAIOps, às vezes conhecidos como LLMOps). Este artigo descreve os padrões técnicos comuns em cargas de trabalho tradicionais de aprendizado de máquina e IA generativa e padrões específicos para IA generativa. O artigo ajuda você a entender onde é possível aplicar os investimentos existentes em operacionalização e onde é necessário estender esses investimentos.

O planejamento e a implementação de um MLOps e GenAIOps fazem parte de uma área de design principal em cargas de trabalho de IA no Azure. Para saber por que essas cargas de trabalho precisam de operações especializadas, consulte MLOps e GenAIOps para cargas de trabalho de IA no Azure no Azure Well-Architected Framework.

Padrões técnicos de IA generativa

As cargas de trabalho de IA generativa diferem das cargas de trabalho tradicionais de aprendizado de máquina de algumas maneiras:

  • Concentre-se em modelos generativos. As cargas de trabalho tradicionais de machine learning se concentram no treinamento de novos modelos treinados para realizar tarefas específicas. As cargas de trabalho de IA generativa consomem modelos generativos que podem lidar com uma variedade maior de casos de uso e, em alguns casos, são multimodais.

  • Concentre-se em estender os modelos. O principal ativo em machine learning tradicional é o modelo implantado. O acesso ao modelo é fornecido ao código do cliente em uma ou mais tarefas de trabalho, mas essas tarefas não fazem parte do processo de MLOps. Com soluções de IA gerativas, uma faceta chave da solução é a instrução fornecida ao modelo gerador. A solicitação deve ser composta e pode conter dados de um ou mais armazenamentos de dados. O sistema que orquestra a lógica, chama os vários back-ends, gera a solicitação e chama o modelo generativo que faz parte do sistema de IA generativa que você deve controlar com GenAIOps.

Embora algumas soluções de IA generativa usem práticas tradicionais de machine learning, como treinamento de modelo e ajuste fino, todas elas introduzem novos padrões que você deve padronizar. Esta seção fornece uma visão geral das três grandes categorias de padrões técnicos para soluções de IA generativa:

  • Pré-treinamento e ajuste fino
  • Engenharia de prompts
  • Geração aumentada de recuperação (RAG)

Treinamento e ajuste fino de modelos de linguagem

Atualmente, muitas soluções de IA generativa usam modelos de linguagem de base existentes que não exigem ajuste fino antes do uso. No entanto, alguns casos de uso podem se beneficiar do ajuste fino de um modelo de base ou do treinamento de um novo modelo de IA generativa, como um modelo de linguagem pequeno (SLM).

O treinamento de um novo SLM e o ajuste fino de um modelo de base generativa são logicamente os mesmos processos de treinamento de modelos tradicionais de aprendizado de máquina. Esses processos devem usar seus investimentos existentes em MLOps.

Engenharia de prompts

A engenharia de solicitação inclui todos os processos envolvidos na geração de uma solicitação que é enviada como entrada para um modelo generativo. Geralmente, há um orquestrador que controla um fluxo de trabalho que gera a solicitação. O orquestrador pode acessar qualquer número de bancos de dados para coletar informações, como dados de referência, e aplicar a lógica necessária para gerar o prompt mais eficaz. Em seguida, o orquestrador é implantado como um endpoint de API que é acessado pelo código do cliente em uma aplicação inteligente.

O diagrama a seguir mostra uma arquitetura para engenharia de solicitação.

O diagrama mostra uma arquitetura para engenharia de solicitação.

Essa categoria de padrões técnicos pode abordar muitos casos de uso, incluindo:

  • Classificação.
  • Tradução.
  • Resumo.
  • Geração aumentada por recuperação, que é discutida na próxima seção.

Geração aumentada de recuperação

A geração aumentada por recuperação (RAG) é um padrão de arquitetura que usa engenharia de solicitação para incorporar dados específicos de domínio como dados de fundamentação para um modelo de linguagem. O modelo de linguagem é treinado em relação a um conjunto específico de dados. Sua carga de trabalho pode exigir raciocínio sobre dados específicos de sua empresa, clientes ou domínio. Em soluções de RAG, seus dados são consultados e os resultados são fornecidos ao modelo de linguagem como parte da solicitação, geralmente por meio de uma camada de orquestração.

Uma implementação comum do RAG é dividir seus documentos em partes e armazená-los em um repositório de vetores junto com metadados. Os repositórios de vetores, como a Pesquisa de IA do Azure permitem que você execute pesquisas de similaridade textual e de vetor para retornar resultados contextualmente relevantes. As soluções RAG também podem usar outros armazenamentos de dados para retornar dados de fundamentação.

O diagrama a seguir ilustra a arquitetura de RAG:

Diagrama que mostra uma arquitetura de RAG.

Estendendo MLOps para padrões técnicos de IA generativa

Esta seção descreve os seguintes aspectos-chave das fases de loop interno e externo para os padrões técnicos de IA generativa e ajuda a entender onde você pode aplicar seus investimentos existentes em MLOps e onde você precisa estendê-los:

DataOps

Tanto o MLOps quanto o GenAIOps aplicam os fundamentos do DataOps para criar fluxos de trabalho extensíveis e reproduzíveis que garantem que os dados sejam limpos, transformados e formatados corretamente para experimentação e avaliação. Reprodutibilidade de fluxo de trabalho e controle de versão de dados são recursos importantes do DataOps para todos os padrões técnicos. As origens, os tipos e a intenção dos dados dependem do padrão.

Treinamento e otimização

Esse padrão técnico deve aproveitar totalmente os investimentos existentes do DataOps que você fez como parte da implementação do MLOps. A reprodutibilidade e o controle de versão de dados permitem que você experimente diferentes dados de engenharia de recursos, compare o desempenho dos diferentes modelos e reproduza resultados.

RAG e engenharia de solicitação

A intenção dos dados em soluções RAG é oferecer dados de base apresentados ao modelo de linguagem como parte de um prompt. As soluções RAG geralmente exigem o processamento de documentos grandes em uma coleção de partes semanticamente relevantes e de tamanho certo e a persistência dessas partes em um repositório de vetores. Consulte Projetando e desenvolvendo uma solução RAG para obter detalhes. A reprodutibilidade e o controle de versão de dados para soluções RAG permitem que você experimente diferentes estratégias de agrupamento e incorporação, compare o desempenho e reverta para versões anteriores.

Os pipelines de dados para agrupamento de documentos não fazem parte do DataOps em MLOps tradicionais, portanto, você precisa estender sua arquitetura e operações. Os pipelines de dados podem ler dados de fontes diferentes que incluem dados estruturados e não estruturados. Eles também podem gravar os dados transformados em destinos diferentes. Você deve estender sua arquitetura para incluir os bancos de dados que você usa para dados de referência. Os armazenamentos de dados comuns para esses padrões são repositórios de vetores, como a Pesquisa de IA.

Assim como no treinamento e no ajuste fino, você pode usar os pipelines do Azure Machine Learning ou outras ferramentas de pipelining de dados para orquestrar os estágios de agrupamento. Você pode aproveitar os prompt flows nos pipelines do Azure Machine Learning para processar e enriquecer seus dados de maneira consistente e reproduzível. Você também deve estender suas operações para manter a atualização e a validade dos índices de pesquisa em seus armazenamentos de dados.

Experimentação

A experimentação, uma parte do ciclo interno, é o processo iterativo de criar, avaliare refinar sua solução. As seções a seguir discutem a experimentação para os padrões técnicos comuns de IA generativa.

Treinamento e otimização

Ao ajustar um modelo de linguagem existente ou treinar um modelo de linguagem pequeno, você pode aproveitar os investimentos atuais em MLOps. Por exemplo, os pipelines do Azure Machine Learning fornecem um kit de ferramentas para conduzir experimentos de forma eficiente e eficaz. Esses pipelines permitem que você gerencie todo o processo de ajuste fino, desde o pré-processamento de dados até o treinamento e a avaliação do modelo.

RAG e engenharia de solicitação

A experimentação com engenharia de solicitação e cargas de trabalho RAG requer a extensão de seus investimentos em MLOps. Para esses padrões técnicos, a carga de trabalho não termina com o modelo. A carga de trabalho requer um orquestrador, que é um sistema que pode executar lógica, chamar armazenamentos de dados para informações necessárias, como os dados fundamentais, gerar prompts, chamar modelos de linguagem e muito mais. Os armazenamentos de dados e os índices nos armazenamentos também fazem parte da carga de trabalho. Estenda suas operações para controlar esses aspectos da carga de trabalho.

Existem várias dimensões a serem experimentadas para soluções de engenharia de solicitação, incluindo diferentes instruções, personas, exemplos, restrições e técnicas avançadas, como encadeamento de solicitações. Quando você experimentar soluções RAG, pode testar áreas adicionais:

  • Estratégia de agrupamento
  • O que e como enriquecer agrupamentos
  • Seu modelo de incorporação
  • Configuração do índice de pesquisa
  • O que pesquisas realizar (vetorial, texto completo, híbrido e assim por diante)

Conforme discutido em DataOps, a reprodutibilidade e o controle de versão de dados são as chaves para a experimentação. Uma boa estrutura de experimentação permite que você armazene entradas, como alterações em hiperparâmetros ou solicitações, juntamente com saídas a serem usadas ao avaliar o experimento.

Assim como em seu ambiente MLOps existente, você pode aproveitar frameworks como os pipelines do Azure Machine Learning. Os pipelines do Azure Machine Learning têm recursos que dão suporte à indexação, integrando-se a repositórios de vetores, como a Pesquisa de IA. Seu ambiente GenAIOps pode se beneficiar desses recursos de pipeline e combiná-los com funcionalidades de fluxo de prompts que gerenciam a engenharia de prompts e a lógica de pré-processamento personalizada.

Avaliação e experimentação

A avaliação é fundamental no processo de experimentação iterativa de compilação, avaliação e refinamento de sua solução. A avaliação de suas alterações fornece o feedback necessário para fazer seus refinamentos ou validar se a iteração atual atende aos seus requisitos. As seções a seguir discutem a avaliação na fase de experimentação para os padrões técnicos comuns de IA generativa.

Treinamento e otimização

Para a avaliação de modelos de IA generativos ajustados ou treinados, você deve tirar proveito de seus investimentos atuais em MLOps. Por exemplo, se você usar pipelines do Azure Machine Learning para orquestrar o treinamento do seu modelo de aprendizado de máquina, poderá usar os mesmos recursos de avaliação para ajustar modelos de linguagem fundamentais ou treinar novos modelos de linguagem menores. Esses recursos incluem o componente Avaliar Modelo, que calcula métricas de avaliação padrão do setor para tipos de modelo específicos e compara os resultados entre os modelos.

RAG e engenharia de solicitação

Você precisa estender seus investimentos existentes em MLOps para avaliar soluções de IA generativa. Você pode usar ferramentas como o Prompt Flow, que fornece uma estrutura para avaliação. Os prompt flows possibilitam que as equipes definam uma lógica de avaliação personalizada, especificando critérios e métricas para avaliar o desempenho de várias variantes de solicitação e modelos de linguagem grande (LLMs). Essa abordagem estruturada permite comparar diferentes configurações lado a lado, como hiperparâmetros ou variações arquitetônicas, para identificar a configuração ideal para tarefas específicas.

Os trabalhos no prompt flow capturam automaticamente dados de entrada e saída durante todo o processo de experimentação para criar um registro de avaliação abrangente. Você pode obter insights e identificar configurações promissoras que podem informar iterações futuras analisando esses dados. Você pode acelerar o desenvolvimento de suas soluções de IA generativa usando fluxos de comandos para realizar experimentos eficientes e sistemáticos.

O processo de experimentação é o mesmo, independentemente do caso de uso da sua solução de IA generativa. Esses casos de uso incluem classificação, resumo, tradução e até mesmo RAG. A diferença importante são as métricas que você usa para avaliar os diferentes casos de uso. Confira a seguir algumas métricas, com base no caso de uso, a serem consideradas.

  • Tradução: BLEU
  • Sumarização: ROUGE. BLEU, BERTScore, METEOR
  • Classificação: Precisão, Revocação, Exatidão, Entropia cruzada
  • RAG: fundamentação, relevância

Observação

Consulte avaliação de ponta a ponta do LLM para obter mais informações sobre como avaliar modelos de linguagem e soluções RAG.

Em geral, as soluções de IA generativa estendem as responsabilidades da equipe de aprendizado de máquina, desde modelos de treinamento até engenharia de solicitação e gerenciamento de dados de fundamentação. Como a engenharia de solicitação e a experimentação e avaliação RAG não exigem necessariamente cientistas de dados, é tentador usar outras funções, como engenheiros de software e engenheiros de dados, para realizar essas funções. Você terá desafios se omitir cientistas de dados do processo de experimentação com soluções de engenharia de solicitação e RAG. Outras funções não são comumente treinadas sobre como avaliar cientificamente os resultados, como muitos cientistas de dados. Leia a série de artigos de sete partes Projeto e desenvolvimento de uma solução para entender a complexidade de projetar soluções de IA generativas.

Investir em soluções de IA generativa permite que você tire um pouco da pressão de seus recursos de ciência de dados. O papel dos engenheiros de software aumenta nessas soluções. Por exemplo, os engenheiros de software são ótimos profissionais para gerenciar a responsabilidade de orquestração em soluções de IA generativas e são hábeis em configurar as métricas de avaliação em ferramentas como o prompt flow. É importante que os cientistas de dados revisem esse trabalho. Eles têm o treinamento e a experiência para entender como avaliar adequadamente os experimentos.

Implantação

Algumas soluções de IA generativa envolvem a implantação de modelos treinados personalizados ou o ajuste fino de modelos existentes, mas outras não. Para soluções de IA generativa, você precisa incluir as tarefas adicionais de implantação dos orquestradores e quaisquer armazenamentos de dados. As seções a seguir discutem a implantação para os padrões técnicos comuns de IA generativa.

Treinamento e otimização

Use seus investimentos existentes em MLOps, com alguns possíveis ajustes, para implantar modelos de IA generativa e ajustar modelos fundamentais. Por exemplo, para ajustar um modelo de linguagem grande no OpenAI do Azure, você precisa garantir que seus conjuntos de dados de treinamento e validação estejam no formato JSONL e carregar os dados por meio de uma API REST. Você também precisa criar um trabalho de ajuste fino. Para implantar um modelo de linguagem pequeno, você pode aproveitar seus investimentos existentes em MLOps.

RAG e engenharia de solicitação

Para o RAG e a engenharia de solicitação, há preocupações adicionais, incluindo lógica de orquestração, alterações em armazenamentos de dados, como índices e esquemas, e alterações na lógica do pipeline de dados. A lógica de orquestração normalmente é encapsulada em estruturas como Prompt Flow, Kernel Semântico ou LangChain. Você pode implantar o orquestrador em diferentes recursos de computação, incluindo os recursos nos quais você pode implantar modelos personalizados no momento. Consulte arquitetura de chat de ponta a ponta do OpenAI do Azure para ver exemplos de implantação de prompt flow em pontos de extremidade online gerenciados do Azure Machine Learning ou Serviços de Aplicativos do Azure. Para implantar no Serviço de Aplicativo, a arquitetura de chat do OpenAI do Azure empacota o fluxo e suas dependências como um contêiner, uma prática que aumenta a portabilidade e a consistência em diferentes ambientes.

Implantações de alterações em recursos de banco de dados, como alterações em modelos de dados ou índices, são novas tarefas que precisam ser tratadas no GenAIOps. Uma prática comum ao trabalhar com grandes modelos de linguagem é usar um gateway na frente do LLM.

Muitas arquiteturas de IA generativa que consomem modelos de linguagem hospedados na plataforma, como aqueles atendidos pela OpenAI do Azure, incluem um gateway como API Management do Azure. Os casos de uso do gateway incluem balanceamento de carga, autenticação e monitoramento. O gateway pode desempenhar um papel na implantação de modelos recém-treinados ou ajustados, permitindo que você distribua progressivamente novos modelos. O uso de um gateway, juntamente com o controle de versão do modelo, permite minimizar o risco ao implantar alterações e reverter para versões anteriores quando ocorrerem problemas.

As implantações de elementos específicos de IA generativa, como o orquestrador, devem seguir procedimentos operacionais adequados, como:

  • Testes rigorosos, incluindo testes de unidade.
  • Testes de integração.
  • Testes A/B.
  • Testes de ponta a ponta.
  • Distribua estratégias como implantações canário ou azul/verde.

Como as responsabilidades de implantação para aplicativos de IA generativa vão além da implantação do modelo, você pode precisar de funções de trabalho adicionais para gerenciar a implantação e o monitoramento de itens como a interface do usuário, o orquestrador e os armazenamentos de dados. Essas funções geralmente estão alinhadas aos conjuntos de habilidades do engenheiro de DevOps.

Inferência e monitoramento

A inferência é o processo de passar a entrada para um modelo treinado e implantado, que gera uma resposta. Você deve monitorar as soluções tradicionais de aprendizado de máquina e IA generativa de três perspectivas: monitoramento de operações, aprendizado com a produção e gerenciamento de recursos.

Monitoramento de operações

O monitoramento de operações é o processo de observar as operações contínuas do sistema, incluindo operações de dados (DataOps) e treinamento de modelos. Esse tipo de monitoramento procura desvios, incluindo erros, alterações nas taxas de erro e alterações nos tempos de processamento.

Para o treinamento e ajuste fino de modelos, você geralmente observa as operações de dados para processar dados de características, treinar modelos e ajustar finamente. O monitoramento desses processos de loop interno deve aproveitar seus investimentos existentes em MLOps e DataOps.

Para engenharia de solicitação em soluções de IA generativa, você tem preocupações adicionais de monitoramento. Você deve monitorar os pipelines de dados que processam os dados de fundamentação ou outros dados usados para gerar solicitações. Esse processamento pode incluir operações de armazenamento de dados, como compilação e recompilação de índices.

Aprendizado com a produção

Um aspecto crítico para o monitoramento durante o estágio de inferência é aprender com a produção. O monitoramento de modelos tradicionais de aprendizado de máquina rastreia métricas como acurácia, precisão e recall. Um objetivo fundamental é evitar o desvio de previsão. As soluções que usam modelos generativos para fazer previsões, por exemplo, usando um modelo GPT para classificação, devem aproveitar seus investimentos de monitoramento de MLOps existentes.

Soluções que usam modelos generativos para raciocinar sobre dados de referência usam métricas como fundamentação, integridade, utilização e relevância. O objetivo é garantir que o modelo responda totalmente à consulta e baseie a resposta no contexto. Aqui, você precisa tentar evitar problemas como descompasso de dados. Você deseja garantir que os dados de fundamentação e a solicitação que você está fornecendo ao modelo sejam relevantes ao máximo para a consulta do usuário.

Soluções que usam modelos generativos para tarefas não preditivas, como soluções RAG, geralmente se beneficiam de feedback de usuários finais para avaliar sentimentos de utilidade. As interfaces do usuário podem capturar feedback, como polegares para cima ou para baixo, e esses dados podem ser usados para avaliar periodicamente as respostas.

Um padrão comum para soluções de IA generativa é implantar um gateway na frente dos modelos generativos. Um dos casos de uso do gateway é para monitorar os modelos fundamentais. Você pode usar o gateway para registrar solicitações de entrada e saída.

Outra área importante a ser monitorada para soluções generativas é a segurança do conteúdo. O objetivo é moderar as respostas e detectar conteúdo prejudicial ou indesejável. O estúdio de Segurança de Conteúdo de IA do Azure é um exemplo de uma ferramenta que você pode usar para moderar o conteúdo.

Gerenciamento de recursos

As soluções generativas que usam modelos expostos como um serviço, como o OpenAI do Azure, têm preocupações de gerenciamento de recursos diferentes dos modelos que você implanta por conta própria. Para modelos expostos como um serviço, não é preciso se preocupar com a infraestrutura. Em vez disso, concentre-se na sua taxa de transferência de serviço, cota e controle de fluxo. O Azure OpenAI usa tokens para cobrança, controle de tráfego e cotas. Você deve monitorar o uso da cota para gerenciamento de custos e eficiência de desempenho. O OpenAI do Azure permite que você registre o uso do token.

Ferramentas

Muitos profissionais de MLOps padronizaram um kit de ferramentas para organizar as várias atividades em torno de automação, rastreamento, implantação, experimentação e assim por diante para abstrair as preocupações comuns e detalhes de implementação desses processos. Uma plataforma unificada comum é o MLflow. Antes de procurar novas ferramentas para dar suporte a padrões GenAIOps, você deve examinar as ferramentas MLOps existentes para avaliar seu suporte para IA generativa. Por exemplo, o MLflow dá suporte a uma ampla variedade de recursos para modelos de linguagem.

Modelos de maturidade MLOps e GenAIOps

Você pode ter usado o modelo de maturidade do MLOps para avaliar a maturidade das suas operações de aprendizado de máquina e do ambiente atual. À medida que você estende seus investimentos em MLOps para cargas de trabalho de IA generativa, você deve usar o modelo de maturidade GenAIOps para avaliar essas operações. Você talvez queira combinar os dois modelos de maturidade, mas recomendamos que meça cada um de forma independente. MLOps e GenAIOps evoluirão independentemente um do outro. Por exemplo, você pode estar no nível quatro no modelo de maturidade do MLOps, mas no nível um para IA generativa.

Resumo

À medida que você começa a estender seus investimentos em MLOps para incluir IA generativa, é importante entender que você não precisa começar do zero. Você pode usar seus investimentos existentes em MLOps para alguns dos padrões técnicos de IA generativa. O ajuste fino de modelos generativos é um ótimo exemplo. Há áreas das soluções de IA generativa, como a engenharia de prompt e o RAG, que são processos novos, portanto, é necessário expandir seus investimentos nas operações existentes e adquirir novas habilidades.

Colaboradores

Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.

Para ver perfis não públicos do LinkedIn, entre no LinkedIn.

Próximas etapas