Partilhar via


GenAIOps para praticantes de MLOps

Este artigo fornece orientação para equipes de carga de trabalho que têm investimentos existentes em MLOps e estão interessadas em estender esses investimentos para incluir IA generativa em sua carga de trabalho. Para operacionalizar uma carga de trabalho de IA generativa, você precisa estender seus investimentos em MLOps com GenAIOps (às vezes conhecido estritamente como LLMOps). Este artigo descreve padrões técnicos que são comuns entre o aprendizado de máquina tradicional e cargas de trabalho de IA generativa e padrões específicos para IA generativa. O artigo ajuda você a entender onde você pode aplicar os investimentos existentes na operacionalização e onde você precisa estender esses investimentos.

Padrões técnicos de IA generativa

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

  • Foco em modelos generativos - As cargas de trabalho tradicionais de aprendizado de máquina centram-se no treinamento de novos modelos que são treinados para executar tarefas específicas. As cargas de trabalho de IA generativa consomem modelos generativos que podem ser usados para abordar uma maior variedade de casos de uso e, em alguns casos, são multimodais.

  • Foco na extensão dos modelos - O principal ativo no aprendizado de máquina tradicional é o modelo implantado. O acesso ao modelo é fornecido ao código do cliente em uma ou mais cargas de trabalho, mas a carga de trabalho não faz parte do processo MLOps. Com soluções de IA generativa, uma faceta chave da solução é o prompt que é fornecido ao modelo generativo. O prompt deve ser composto e pode conter dados de um ou mais armazenamentos de dados. O sistema que orquestra a lógica, chama para os vários back-ends, gera o prompt e chama para o modelo generativo faz parte do sistema de IA generativa que você deve governar com GenAIOps.

Embora algumas soluções de IA generativa usem práticas tradicionais de aprendizado de máquina, como treinamento de modelos 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é-treino e afinação fina
  • Engenharia de pedidos
  • Geração aumentada de recuperação (RAG)

Formação e aperfeiçoamento de modelos linguísticos

Atualmente, muitas soluções de IA generativa usam modelos de linguagem de base existentes que não exigem ajuste fino antes do uso. Dito isso, há casos de uso que podem e se beneficiam do ajuste fino de um modelo de base ou do treinamento de um novo modelo de IA generativa, como um modelo de linguagem pequena (SLM).

Treinar um novo SLM ou ajustar um modelo de base generativa são logicamente os mesmos processos que treinar modelos tradicionais de aprendizado de máquina. Esses processos devem usar seus investimentos MLOps existentes.

Engenharia de pedidos

A engenharia de prompt inclui todos os processos envolvidos na geração de um prompt que é enviado como entrada para um modelo generativo. Geralmente, há um orquestrador que controla um fluxo de trabalho que gera o prompt. O orquestrador pode chamar qualquer número de armazenamentos de dados para coletar informações, como dados de aterramento, e aplicar a lógica necessária para gerar o prompt mais eficaz. O orquestrador é então implantado como um ponto de extremidade de API que é acessado pelo código do cliente em um aplicativo inteligente.

Diagrama mostrando a arquitetura de engenharia imediata.

Figura 1. Arquitetura de engenharia rápida

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

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

Geração aumentada por recuperação

A geração aumentada de recuperação (RAG) é um padrão arquitetônico que usa engenharia de prompt cujo objetivo é usar dados específicos do domínio como dados de base 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. Com as soluções RAG, seus dados são consultados e os resultados são fornecidos ao modelo de linguagem como parte do prompt, geralmente por meio de uma camada de orquestração.

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

Diagrama mostrando a arquitetura de geração aumentada de recuperação (RAG).

Figura 2. Arquitetura de geração aumentada de recuperação (RAG)

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

Nesta seção, examinamos os seguintes aspectos-chave das fases de loop interno e externo para os padrões técnicos de IA generativa para ver onde você pode aplicar seus investimentos MLOps existentes e onde precisa estendê-los:

DataOps

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

Formação e afinação fina

Esse padrão técnico deve usar totalmente seus investimentos existentes em DataOps que você fez como parte de sua implementação de MLOps. A reprodutibilidade e o controle de versão de dados permitem experimentar diferentes dados de engenharia de recursos, comparar o desempenho de diferentes modelos e reproduzir resultados.

RAG e engenharia imediata

