Pular para o conteúdo principal

Comece com MLflow 3 para modelos

nota

Este artigo enfoca o recurso MLflow 3 para modelos tradicionais machine learning e aprendizagem profunda. MLflow 3 também oferece recursos abrangentes para desenvolvimento de aplicativos GenAI, incluindo rastreamento, avaliação e coleta de feedback humano. Veja MLflow 3 para GenAI para mais detalhes.

Este artigo apresenta a você MLflow 3 para desenvolver modelos de machine learning. Ele descreve como instalar MLflow 3 para modelos e inclui vários notebooks de demonstração para começar. Ele também inclui links para páginas que abordam o novo recurso do MLflow 3 para modelos com mais detalhes.

O que é o MLflow 3 para modelos?

MLflow 3 para modelos no Databricks oferece acompanhamento de experimentos de última geração, avaliação de desempenho e gerenciamento de produção para modelos de machine learning. MLflow 3 apresenta novos recursos significativos, preservando os principais conceitos de acompanhamento, tornando a migração do MLflow 2.x rápida e simples.

O que é o MLflow 3 para GenAI?

Além MLflow 3 para modelos, MLflow 3 para GenAI apresenta uma ampla variedade de novos recursos e melhorias para desenvolvimento de agentes e aplicativos GenAI. Para uma visão geral abrangente, consulte MLflow 3 para GenAI.

Os principais recursos do MLflow 3 para GenAI incluem:

  • Rastreamento e observabilidade - Observabilidade de ponta a ponta para aplicativos GenAI com instrumentação automática para mais de 20 estruturas, incluindo OpenAI, LangChain, LlamaIndex e Anthropic
  • Avaliação e monitoramento - Recursos abrangentes de avaliação do GenAI para medir e melhorar a qualidade do desenvolvimento até a produção. Inclui juízes LLM pré-construídos, juízes personalizáveis, gerenciamento de dataset de avaliação e monitoramento de tempo real.
  • Coleta de feedback humano - Interface de usuário de revisão personalizável para coletar feedback de especialistas do domínio e testar agentes interativamente, com sessões de registro estruturadas para organizar e acompanhar o progresso da revisão
  • Prompt Registry - Controle de versão de prompt centralizado, gerenciamento e testes A/B com integração do Unity Catalog
  • Controle de versão de aplicativos e agentes - Gerenciamento de versões para aplicativos e agentes GenAI, incluindo acompanhamento de revisões de código, parâmetros, avaliações de qualidade, métricas de desempenho e rastreamentos associados ao aplicativo ou agente.

Como o MLflow 3 para modelos é diferente do MLflow 2

O MLflow 3 para modelos no Databricks permite que você:

  • Acompanhe e analise centralmente o desempenho dos seus modelos em todos os ambientes, desde consultas interativas em um Notebook de desenvolvimento até lotes de produção ou implantações de serviço real em 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.

  • Orquestre a avaliação e a implantação do fluxo de trabalho usando Unity Catalog e acesse logs de status abrangentes para cada versão do seu modelo.

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

Esses recursos simplificam e agilizam o modelo de desenvolvimento, avaliação e implantação de produção de machine learning .

modelos registrados

Grande parte da nova funcionalidade do MLflow 3 deriva do novo conceito de LoggedModel. Para aprendizagem profunda e modelo tradicional de machine learning, LoggedModels eleva o conceito de 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 nome e o catálogo e o esquema default serão inferidos (não há alteração de comportamento em relação ao 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 modelos tradicionais ML ou aprendizagem profunda, use mlflow.models.evaluate que mantém compatibilidade total com a API mlflow.evaluate original. Para aplicativos LLMs ou GenAI, use a API mlflow.genai.evaluate .
  • 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: