Partilhar via


GenAIOps para praticantes de MLOps

Este artigo fornece orientação para equipes de carga de trabalho que têm investimentos existentes em operações de aprendizado de máquina (MLOps) e desejam 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 Generative AI Ops (GenAIOps, às vezes conhecido como LLMOps). Este artigo descreve padrões técnicos que são comuns tanto ao aprendizado de máquina tradicional quanto às 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.

O planejamento e a implementação de um MLOps e GenAIOps fazem parte de uma área de design central em cargas de trabalho de IA no Azure. Para obter informações básicas sobre 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 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 se concentram 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 abordar uma variedade maior de casos de uso e, em alguns casos, são multimodais.

  • Concentre-se em estender os 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é-treinamento e ajuste fino
  • 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. 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 pequena (SLM).

Treinar um novo SLM e 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 prompts inclui todos os processos envolvidos na criação de um prompt que é enviado como entrada para um modelo gerativo. Geralmente, há um orquestrador que controla um fluxo de trabalho que gera o prompt. O orquestrador pode chamar qualquer número de bases de dados para recolher informações, como dados básicos, e aplicar a lógica necessária para gerar o prompt mais eficaz. O orquestrador é então implantado como um endpoint de API que é acedido pelo código de cliente numa aplicação inteligente.

O diagrama a seguir mostra uma arquitetura para engenharia imediata.

Diagrama que mostra uma arquitetura para engenharia imediata.

Esta 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 por recuperação

A geração aumentada de recuperação (RAG) é um padrão arquitetônico que usa engenharia imediata para incorporar 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 da sua empresa, clientes ou domínio. Nas 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.

O diagrama a seguir ilustra uma arquitetura RAG:

Diagrama que mostra uma arquitetura 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 você a entender onde você pode aplicar seus investimentos MLOps existentes e onde 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. A reprodutibilidade do fluxo de trabalho e o controle de versão de dados são recursos importantes do DataOps para todos os padrões técnicos. As fontes, os tipos e a intenção dos dados dependem do padrão.

Formação e afinação

Esse padrão técnico deve aproveitar totalmente os 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 que você experimente diferentes dados de engenharia de recursos, compare o desempenho dos diferentes modelos e reproduza os resultados.

RAG e engenharia imediata

A intenção dos dados nas soluções RAG é fornecer dados de fundamentação 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.

As linhas de dados para a segmentação de documentos não fazem parte do DataOps nos MLOps tradicionais, portanto, terá de estender a 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 expandir a sua arquitetura para incluir os repositórios de dados que utiliza para fundamentar as informações. Armazenamentos de dados comuns para esses padrões são repositórios vetoriais como o AI Search.

Assim como no treinamento e ajuste fino, você pode usar 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

A experimentação, uma parte do loop 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.

Formação e afinação

Ao ajustar um modelo de linguagem existente ou treinar um modelo de linguagem pequeno, você pode aproveitar seus 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 imediata

A experimentação com engenharia imediata e cargas de trabalho RAG exige que você estenda 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 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. Você precisa estender suas operações para controlar esses aspetos da carga de trabalho.

Você pode experimentar com várias dimensões para soluções de engenharia de prompt, incluindo diferentes instruções, personas, exemplos, restrições e técnicas avançadas, como o encadeamento de prompts. Quando você experimentar soluções RAG, você pode experimentar áreas adicionais:

  • Estratégia de fragmentação
  • O que e como enriquecer segmentos
  • 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, a reprodutibilidade e o versionamento de dados são fundamentais para a experimentação. Uma boa estrutura de experimentação permite armazenar entradas, como alterações em hiperparâmetros ou prompts, juntamente com saídas a serem usadas quando você avaliar o experimento.

Tal como no seu ambiente MLOps existente, pode aproveitar estruturas 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 vetoriais, como a Pesquisa de IA. Seu ambiente GenAIOps pode aproveitar esses recursos de pipeline 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 de que você precisa 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

Para a avaliação de modelos de IA generativa ajustados ou treinados, você deve aproveitar seus investimentos existentes em MLOps. Por exemplo, se você usar pipelines do Azure Machine Learning para orquestrar seu treinamento de modelo de aprendizado de máquina, poderá usar os mesmos recursos de avaliação para ajustar modelos de linguagem básica ou treinar novos modelos de linguagem pequena. 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 resultados entre modelos.

RAG e engenharia imediata

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. O fluxo de prompt permite que as equipas 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 grandes modelos de linguagem (LLMs). Essa abordagem estruturada permite comparar diferentes configurações lado a lado, como hiperparâmetro 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 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 imediatos para conduzir experimentações eficientes e sistemáticas.

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, sumarização, 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. A seguir estão algumas métricas, com base no caso de uso, a considerar.

  • 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 a avaliação de ponta a ponta do LLM para obter mais informações sobre a avaliação de modelos de linguagem e soluções RAG.

Em geral, as soluções de IA generativa expandem as responsabilidades da equipa de aprendizagem automática, desde o treino de modelos até à engenharia de prompts e gestão de dados fundamentais. Como a engenharia imediata e a experimentação e avaliação RAG não exigem necessariamente cientistas de dados, você pode ficar tentado a usar outras funções, como engenheiros de software e engenheiros de dados, para executar essas funções. Você enfrentará desafios se omitir cientistas de dados do processo de experimentação de soluções prontas de engenharia e RAG. Outras funções não são comumente treinadas na avaliação científica dos resultados, como muitos cientistas de dados são. 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 alguma pressão de seus recursos de ciência de dados. O papel dos engenheiros de software expande-se 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 o prompt flow. É importante que os cientistas de dados revejam este trabalho. Eles 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 sob medida 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 de padrões técnicos comuns de IA generativa.

Formação e afinação

Você deve usar seus investimentos existentes em MLOps, com alguns ajustes possíveis, para implantar modelos de IA generativa e ajustar modelos fundamentais. 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 precisa 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 pequena treinado, você pode aproveitar seus investimentos existentes em MLOps.

RAG e engenharia imediata

Para RAG e engenharia de prompts, 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 dos pipelines 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 recursos nos quais você pode implantar modelos personalizados no momento. Consulte o documento de arquitetura de chat de ponta a ponta do Azure OpenAI para obter exemplos de como implantar o fluxo de prompts em pontos de extremidade online geridos pelo Azure Machine Learning ou no Serviço de Aplicações do Azure. Para implantar no Serviço de Aplicativo, a arquitetura de chat 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 tarefas 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 os oferecidos pelo Azure OpenAI, incluem um gateway de , como o Azure API Management. 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ê 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 ocorrem problemas.

As implantações de elementos específicos da 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 de ponta a ponta.
  • Estratégias de implantação, 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 do modelo, 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 é o processo de observar as operações em curso 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 treinamento e ajuste fino de modelos, você geralmente observa as operações de dados para processamento de dados de recursos, treinamento de modelos e ajuste fino. A monitorização destes processos de ciclo interno deve aproveitar os 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 monitorizar os pipelines de dados que processam dados fundamentais ou outros dados usados para gerar prompts. Esse processamento pode incluir operações de armazenamento de dados, como a criação ou a reconstrução de índices.

Aprender com a produção

Um aspeto crítico para o monitoramento durante a etapa de inferência é aprender com a produção. A monitorização de modelos tradicionais de aprendizado de máquina rastreia métricas como precisão, exatidão e revocação. Um dos principais objetivos é evitar desvios de previsão. Soluções que usam modelos generativos para fazer previsões, por exemplo, usando um modelo GPT para classificação, devem aproveitar seus investimentos existentes em monitoramento de MLOps.

Soluções que usam modelos generativos para raciocinar sobre dados de referência utilizam métricas como referência, completude, utilização e relevância. O objetivo é garantir que o modelo responda plenamente à consulta e baseie a resposta no seu contexto. Aqui, você precisa tentar evitar problemas como desvio de dados. Você quer garantir que os dados de base e o prompt fornecido ao modelo sejam o mais relevantes possível para a consulta do utilizador.

Soluções que usam modelos generativos para tarefas não preditivas, como soluções RAG, geralmente se beneficiam do feedback humano dos usuários finais para avaliar sentimentos de utilidade. As interfaces de utilizador podem capturar feedback como gostos e desgostos, e pode-se usar esses dados 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 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. do Azure AI Content Safety Studio é um exemplo de uma ferramenta que você pode usar para moderar conteúdo.

Gestão de recursos

As soluções generativas que usam 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. Para modelos que são expostos como um serviço, não é necessário preocupar-se com a infraestrutura. Em vez disso, você está preocupado com a taxa de transferência, a cota e a limitação do serviço. O Azure OpenAI usa tokens para cobrança, controlo de fluxo 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 várias atividades de automação, rastreamento, implantação, experimentação e assim por diante para abstrair as preocupações comuns e os detalhes de implementação desses processos. Uma plataforma unificada comum é o MLflow. Antes de procurar novas ferramentas para suportar padrões GenAIOps, você deve revisar 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

Você pode ter usado o modelo de maturidade MLOps para avaliar a maturidade de suas operações e ambiente de aprendizado de máquina atuais. À 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. Poderá sentir-se tentado a 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 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 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, então você precisa ampliar seus investimentos em operações existentes e ganhar novas habilidades.

Contribuidores

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

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

Próximos passos