Pular para o conteúdo principal

Obtenha começar com MLflow 3

Este artigo ajuda o senhor a começar a usar o MLflow 3. Ele descreve como instalar o MLflow 3 e inclui vários Notebooks de demonstração para o senhor começar. Ele também inclui links para páginas que abordam o novo recurso do MLflow 3 em mais detalhes.

O que é o MLflow 3 e qual é a diferença em relação à versão existente do MLflow?

MLflow 3 em Databricks oferece acompanhamento de experimentos, observabilidade e avaliação de desempenho de última geração para modelos de aprendizado de máquina, aplicativos generativos AI e agentes no site Databricks lakehouse. MLflow O 3 apresenta novos recursos significativos, preservando os principais conceitos de acompanhamento, o que torna a migração do 2.x rápida e simples. Usando o MLflow 3 no Databricks, o senhor pode:

  • Rastreie e analise de forma centralizada o desempenho de seus modelos, aplicativos AI e agentes em todos os ambientes, desde consultas interativas em um Notebook de desenvolvimento até lotes de produção ou implantações de tempo real.

Modelo de acompanhamento UI.

  • visualizar e acessar as métricas e os parâmetros do modelo na página da versão do modelo em Unity Catalog e na página REST API, em todos os espaços de trabalho e experimentos.

Página da versão do modelo em Unity Catalog mostrando as métricas de várias execuções.

  • Anotar solicitações e respostas (traces ) para obter uma observabilidade abrangente de ponta a ponta de todos os seus aplicativos e agentes do gen AI, permitindo que especialistas humanos e técnicas automatizadas do LLM-as-a-judge forneçam um feedback rico. O senhor pode aproveitar esse feedback para avaliar e comparar o desempenho das versões do aplicativo e criar um conjunto de dados para melhorar a qualidade.

Traços tab da página do modelo que mostra detalhes de vários traços.

  • Avalie os aplicativos GenAI em escala usando o novo mlflow.genai.evaluate() API com juízes integrados e personalizados do LLM para correção, relevância, segurança e muito mais, avaliando a qualidade de seus aplicativos GenAI durante o desenvolvimento e a produção.

Avaliações tab da página do experimento mostrando detalhes de várias avaliações.

  • Orquestre a avaliação e o fluxo de trabalho de implantação usando Unity Catalog e acesse o status abrangente logs para cada versão do seu modelo, aplicativo AI ou agente.

Um trabalho de implantação complexo que inclui implementação em etapas e coleta de métricas.

Esses recursos simplificam e agilizam a avaliação, a implementação, a depuração e o monitoramento de todas as suas iniciativas de AI.

Observabilidade e avaliação do GenAI

MLflow 3 apresenta recursos abrangentes do GenAI que combinam a observabilidade do rastreamento e as ferramentas do AIpara medir de forma confiável a qualidade do GenAI, permitindo que o senhor monitore e melhore a qualidade de seus aplicativos durante todo o ciclo de vida. Agora, o senhor pode aproveitar a UI do MLflow Experiment para monitorar e criar painéis de tempo real de traços de aplicativos de produção, sejam eles implantados no Databricks ou externamente, anotar traços de produção com feedback e criar conjuntos de dados para iterações futuras.

O MLflow 3 oferece suporte de primeira classe para juízes de LLM e feedback humano diretamente no MLflow Traces usando o novo recurso Assessments. A nova API mlflow.genai.evaluate() oferece uma abordagem mais simples e avançada para a avaliação, integrando os juízes do LLM com a tecnologia Agent Evaluation no SDK do MLflow. Com suporte para pontuadores pré-construídos e personalizados, você pode confiar na qualidade de seus aplicativos GenAI antes da implantação. Além disso, o Databricks Agent Evaluation APIs para juízes, conjunto de dados e sessões de rótulo (Review App) agora está unificado no espaço de nomes mlflow.genai para uma experiência perfeita. Para obter mais detalhes, consulte MLflow 3 para GenAI.

modelos registrados

Grande parte da nova funcionalidade do MLflow 3 deriva do novo conceito de LoggedModel. Ao desenvolver aplicativos ou agentes AI generativos, os desenvolvedores podem criar o LoggedModels para capturar o commit do git ou conjuntos de parâmetros como objetos que podem ser vinculados a traços e métricas. Para a aprendizagem profunda e os aplicativos clássicos do ML, o LoggedModels eleva o conceito de um modelo produzido por uma execução de treinamento, estabelecendo-o como um objeto dedicado para rastrear o ciclo de vida do modelo em diferentes execuções de treinamento e avaliação.

LoggedModels capturar métricas, parâmetros e rastros em todas as fases de desenvolvimento (treinamento e avaliação) e em todos os ambientes (desenvolvimento, preparação e produção). Quando um LoggedModel é promovido para Unity Catalog como uma versão de modelo, todos os dados de desempenho do LoggedModel original ficam visíveis na página da versão de modelo da UC, proporcionando visibilidade em todos os espaços de trabalho e experimentos. Para obter mais detalhes, consulte Rastrear e comparar modelos usando MLflow modelos logged.

