MLflow para o agente de IA generativa e o ciclo de vida de modelos de ML
Este artigo descreve como o MLflow no Databricks é usado para desenvolver agentes de IA generativos de alta qualidade e modelos de machine learning.
Nota
Se você estiver apenas começando a usar o Azure Databricks, considere tentar o MLflow no Databricks Community Edition.
O que é o MLflow?
O MLflow é uma plataforma de software livre para desenvolver modelos e aplicativos de IA generativos. Ele tem os seguintes componentes primários:
- Acompanhamento: Permite que você acompanhe experimentos para registrar e comparar parâmetros e resultados:
- Modelos: permitir que você gerencie e implante modelos de várias bibliotecas de ML em várias plataformas de serviço e inferência de modelos.
- Registro de Modelo: permite que você gerencie o processo de implantação de modelos desde o preparo até a produção, com recursos de controle de versão e anotação de modelo.
- Avaliação e rastreamento do agente de IA: permite que você desenvolva agentes de IA de alta qualidade ajudando você a comparar, avaliar e solucionar problemas de agentes.
O MLflow dá suporte a APIs Java, Python, R e REST.
MLflow gerenciado pelo Databricks
O Databricks fornece uma versão totalmente gerenciada e hospedada do MLflow, com base na experiência de software livre para torná-la mais robusta e escalonável para uso corporativo.
O diagrama a seguir mostra como o Databricks se integra ao MLflow para treinar e implantar modelos de machine learning.
O MLflow gerenciado pelo Databricks é criado no Catálogo do Unity e no Cloud Data Lake para unificar todos os seus dados e ativos de IA no ciclo de vida do ML:
- Armazenamento de recursos: as buscas automatizadas de recursos do Databricks simplificam a integração e reduzem erros.
- Treinar modelos: usar a IA do Mosaico para treinar modelos ou ajustar modelos de base.
- Acompanhamento: o MLflow monitora o treinamento registrando parâmetros, métricas e artefatos para avaliar e comparar o desempenho do modelo.
- Registro de Modelo: O Registro de Modelo do MLflow, centralizado com o Unity Catalog, integra modelos e artefatos de IA.
- Model Serving: Mosaic AI Model Serving implanta modelos em um endpoint da API REST.
- Monitoramento: o Serviço de Modelo de IA do Mosaic captura automaticamente solicitações e respostas para monitorar e depurar modelos. O MLflow aumenta esses dados com dados de rastreamento para cada solicitação.
Treinamento de modelo
Os Modelos de MLflow estão no centro do desenvolvimento de IA e ML no Databricks. Os Modelos de MLflow são um formato padronizado para empacotar modelos de machine learning 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.
O Databricks fornece recursos para ajudá-lo a treinar diferentes tipos de modelos de ML.
Acompanhamento de experimentos
O Databricks usa experimentos do MLflow como unidades organizacionais para acompanhar seu trabalho durante o desenvolvimento de modelos.
O acompanhamento de experimentos permite registrar e gerenciar parâmetros, métricas, artefatos e versões de código durante o treinamento de machine learning e o desenvolvimento de agente. Organizar logs em experimentos e execuções permite comparar modelos, analisar o desempenho e iterar com mais facilidade.
- Acompanhamento de experimentos usando o Databricks.
- Consulte a documentação do MLflow para obter informações gerais sobre execuções e acompanhamento de experimentos.
Registro de modelo com o Catálogo do Unity
O Registro de Modelo do MLflow é um repositório de modelo centralizado, uma interface do usuário e um conjunto de APIs para gerenciar o processo de implantação do modelo.
O Databricks integra o Registro de Modelos ao Catálogo do Unity para fornecer governança centralizada para modelos. A integração do Catálogo do Unity permite que você acesse modelos em workspaces, acompanhe a linhagem do modelo e descubra modelos para reutilização.
- Gerenciar modelos usando o Catálogo do Databricks Unity.
- Consulte a documentação do MLflow para obter informações gerais sobre o Registro de Modelo .
Serviço de Modelo
O Databricks Model Serving é fortemente integrado ao Registro de Modelo do MLflow e fornece uma interface unificada e escalonável para implantar, controlar e consultar modelos de IA. Cada modelo que você atende está disponível como uma API REST que pode ser integrada a aplicativos Web ou cliente.
Embora sejam componentes distintos, o Serviço de Modelo depende muito do Registro de Modelo do MLflow para lidar com o controle de versão do modelo, o gerenciamento de dependências, a validação e a governança.
Desenvolvimento e avaliação do agente de IA
Para desenvolvimento de agente de IA, o Databricks integra-se ao MLflow de forma semelhante ao desenvolvimento de modelo de ML. No entanto, há algumas diferenças importantes:
- Para criar agentes de IA no Databricks, use a Estrutura do Agente de IA do Mosaic, usando o MLflow para acompanhar o código do agente, as métricas de desempenho e os rastreamentos do agente.
- Para avaliar agentes no Databricks, use a Avaliação de Agentes de IA do Mosaic, que depende do MLflow para acompanhar os resultados da avaliação.
- O acompanhamento de MLflow para agentes também inclui o Rastreamento de MLflow. O Rastreamento do MLflow permite que você veja informações detalhadas sobre a execução dos serviços do agente. O rastreamento registra as entradas, saídas e metadados associados a cada etapa intermediária de uma solicitação, permitindo que você localize rapidamente a fonte de comportamento inesperado em agentes.
O diagrama a seguir mostra como o Databricks se integra ao MLflow para criar e implantar agentes de IA.
O MLflow gerenciado pelo Databricks é criado no Catálogo do Unity e no Cloud Data Lake para unificar todos os seus dados e ativos de IA no ciclo de vida do aplicativo genAI:
- Armazenamento de recursos e vetores: as buscas automatizadas de recursos do Databricks simplificam a integração e reduzem erros.
- Criar e avaliar agentes de IA: o Mosaic AI Agent Framework e a Avaliação do Agente ajudam você a criar agentes e avaliar a saída deles.
- Acompanhamento e rastreamento: o rastreamento do MLflow captura informações detalhadas de execução do agente para maior observabilidade de genAI.
- Registro de Modelos: o Registro de Modelos do MLflow, integrado ao Catálogo do Unity, centraliza os modelos e artefatos de IA.
- Serviço de Modelo: o Serviço de Modelo de IA do Mosaic implanta modelos em um ponto de extremidade da API REST.
- Monitoramento: o MLflow captura automaticamente solicitações e respostas para monitorar e depurar modelos.
Recursos de MLflow gerenciados por Software Livre versus Databricks
Para conhecer os conceitos gerais do MLflow, APIs e recursos compartilhados entre versões de software livre e gerenciadas pelo Databricks, consulte a Documentação do MLflow. Para obter recursos exclusivos do MLflow gerenciado pelo Databricks, consulte a documentação do Databricks.
A tabela a seguir destaca as principais diferenças entre o MLflow de software livre e o MLflow gerenciado pelo Databricks e fornece links de documentação para ajudá-lo a saber mais:
Característica | 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 do Databricks |
Recuperação de desastre | Indisponível | Recuperação de desastres do Databricks |
Acompanhamento de experimentos | API de Acompanhamento do MLflow | A API de Acompanhamento do MLflow integrada ao Acompanhamento de experimentos avançados do Databricks |
Registro de Modelo | Registro de Modelo do MLflow | Registro de Modelo do MLflow integrado com o Databricks Unity Catalog |
Integração do Catálogo do Unity | Integração de software livre com o Catálogo do Unity | Catálogo do Unity do Databricks |
Implantação de 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) | Serviço de Modelo do Databricks e soluções de serviço externas |
Agentes de IA | Desenvolvimento de LLM do MLflow | Desenvolvimento de LLM do MLflow com integração à Estrutura do Agente de IA do Mosaic e a Avaliação do Agente |
Encriptação | Indisponível | Criptografia usando chaves gerenciadas pelo cliente |