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 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 conhecidos como LLMOps). Este artigo descreve os padrões técnicos comuns entre as 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.

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:

  • Foco em modelos generativos: as cargas de trabalho tradicionais de aprendizado de máquina se concentram no treinamento de novos modelos treinados para executar tarefas específicas. As cargas de trabalho de IA generativa consomem modelos generativos que podem ser usados para lidar com uma variedade maior 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 importante da solução é a solicitação fornecida ao modelo generativo. 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 aprendizado de máquina, 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. 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).

O treinamento de um novo SLM ou 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 chamar qualquer número de armazenamentos de dados para coletar informações, como dados de fundamentação, e aplicar a lógica necessária para gerar uma solicitação 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 que mostra a arquitetura de engenharia de solicitação.

Figura 1. Arquitetura de 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 cujo objetivo é usar 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. Com as soluções 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.

Diagrama que mostra a arquitetura de geração aumentada por recuperação (RAG).

Figura 2. Arquitetura de geração aumentada por 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 existentes em MLOps e onde você 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.

Treinamento e ajuste fino

Esse padrão técnico deve usar totalmente os investimentos existentes em 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 de diferentes modelos e reproduza resultados.

RAG e engenharia de solicitação

A intenção dos dados em soluções RAG é fornecer dados de fundamentação que são apresentados ao modelo de linguagem como parte de uma solicitação. 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 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 que você usa para dados de fundamentação. Os armazenamentos de dados comuns para esses padrões são repositórios de vetores, como a Pesquisa de IA do Azure. Assim como no treinamento e no ajuste fino, você pode aproveitar 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

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

Treinamento e ajuste fino

Ao usar o ajuste fino em um modelo de linguagem existente ou treinar um modelo de linguagem pequeno, 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 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. Sua carga de trabalho requer um orquestrador, que é um sistema que sabe como executar lógica, chamar armazenamentos de dados para obter as informações necessárias, como dados de fundamentação, gerar solicitações, chamar modelos de linguagem e muito mais. Os armazenamentos de dados e os índices nos armazenamentos também fazem parte da carga de trabalho. Suas operações precisam se estender 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ê está experimentando soluções RAG, há áreas adicionais para experimentar, incluindo as seguintes áreas:

  • Estratégia de agrupamento
  • O que é e como você deve enriquecer as partes
  • 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, as chaves para a experimentação são a reprodutibilidade e o controle de versão de dados. 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 no ambiente de MLOps existente, você pode aproveitar estruturas como 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 do Azure. Seu ambiente GenAIOps pode aproveitar esses recursos de pipelines e combiná-los com recursos de prompt flow que gerenciam a engenharia de solicitação 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 ajuste fino

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 o treinamento do modelo de aprendizado de máquina, poderá aproveitar os mesmos recursos de avaliação para ajustar modelos de linguagem base ou treinar novos modelos de linguagem pequenos. 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 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 aproveitar ferramentas como o prompt flow, que oferece uma estrutura robusta para avaliação. Os prompt flows habilitam 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 (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 no prompt flow capturam automaticamente 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 prompt flows.

O processo de experimentação é o mesmo, independentemente do caso de uso da 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. Veja a seguir alguns exemplos de métricas que você deve considerar por caso de uso:

  • 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.

As soluções de IA generativa, em geral, 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 executar essas funções com outras funções, como engenheiros de software e engenheiros de dados. Você enfrentará desafios ao omitir os cientistas de dados de experimentar 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 cresce nessas 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 adeptos de configurar as métricas de avaliação em ferramentas como o prompt flow. É importante que esse trabalho seja feito sob a supervisão de seus cientistas de dados. Os cientistas de dados 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, 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.

Treinamento e ajuste fino

A implantação de modelos de IA generativos e o ajuste fino de modelos fundamentais devem usar seus investimentos existentes em MLOps, com alguns possíveis ajustes. Por exemplo, para o ajuste fino de 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. A implantação de um modelo de linguagem pequena treinado pode aproveitar seus investimentos existentes em MLOps.

RAG e engenharia de solicitação

Para RAG e engenharia de solicitação, 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 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 referência de chat de ponta a ponta do OpenAI do Azure de linha de base para obter exemplos de implantação do fluxo de prompt em pontos de extremidade online gerenciados do Azure Machine Learning ou Serviço de Aplicativo do Azure. Para implantar no Serviço de Aplicativo do Azure, a arquitetura de chat do OpenAI do Azure de linha de base 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 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 o Gerenciamento da 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ê 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 houver problemas.

As implantações de preocupações específicas 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 se preocupa em observar as operações contínuas 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 que você geralmente está observando as operações de dados em torno do processamento de dados de recursos, treinamento de modelo e ajuste fino. O monitoramento dessas preocupações de loop interno deve usar 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 no estágio de inferência é aprender com a produção. O monitoramento de modelos tradicionais de aprendizado de máquina rastreia métricas como exatidão, precisão e revocação. Um objetivo importante é se proteger contra descompasso de previsão. As soluções que usam 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 usam modelos generativos para raciocinar sobre os dados de fundamentação usam métricas como fundamentação, integridade, utilização e relevância. O objetivo é garantir que o modelo esteja respondendo totalmente à consulta e baseando a resposta em seu contexto. Aqui, você está se protegendo contra coisas como o 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.

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 do 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 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

Para soluções generativas que estão usando 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. Você não está preocupado com a infraestrutura, mas sim com a taxa de transferência, a cota e a limitação do serviço. O OpenAI do Azure 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 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 muitas 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 suas 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

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 generativa, 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 independentemente. MLOps e GenAIOps evoluirão independentemente um do outro. Por 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 de solicitação e RAG, que são novos processos e você terá que estender seus investimentos operacionais 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óxima etapa