A intenção dos dados nas soluções RAG é fornecer dados de aterramento que são 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 de tamanho certo e a persistência dessas partes em um armazenamento vetorial. 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 fragmentação e incorporação, compare o desempenho e reverta para versões anteriores.

Os pipelines de dados para fragmentação 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 várias fontes diferentes com 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 armazenamentos de dados usados para fundamentar dados. Os armazenamentos de dados comuns para esses padrões são repositórios vetoriais como o Azure AI Search. Como no treinamento e ajuste fino, você pode aproveitar os pipelines do Azure Machine Learning ou outras ferramentas de pipelining de dados para orquestrar os estágios de fragmentação. Você pode aproveitar os fluxos de prompt 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

Como parte do loop interno, a experimentação é o processo iterativo de construir, avaliar (abordado na próxima seção) e refinar sua solução. As seções a seguir discutem a experimentação para os padrões técnicos comuns de IA generativa.

Formação e afinação fina

Ao ajustar um modelo de linguagem existente ou treinar um modelo de linguagem pequena, você pode utilizar seus investimentos atuais em MLOps. Por exemplo, os pipelines do Azure Machine Learning oferecem um kit de ferramentas robusto 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 imediata

A experimentação com engenharia imediata 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. Sua carga de trabalho requer um orquestrador, que é um sistema que sabe como executar lógica, chamar armazenamentos de dados para obter informações necessárias, como fundamentar dados, gerar prompts, chamar modelos de linguagem e muito mais. Os armazenamentos de dados e os índices nos repositórios também fazem parte da carga de trabalho. Suas operações precisam se estender para controlar esses aspetos da carga de trabalho.

Há várias dimensões para experimentar para soluções de engenharia rápidas, incluindo diferentes instruções, personas, exemplos, restrições e técnicas avançadas, como encadeamento rápido. Quando você está experimentando soluções RAG, há áreas adicionais para experimentar, incluindo as seguintes áreas:

  • Estratégia de fragmentação
  • O que e como você deve enriquecer pedaços
  • O seu modelo de incorporação
  • Configuração do seu índice de pesquisa
  • O que pesquisas realizar (vetor, texto completo, híbrido e assim por diante)

Como discutido em DataOps, as chaves para a experimentação são a reprodutibilidade e o versionamento de dados. Uma boa estrutura de experimentação permite armazenar entradas, como alterações em hiperparâmetros ou prompts, juntamente com saídas a serem usadas ao avaliar o experimento.

Como com seu ambiente MLOps existente, você pode tirar proveito de estruturas como pipelines do Azure Machine Learning. Os pipelines do Azure Machine Learning têm recursos que dão suporte à indexação, integrando-se com repositórios de vetores, como o Azure AI Search. Seu ambiente GenAIOps pode aproveitar esses recursos de pipelines e combiná-los com recursos de fluxo de prompt que gerenciam engenharia de prompt e lógica de pré-processamento personalizada.

Avaliação e experimentação

A avaliação é fundamental no processo de experimentação iterativa de construir, avaliar e refinar 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.

Formação e afinação fina

A avaliação de modelos de IA generativa ajustados ou treinados deve utilizar seus investimentos existentes em MLOps. Por exemplo, se você estiver usando pipelines do Azure Machine Learning para orquestrar seu treinamento de modelo de aprendizado de máquina, poderá aproveitar os mesmos recursos de avaliação para ajustar modelos de linguagem básica ou treinar novos modelos de linguagem pequena. Esses recursos incluem aproveitar o componente Avaliar modelo que calcula métricas de avaliação padrão do setor para tipos de modelo específicos e comparar resultados entre modelos.

RAG e engenharia imediata

Você tem que estender seus investimentos existentes em MLOps para avaliar soluções de IA generativa. Você pode tirar proveito de ferramentas como fluxo de prompt que oferece uma estrutura robusta para avaliação. Os fluxos de prompt permitem que as equipes definam a lógica de avaliação personalizada, especificando critérios e métricas para avaliar o desempenho de várias variantes de prompt e modelos de linguagem (LLMs). Essa abordagem estruturada permite a comparação lado a lado de diferentes configurações, como ajustes de hiperparâmetros ou variações arquitetônicas, para identificar a configuração ideal para tarefas específicas.

Os trabalhos em fluxo imediato capturam automaticamente os dados de entrada e saída durante todo o processo de experimentação, criando 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 conduzindo experimentações eficientes e sistemáticas usando fluxos imediatos.

O processo de experimentação é o mesmo, independentemente do caso de uso de sua solução de IA generativa, como classificação, sumarização, tradução ou até mesmo RAG. A diferença importante são as métricas que você usa para avaliar os diferentes casos de uso. A seguir estão alguns exemplos de métricas que você deve considerar por caso de uso:

  • Tradução: BLEU
  • Resumo: ROUGE. BLEU, BERTScore, METEORO
  • Classificação: Precisão, Recordação, Precisão, Entropia cruzada
  • RAG: Fundamentação, Relevância

Nota

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

As soluções de IA generativa, em geral, ampliam as responsabilidades da equipe de aprendizado de máquina, desde modelos de treinamento até engenharia imediata e gerenciamento de dados de aterramento. Como a engenharia rápida e a experimentação e avaliação RAG não exigem necessariamente cientistas de dados, é tentador executar essas funções com outras funções, como engenheiros de software e engenheiros de dados. Você enfrentará desafios quando omitir cientistas de dados de experimentarem soluções prontas de engenharia 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 Projetando e desenvolvendo uma solução RAG para entender a complexidade de projetar soluções generativas de IA.

Investir em soluções de IA generativa permite que você tire parte da pressão de seus recursos de ciência de dados. O papel dos engenheiros de software cresce nestas soluções. Por exemplo, os engenheiros de software são ótimos recursos para gerenciar a responsabilidade de orquestração em soluções de IA generativa e são hábeis em configurar as métricas de avaliação em ferramentas como fluxo imediato. É importante que esse trabalho seja feito sob o olhar atento de seus cientistas de dados. Os cientistas de dados têm o treinamento e a experiência para entender como avaliar adequadamente os experimentos.

Implementação

Algumas soluções de IA generativa envolvem a implantação de modelos treinados personalizados ou o ajuste fino de modelos existentes, enquanto outras não. As soluções de IA generativa adicionam responsabilidade adicional para implantar os 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.

Formação e afinação fina

A implantação de modelos generativos de IA e o ajuste fino de modelos fundamentais devem usar seus investimentos existentes em MLOps, com alguns ajustes possíveis. Por exemplo, para ajustar um modelo de linguagem grande no Azure OpenAI, você precisa garantir que seus conjuntos de dados de treinamento e validação estejam no formato JSONL e carregue os dados por meio de uma API REST. Você também precisa criar um trabalho de ajuste fino. A implantação de um modelo de linguagem pequena treinado pode tirar proveito de seus investimentos existentes em MLOps.

RAG e engenharia imediata

Para RAG e engenharia de prompt, há preocupações adicionais que você precisa implantar, incluindo a lógica de orquestração, alterações em armazenamentos de dados, como índices ou esquemas, e alterações na lógica de pipeline de dados. A lógica de orquestração é normalmente encapsulada em estruturas como prompt flow, Semantic Kernel 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 Linha de base Arquitetura de referência de chat de ponta a ponta do Azure OpenAI para obter exemplos de implantação de fluxo de prompt para pontos de extremidade online gerenciados do Azure Machine Learning ou para o Serviço de Aplicativo do Azure. Para implantar no Serviço de Aplicativo do Azure, a arquitetura de chat de linha de base do Azure OpenAI 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 responsabilidades que precisam ser tratadas no GenAIOps. Uma prática comum ao trabalhar com modelos de linguagem grandes é usar um gateway na frente do LLM.

Muitas arquiteturas de IA generativas que consomem modelos de linguagem hospedados na plataforma, como as servidas pelo Azure OpenAI, incluem um gateway como o Gerenciamento de API do Azure. Os casos de uso do gateway incluem balanceamento de carga, autenticação, monitoramento e muito mais. O gateway pode desempenhar um papel na implantação de modelos recém-treinados ou ajustados, permitindo que você implante 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 houver problemas.

Implantações de preocupações específicas de IA generativa, como o orquestrador, devem seguir procedimentos operacionais adequados, como:

  • Testes rigorosos, incluindo testes unitários
  • Testes de integração
  • Testes A/B
  • Testes ponto a ponto
  • Implementar estratégias, tais como implantações canárias ou azuis/verdes

Como as responsabilidades de implantação para aplicativos generativos de IA vão além da implantação de modelos, você pode precisar de funções de trabalho adicionais para gerenciar a implantação e o monitoramento de coisas 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 monitorização

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 perspetivas: monitoramento operacional, aprendizado com a produção e gerenciamento de recursos.

Acompanhamento operacional

O monitoramento operacional diz respeito à observação das operações em curso do sistema, incluindo operações de dados (DataOps) e treinamento de modelos. Você está procurando desvios, incluindo erros, alterações nas taxas de erro e alterações nos tempos de processamento.

Para treinamento de modelo e ajuste fino, os processos operacionais geralmente observam as operações de dados em torno do processamento de dados de recursos, treinamento de modelos e ajuste fino. O monitoramento dessas preocupações de loop interno deve usar seus investimentos existentes em MLOps e DataOps.

Para uma engenharia rápida 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 aterramento ou outros dados usados para gerar prompts. Esse processamento pode incluir operações de armazenamento de dados, como a criação ou reconstrução de índices.

Aprender com a produção

Um aspeto crítico para o monitoramento na etapa de inferência é aprender com a produção. O monitoramento de modelos tradicionais de aprendizado de máquina rastreia métricas como precisão, precisão e recuperação. Um objetivo fundamental é se proteger contra desvios de previsão. As soluções que estão usando modelos generativos para fazer previsões, por exemplo, usando um modelo GPT para classificação, devem usar seus investimentos de monitoramento de MLOps existentes.

As soluções que estão usando modelos generativos para raciocinar sobre dados de aterramento usam métricas como fundamentação, completude, utilização e relevância. O objetivo é garantir que o modelo esteja respondendo plenamente à consulta e baseando a resposta em seu contexto. Aqui, você está se protegendo contra coisas como desvio de dados. Você deseja garantir que os dados de aterramento e o prompt que você está fornecendo ao modelo sejam o mais relevantes para a consulta do usuário.

As soluções que usam modelos generativos para tarefas não preditivas, como as soluções RAG, geralmente se beneficiam do feedback humano para avaliar os sentimentos de utilidade dos usuários finais. As interfaces de usuário podem capturar feedback, como polegares para cima/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. O gateway pode ser usado para registrar prompts de entrada e saída.

Outra área fundamental para monitorar soluções generativas é a segurança de conteúdo. O objetivo é moderar as respostas e detetar conteúdos nocivos ou indesejáveis. O Azure AI Content Safety Studio é um exemplo de uma ferramenta que você pode usar para moderar conteúdo.

Gestão de recursos

Para soluções generativas que estão usando modelos expostos como um serviço, como o Azure OpenAI, têm preocupações de gerenciamento de recursos diferentes dos modelos que você mesmo implanta. Você não está preocupado com a infraestrutura, mas sim com sua taxa de transferência de serviço, cota e limitação. O Azure OpenAI usa o conceito de tokens para cobrança, limitação e cotas. Você deve monitorar o uso da cota para gerenciamento de custos e eficiência de desempenho. O Azure OpenAI 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 muitas preocupações comuns e detalhes de implementação desses processos. Uma plataforma unificada comum é o MLflow. Antes de procurar novas ferramentas para suportar padrões GenAIOps, você deve olhar para suas ferramentas MLOps existentes para avaliar seu suporte para IA generativa. Por exemplo, o MLflow suporta uma ampla gama de recursos para modelos de linguagem.

Modelos de maturidade MLOps e GenAIOps

Como parte de seus investimentos atuais em MLOps, você pode ter usado o modelo de maturidade de MLOps para avaliar a maturidade de suas operações e ambiente de aprendizado de máquina. À medida que você estende seus investimentos em MLOps para cargas de trabalho de IA generativas, você deve usar o modelo de maturidade GenAIOps para avaliar essas operações. Você pode ficar tentado a tentar combinar os dois modelos de maturidade, mas é nossa recomendação medir cada um de forma independente. MLOps e GenAIOps evoluirão independentemente um do outro. Como exemplo, você pode estar no nível quatro no modelo de maturidade MLOps, mas apenas começando com IA generativa e pode estar apenas no nível um.

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 de novo. 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. Existem áreas de soluções de IA generativa, como engenharia imediata e RAG, que são novos processos líquidos e você terá que estender seus investimentos em operações existentes e ganhar novas habilidades.

Contribuidores

Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.

  • Paulo Lacerda - Portugal | Arquiteto de Soluções na Nuvem - Microsoft
  • Marco Aurelio Cardoso - Brasil | Engenheiro de Software Sênior - Microsoft
  • Luiz Braz - Brasil | Especialista Técnico Sr. - Microsoft
  • Ritesh Modi - Brasil | Engenheiro de Software Principal - Microsoft

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

Próximo passo