Trabalho de implantação

MLflow 3 também introduz o conceito de Job de implementação. O Deployment Job usa o LakeFlow Jobs para gerenciar o ciclo de vida do modelo, incluindo etapas como avaliação, aprovação e implantação. Esses modelos de fluxo de trabalho são regidos pelo site Unity Catalog, e todos os eventos são salvos em uma atividade log que está disponível na página da versão do modelo em Unity Catalog.

Migração do MLflow 2.x

Embora haja muitos recursos novos em MLflow 3, os conceitos centrais de experimentos e execução, juntamente com seus metadados, como parâmetros, tags e métricas, permanecem os mesmos. A migração do MLflow 2.x para o 3.0 é muito simples e deve exigir alterações mínimas no código na maioria dos casos. Esta seção destaca algumas diferenças do key em relação ao MLflow 2.x e o que o senhor deve saber para fazer uma transição perfeita.

Modelos de registro

Ao registrar modelos em 2.x, o parâmetro artifact_path é usado.

with mlflow.start_run():
mlflow.pyfunc.log_model(
artifact_path="model",
python_model=python_model,
...
)

No MLflow 3, use name em vez disso, o que permite que o modelo seja pesquisado posteriormente por nome. O parâmetro artifact_path ainda é suportado, mas foi descontinuado. Além disso, o MLflow não exige mais que uma execução esteja ativa ao registrar um modelo, porque os modelos se tornaram cidadãos de primeira classe no MLflow 3. O senhor pode acessar diretamente log um modelo sem primeiro iniciar uma execução.

mlflow.pyfunc.log_model(
name="model",
python_model=python_model,
...
)

Artefatos modelo

No MLflow 2.x, os artefatos de modelo são armazenados como artefatos de execução no caminho de artefato da execução. No MLflow 3, os artefatos do modelo agora são armazenados em um local diferente, no caminho do artefato do modelo.

# MLflow 2.x
experiments/
└── <experiment_id>/
└── <run_id>/
└── artifacts/
└── ... # model artifacts are stored here
# MLflow 3
experiments/
└── <experiment_id>/
└── models/
└── <model_id>/
└── artifacts/
└── ... # model artifacts are stored here

É recomendável carregar modelos com mlflow.<model-flavor>.load_model usando o URI do modelo retornado por mlflow.<model-flavor>.log_model para evitar problemas. Esse URI de modelo tem o formato models:/<model_id> (em vez de runs:/<run_id>/<artifact_path> como no MLflow 2.x) e também pode ser construído manualmente se apenas o ID do modelo estiver disponível.

Registro de modelos

Em MLflow 3, o URI do registro default agora é databricks-uc, o que significa que o MLflow Model Registry em Unity Catalog será usado (consulte o ciclo de vida do modelo gerenciar em Unity Catalog para obter mais detalhes). Os nomes dos modelos registrados no Unity Catalog têm o formato <catalog>.<schema>.<model>. Ao chamar APIs que exigem um nome de modelo registrado, como mlflow.register_model, esse nome completo de três níveis é usado.

Para o espaço de trabalho que tem o Unity Catalog ativado e cujo catálogodefault está em Unity Catalog, o senhor também pode usar <model> como o nome e o catálogo e o esquema default serão inferidos (nenhuma alteração no comportamento do Mlflow 2.x). Se o seu workspace tiver o Unity Catalog ativado, mas o catálogodefault não estiver configurado para estar no Unity Catalog, o senhor precisará especificar o nome completo de três níveis.

A Databricks recomenda usar o MLflow Model Registry no Unity Catalog para gerenciar o ciclo de vida dos seus modelos.

Se quiser continuar a usar o Workspace Model Registry (legado), use um dos seguintes métodos para definir o URI do registro como databricks:

Outras mudanças importantes

  • MLflow 3 clientes podem carregar todos os registros de execução, modelos e traces com os clientes MLflow 2.x. No entanto, o inverso não é necessariamente verdadeiro, de modo que os modelos e os registros de traços com clientes MLflow 3 podem não ser carregados com versões mais antigas de clientes 2.x.
  • A API mlflow.evaluate foi descontinuada. Para LLMs ou aplicativos GenAI, use a API mlflow.genai.evaluate. Para modelos tradicionais de ML ou de aprendizagem profunda, use mlflow.models.evaluate, que mantém total compatibilidade com a API mlflow.evaluate original
  • O atributo run_uuid foi removido do objeto RunInfo. Em vez disso, use run_id em seu código.

Instalar o MLflow 3

Para usar o MLflow 3, o senhor deve atualizar o pacote para usar a versão correta (>= 3.0). As seguintes linhas de código devem ser executadas sempre que um Notebook for executado:

Python
%pip install mlflow>=3.0 --upgrade
dbutils.library.restartPython()

Exemplo de notebook

As páginas a seguir ilustram o modelo MLflow 3 de acompanhamento fluxo de trabalho para ML tradicional e aprendizagem profunda. Cada página inclui um exemplo de Notebook.

Próximas etapas

Para saber mais sobre o novo recurso do site MLflow 3, consulte os artigos a seguir: