Partilhar via


MLflow para agente de geração de IA e ciclo de vida de modelos de ML

Este artigo descreve como o MLflow no Databricks é usado para desenvolver agentes de IA generativa de alta qualidade e modelos de aprendizado de máquina.

Observação

Se você está apenas começando a usar o Azure Databricks, considere experimentar o MLflow no Databricks Community Edition.

O que é MLflow?

MLflow é uma plataforma de código aberto para o desenvolvimento de modelos e aplicações de IA generativa. Tem os seguintes componentes principais:

  • Rastreamento: Permite acompanhar experimentos para registrar e comparar parameters e resultados.
  • Modelos: Permite gerenciar e implantar modelos de várias bibliotecas de ML em várias plataformas de serviço e inferência de modelos.
  • Registro do modelo: Permite gerenciar o processo de implantação do modelo desde o preparo até a produção, com recursos de controle de versão e anotação do modelo.
  • Avaliação e rastreamento de agentes de IA: Permite desenvolver agentes de IA de alta qualidade, ajudando-o a comparar, avaliar e solucionar problemas de agentes.

O MLflow suporta as APIs de Java, Python, R e REST.

MLflow gerenciado por Databricks

O Databricks fornece uma versão totalmente gerenciada e hospedada do MLflow, aproveitando a experiência de código aberto para torná-la mais robusta e escalável para uso corporativo.

O diagrama a seguir mostra como o Databricks se integra ao MLflow para treinar e implantar modelos de aprendizado de máquina.

MLflow integra-se ao Databricks para gerenciar o ciclo de vida do ML.

O MLflow gerenciado por Databricks foi criado com base no Unity Catalog e no Cloud Data Lake para unificar todos os seus dados e ativos de IA no ciclo de vida do ML:

  1. Repositório de funcionalidades: as consultas automatizadas de funcionalidades do Databricks simplificam a integração e reduzem erros.
  2. Treinar modelos: Use a IA Mosaic para treinar modelos ou ajustar modelos fundamentais.
  3. Tracking: o MLflow rastreia o treinamento registrando parameters, métricas e artefatos para avaliar e comparar o desempenho do modelo.
  4. Model Registry: MLflow Model Registry, integrado com o Unity Catalog centraliza modelos e artefatos de IA.
  5. Model Serving: Mosaic AI Model Serving implanta modelos num endpoint da API REST.
  6. Monitorização: Mosaic AI Model Serving regista automaticamente pedidos e respostas para monitorizar e solucionar problemas nos modelos. O MLflow aumenta esses dados com dados de rastreamento para cada solicitação.

Modelo de formação

Os modelos MLflow estão no centro do desenvolvimento de IA e ML no Databricks. Os modelos MLflow são um formato padronizado para empacotar modelos de aprendizado de máquina e agentes de IA generativos. O formato padronizado garante que modelos e agentes possam ser usados por ferramentas downstream e fluxos de trabalho no Databricks.

  • Documentação MLflow - Models.

O Databricks fornece recursos para ajudá-lo a treinar diferentes tipos de modelos de ML.

Acompanhamento de experiências

O Databricks usa experimentos MLflow como unidades organizacionais para acompanhar seu trabalho durante o desenvolvimento de modelos.

O acompanhamento de experimentos permite registrar e gerenciar parameters, métricas, artefatos e versões de código durante o treinamento de aprendizado de máquina e o desenvolvimento de agentes. Organizar logs em experimentos e execuções permite comparar modelos, analisar desempenho e fazer iterações mais facilmente.

Registo de Modelos com Unity Catalog

O MLflow Model Registry é um repositório centralizado de modelos, IU, e set de APIs para gerir o processo de implantação do modelo.

O Databricks integra o Model Registry com o Unity Catalog para fornecer governança centralizada para modelos. A integração do Unity Catalog permite que você acesse modelos em espaços de trabalho, rastreie a linhagem de modelos e descubra modelos para reutilização.

Serviço de Modelos

O Databricks Model Serving está totalmente integrado ao MLflow Model Registry e fornece uma interface unificada e escalável para implantar, governar e consultar modelos de IA. Cada modelo que você atende está disponível como uma API REST que você pode integrar em aplicativos Web ou cliente.

Embora sejam componentes distintos, o Model Serving depende fortemente do MLflow Model Registry para lidar com o controle de versão do modelo, o gerenciamento de dependência, a validação e a governança.

Desenvolvimento e avaliação de agentes de IA

Para o desenvolvimento de agentes de IA, o Databricks integra-se ao MLflow de forma semelhante ao desenvolvimento de modelos de ML. No entanto, existem algumas diferenças fundamentais:

  • Para criar agentes de IA no Databricks, use Mosaic AI Agent Framework, que depende do MLflow para monitorizar o código do agente, as métricas de desempenho e os rastreamentos do agente.
  • Para avaliar agentes no Databricks, use o Mosaic AI Agent Evaluation, que recorre ao MLflow para monitorizar os resultados da avaliação.
  • O rastreamento MLflow para agentes também inclui MLflow Tracing. O MLflow Tracing permite que você veja informações detalhadas sobre a execução dos serviços do seu agente. O rastreamento registra as entradas, saídas e metadados associados a cada etapa intermediária de uma solicitação, permitindo que você encontre rapidamente a origem do comportamento inesperado nos agentes.

O diagrama a seguir mostra como o Databricks se integra ao MLflow para criar e implantar agentes de IA.

MLflow integra-se ao Databricks para gerenciar o ciclo de vida do aplicativo genAI.

O MLflow gerenciado por Databricks foi criado no Unity Catalog e no Cloud Data Lake para unificar todos os seus dados e ativos de IA no ciclo de vida do aplicativo genAI:

  1. Vetor & repositório de recursos: pesquisas automatizadas de vetores e recursos do Databricks simplificam a integração e reduzem erros.
  2. Criar e avaliar agentes de IA: Mosaic AI Agent Framework e Agent Evaluation ajudam você a criar agentes e avaliar seus resultados.
  3. Rastreamento & monitorização: A monitorização do MLflow captura informações detalhadas da execução do agente para melhorar a observabilidade do genAI.
  4. Model Registry: MLflow Model Registry, integrado com o Unity Catalog centraliza modelos e artefatos de IA.
  5. Model Serving: Mosaic AI Model Serving implanta modelos num endpoint da API REST.
  6. Monitorização: O MLflow capta automaticamente pedidos e respostas para monitorizar e depurar modelos.

Recursos de MLflow gerenciados por código aberto vs. Databricks

Para obter conceitos gerais de MLflow, APIs e recursos partilhados entre versões livres e geridas pelo Databricks, consulte a documentação do MLflow. Para recursos exclusivos do MLflow gerenciado pelo Databricks, consulte a documentação do Databricks.

O table a seguir destaca as principais diferenças entre o MLflow de código aberto e o MLflow gerenciado pelo Databricks e fornece links de documentação para ajudá-lo a saber mais:

Funcionalidade Disponibilidade no MLflow de código aberto Disponibilidade no MLflow gerenciado pelo Databricks
Segurança O usuário deve fornecer sua própria camada de governança de segurança Segurança de nível empresarial Databricks
Recuperação de desastres Indisponível Recuperação de desastres do Databricks
Acompanhamento de experiências API de Monitorização MLflow MLflow Tracking API integrado com o avançado rastreamento de experimentos Databricks
Registo Modelo Registro do modelo MLflow MLflow Model Registry integrado com Databricks Unity Catalog
Integração da unidade Catalog Integração de código aberto com Unity Catalog Databricks Unity Catalog
Implementação do modelo Integrações configuradas pelo usuário com soluções de serviço externo (SageMaker, Kubernetes, serviços de contêiner e assim por diante) Modelo Databricks Servindo soluções de e serviço externo
Agentes de IA Desenvolvimento do MLflow LLM Desenvolvimento do MLflow LLM integrado com o Mosaic AI Agent Framework e a Agent Evaluation
Encriptação Indisponível Criptografia usando chaves gerenciadas pelo cliente