Dela via


MLflow för generativ AI-agent och ML-modell-livscykel

Den här artikeln beskriver hur MLflow på Databricks används för att utveckla generativa AI-agenter av hög kvalitet och maskininlärningsmodeller.

Obs

Om du precis har börjat med Azure Databricks kan du prova MLflow på Databricks Community Edition.

Vad är MLflow?

MLflow är en plattform med öppen källkod för att utveckla modeller och generativa AI-program. Den har följande primära komponenter:

  • Spårning: Möjliggör att du kan följa experiment för att registrera och jämföra parameters och resultat.
  • Modeller: Gör att du kan hantera och distribuera modeller från olika ML-bibliotek till olika modellhanterings- och slutsatsdragningsplattformar.
  • Modellregister: Gör att du kan hantera modelldistributionsprocessen från mellanlagring till produktion, med funktioner för versionshantering och anteckning av modeller.
  • Utvärdering och spårning av AI-agenter: Gör att du kan utveckla AI-agenter av hög kvalitet genom att hjälpa dig att jämföra, utvärdera och felsöka agenter.

MLflow kan användas med Java, Python, R och REST-API:er.

Databricks-hanterade MLflow

Databricks tillhandahåller en fullständigt hanterad och värdbaserad version av MLflow, som bygger på upplevelsen med öppen källkod för att göra den mer robust och skalbar för företagsanvändning.

Följande diagram visar hur Databricks integreras med MLflow för att träna och distribuera maskininlärningsmodeller.

MLflow integreras med Databricks för att hantera ML-livscykeln.

Databricks-hanterat MLflow bygger på Unity Catalog och Cloud Data Lake för att förena alla dina data och AI-tillgångar i ML-livscykeln:

  1. Funktionsarkiv: Databricks automatiserade funktionssökningar förenklar integreringen och minskar misstagen.
  2. Träningsmodeller: Använd Mosaic AI för att träna modeller eller finjustera basmodeller.
  3. Tracking: MLflow spårar träning genom att logga parameters, mått och artefakter för att utvärdera och jämföra modellprestanda.
  4. Model Registry: MLflow Model Registry, integrerat med Unity Catalog centraliserar AI-modeller och artefakter.
  5. Modellservering: Mosaic AI Model Serving distribuerar modeller till en REST API-slutpunkt.
  6. Övervakning: Mosaic AI Model Serving samlar automatiskt in begäranden och svar för att övervaka och felsöka modeller. MLflow utökar dessa data med spårningsdata för varje begäran.

Modellträning

MLflow-modeller är kärnan i AI- och ML-utveckling på Databricks. MLflow-modeller är ett standardiserat format för att paketera maskininlärningsmodeller och generativa AI-agenter. Det standardiserade formatet säkerställer att modeller och agenter kan användas av underordnade verktyg och arbetsflöden i Databricks.

Databricks innehåller funktioner som hjälper dig att träna olika typer av ML-modeller.

Experimentspårning

Databricks använder MLflow-experiment som organisationsenheter för att spåra ditt arbete när du utvecklar modeller.

Med experimentspårning kan du logga och hantera parameters, mått, artefakter och kodversioner under maskininlärningsträning och agentutveckling. Genom att organisera loggar i experiment och körningar kan du jämföra modeller, analysera prestanda och iterera enklare.

Modellregister med Unity Catalog

MLflow Model Registry är en centraliserad modelllagringsplats, användargränssnitt och set av API:er för att hantera modelldistributionsprocessen.

Databricks integrerar Model Registry med Unity Catalog för att tillhandahålla centraliserad styrning för modeller. Med Unity Catalog integrering kan du komma åt modeller på arbetsytor, spåra modell härkomst och identifiera modeller för återanvändning.

Modellservering

Databricks-modellservern är nära integrerad med MLflow Model Registry och tillhandahåller ett enhetligt, skalbart gränssnitt för distribution, styrning och frågekörning av AI-modeller. Varje modell som du hanterar är tillgänglig som ett REST-API som du kan integrera i webb- eller klientprogram.

Även om de är distinkta komponenter är Model Serving starkt beroende av MLflow Model Registry för att hantera modellversionshantering, beroendehantering, validering och styrning.

Utveckling och utvärdering av AI-agent

För ai-agentutveckling integreras Databricks med MLflow på samma sätt som ML-modellutveckling. Det finns dock några viktiga skillnader:

  • Om du vill skapa AI-agenter på Databricks använder du Mosaic AI Agent Framework, som förlitar sig på MLflow för att spåra agentkod, prestandamått och agentspårningar.
  • Om du vill utvärdera agenter på Databricks använder du Mosaic AI Agent Evaluation, som förlitar sig på MLflow för att spåra utvärderingsresultat.
  • MLflow-spårning för agenter innehåller även MLflow Tracing. Med MLflow Tracing kan du se detaljerad information om processen för agentens tjänster. Spårning registrerar indata, utdata och metadata som är associerade med varje mellanliggande steg i en begäran, så att du snabbt kan hitta källan till oväntat beteende i agenter.

Följande diagram visar hur Databricks integreras med MLflow för att skapa och distribuera AI-agenter.

MLflow integreras med Databricks för att hantera genAI-appens livscykel.

MLflow, hanterad av Databricks, bygger på Unity Catalog och den Cloud Data Lake för att förena alla dina data och AI-tillgångar i genAI-appens livscykel.

  1. Vector & funktionsarkiv: Databricks automatiserade vektor- och funktionssökningar förenklar integreringen och minskar misstagen.
  2. Skapa och utvärdera AI-agenter: Mosaic AI Agent Framework och Agent Utvärdering hjälper dig att skapa agenter och utvärdera deras utdata.
  3. Spårning & spårning: MLflow-spårning samlar in detaljerad information om agentkörning för förbättrad genAI-observerbarhet.
  4. Model Registry: MLflow Model Registry, integrerat med Unity Catalog centraliserar AI-modeller och artefakter.
  5. Modellservering: Mosaic AI Model Serving distribuerar modeller till en REST API-slutpunkt.
  6. Övervakning: MLflow samlar automatiskt in begäranden och svar för att övervaka och felsöka modeller.

Funktioner för öppen källkod jämfört med Databricks-hanterade MLflow-funktioner

Allmänna MLflow-begrepp, API:er och funktioner som delas mellan öppen källkod och Databricks-hanterade versioner finns i MLflow-dokumentationen. Funktioner som är exklusiva för Databricks-hanterade MLflow finns i Dokumentation om Databricks.

Följande table visar de viktigaste skillnaderna mellan MLflow med öppen källkod och Databricks-hanterat MLflow och innehåller dokumentationslänkar som hjälper dig att lära dig mer:

Funktion Tillgänglighet för MLflow med öppen källkod Tillgänglighet i Databricks-hanterade MLflow
Säkerhet Användaren måste ange ett eget säkerhetsstyrningslager Databricks säkerhet av företagsklass
Katastrofåterställning Oanträffbar Databricks-katastrofberedskap
Experimentspårning MLflow Tracking API MLflow Tracking API integrerat med Databricks avancerade experimentspårning
Modellregister MLflow Model Registry MLflow Model Registry integrerat med Databricks Unity Catalog
Unity Catalog integration Integrering med öppen källkod med Unity Catalog Databricks Unity Catalog
Modelldistribution Användarkonfigurerade integreringar med externa serveringslösningar (SageMaker, Kubernetes, containertjänster och så vidare) Databricks-modell som betjänar och externa serveringslösningar
AI-agenter MLflow LLM-utveckling MLflow LLM-utveckling integrerad med Mosaic AI Agent Framework och Agent Evaluation
Kryptering Oanträffbar Kryptering med kundhanterade nycklar