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.
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:
- Repositório de funcionalidades: as consultas automatizadas de funcionalidades do Databricks simplificam a integração e reduzem erros.
- Treinar modelos: Use a IA Mosaic para treinar modelos ou ajustar modelos fundamentais.
- Tracking: o MLflow rastreia o treinamento registrando parameters, métricas e artefatos para avaliar e comparar o desempenho do modelo.
- Model Registry: MLflow Model Registry, integrado com o Unity Catalog centraliza modelos e artefatos de IA.
- Model Serving: Mosaic AI Model Serving implanta modelos num endpoint da API REST.
- 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.
- Rastreamento de experimentos usando Databricks.
- Consulte a documentação do MLflow para obter informações gerais sobre as execuções e o rastreamento de experimentos.
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.
- Gerenciar modelos usando Databricks Unity Catalog.
- Consulte a documentação do MLflow para obter informações gerais sobre Registro de Modelos.
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.
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:
- Vetor & repositório de recursos: pesquisas automatizadas de vetores e recursos do Databricks simplificam a integração e reduzem erros.
- Criar e avaliar agentes de IA: Mosaic AI Agent Framework e Agent Evaluation ajudam você a criar agentes e avaliar seus resultados.
- Rastreamento & monitorização: A monitorização do MLflow captura informações detalhadas da execução do agente para melhorar a observabilidade do genAI.
- Model Registry: MLflow Model Registry, integrado com o Unity Catalog centraliza modelos e artefatos de IA.
- Model Serving: Mosaic AI Model Serving implanta modelos num endpoint da API REST.
- 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 |