MLflow voor generatieve AI-agent en ML-modellevenscyclus
In dit artikel wordt beschreven hoe MLflow op Databricks wordt gebruikt om generatieve AI-agents en machine learning-modellen van hoge kwaliteit te ontwikkelen.
Notitie
Als u net aan de slag gaat met Azure Databricks, kunt u MLflow proberen op Databricks Community Edition.
Wat is MLflow?
MLflow is een opensource-platform voor het ontwikkelen van modellen en generatieve AI-toepassingen. Het bestaat uit de volgende hoofdcomponenten:
- Bijhouden: Hiermee kunt u experimenten bijhouden om parameters en resultaten vast te leggen en te vergelijken.
- Modellen: Hiermee kunt u modellen van verschillende ML-bibliotheken beheren en implementeren op verschillende model-server- en deductieplatforms.
- Modelregister: Hiermee kunt u het modelimplementatieproces beheren van fasering tot productie, met modelversiebeheer en annotatiemogelijkheden.
- Evaluatie en tracering van AI-agents: hiermee kunt u AI-agents van hoge kwaliteit ontwikkelen door agents te vergelijken, te evalueren en problemen op te lossen.
MLflow ondersteunt Java, Python, R en REST-API's.
Door Databricks beheerde MLflow
Databricks biedt een volledig beheerde en gehoste versie van MLflow, die voortbouwt op de opensource-ervaring om deze robuuster en schaalbaarder te maken voor zakelijk gebruik.
In het volgende diagram ziet u hoe Databricks kan worden geïntegreerd met MLflow om machine learning-modellen te trainen en te implementeren.
Door Databricks beheerde MLflow is gebouwd op Unity Catalog en de Cloud Data Lake om al uw gegevens en AI-assets in de ML-levenscyclus te combineren:
- Kenmerkenopslag: Databricks' geautomatiseerde kenmerkenopzoekingen vereenvoudigen de integratie en verminderen fouten.
- Modellen trainen: Mozaïek AI gebruiken om modellen te trainen of basismodellen af te stemmen.
- Bijhouden: MLflow houdt training bij door parameters, metrische gegevens en artefacten te registreren om modelprestaties te evalueren en te vergelijken.
- Modelregister: MLflow Model Registry, geïntegreerd met Unity, centraliseert Catalog AI-modellen en artefacten.
- Model serving: Mosaic AI Model Serving implementeert modellen in een REST API-eindpunt.
- Bewaking: Mosaic AI Model Serving legt automatisch aanvragen en antwoorden vast om modellen te bewaken en fouten op te sporen. MLflow vergroot deze gegevens met traceringsgegevens voor elke aanvraag.
Model training
MLflow-modellen vormen de kern van AI- en ML-ontwikkeling op Databricks. MLflow-modellen zijn een gestandaardiseerde indeling voor het verpakken van machine learning-modellen en generatieve AI-agents. De gestandaardiseerde indeling zorgt ervoor dat modellen en agents kunnen worden gebruikt door downstreamhulpprogramma's en werkstromen op Databricks.
- MLflow-documentatie - Modellen.
Databricks biedt functies om u te helpen verschillende soorten ML-modellen te trainen.
Het volgen van experimenten
Databricks gebruikt MLflow-experimenten als organisatie-eenheden om uw werk bij te houden tijdens het ontwikkelen van modellen.
Met experimenttracking kunt u parameters, metrische gegevens, artefacten en codeversies vastleggen en beheren tijdens het trainen en ontwikkelen van machine learning-agents. Door logboeken in experimenten en uitvoeringen te organiseren, kunt u modellen vergelijken, prestaties analyseren en eenvoudiger herhalen.
- Experiment bijhouden met Databricks-.
- Zie de MLflow-documentatie voor algemene informatie over uitvoeringen en het bijhouden van experimenten.
Modelregister met Unity Catalog
MLflow Model Registry is een gecentraliseerde modelopslagplaats, gebruikersinterface en set API's voor het beheren van het modelimplementatieproces.
Databricks integreert modelregister met Unity Catalog om gecentraliseerd beheer voor modellen te bieden. Met De integratie van Unity Catalog kunt u toegang krijgen tot modellen in werkruimten, modelherkomst bijhouden en modellen ontdekken voor hergebruik.
- Modellen beheren met Databricks Unity Catalog.
- Zie de MLflow-documentatie voor algemene informatie over modelregister.
Model serveren
Databricks Model Serving is nauw geïntegreerd met het MLflow-modelregister en biedt een uniforme, schaalbare interface voor het implementeren, beheren en opvragen van AI-modellen. Elk model dat u gebruikt, is beschikbaar als een REST API die u kunt integreren in web- of clienttoepassingen.
Hoewel het afzonderlijke onderdelen zijn, is Model Serving sterk afhankelijk van het MLflow-modelregister voor het afhandelen van modelversiebeheer, afhankelijkheidsbeheer, validatie en governance.
Ontwikkeling en evaluatie van AI-agent
Voor het ontwikkelen van AI-agents integreert Databricks met MLflow op dezelfde manier als ml-modelontwikkeling. Er zijn echter enkele belangrijke verschillen:
- Als u AI-agents wilt maken op Databricks, gebruikt u Mosaic AI Agent Framework, die afhankelijk is van MLflow om agentcode, prestatiemetrieken en agenttraceringen bij te houden.
- Als u agents op Databricks wilt evalueren, gebruikt u Mosaic AI Agent Evaluation, die afhankelijk is van MLflow om evaluatieresultaten bij te houden.
- MLflow-tracering voor agents omvat ook MLflow Tracing. Met MLflow Tracing kunt u gedetailleerde informatie bekijken over de uitvoering van de services van uw agent. Tracering registreert de invoer, uitvoer en metagegevens die zijn gekoppeld aan elke tussenliggende stap van een aanvraag, zodat u snel de bron van onverwacht gedrag in agents kunt vinden.
In het volgende diagram ziet u hoe Databricks kan worden geïntegreerd met MLflow om AI-agents te maken en te implementeren.
Door Databricks beheerde MLflow is gebouwd op Unity Catalog en de Cloud Data Lake om al uw gegevens en AI-assets in de levenscyclus van de genAI-app te combineren:
- Vector & functiearchief: geautomatiseerde vector- en functiezoekacties van Databricks vereenvoudigen integratie en verminderen fouten.
- AI-agents maken en evalueren: Mosaic AI Agent Framework en Agent Evaluation helpen u bij het maken en evalueren van agents en het evalueren van hun uitvoer.
- Tracering & tracering: MLflow-tracering legt gedetailleerde informatie vast over de uitvoering van agents voor een verbeterde waarneembaarheid van genAI.
- Modelregister: MLflow Model Registry, geïntegreerd met Unity, centraliseert Catalog AI-modellen en artefacten.
- Model serving: Mosaic AI Model Serving implementeert modellen in een REST API-eindpunt.
- Bewaking: MLflow legt automatisch aanvragen en antwoorden vast voor het bewaken en opsporen van fouten in modellen.
Open source versus door Databricks beheerde MLflow-functies
Raadpleeg MLflow-documentatievoor algemene MLflow-concepten, API's en functies die worden gedeeld tussen open source- en Databricks-beheerde versies. Zie de Databricks-documentatie voor functies die exclusief zijn voor door Databricks beheerde MLflow.
In de volgende table worden de belangrijkste verschillen tussen open source MLflow en door Databricks beheerde MLflow belicht en worden documentatielinks geboden voor meer informatie.
Kenmerk | Beschikbaarheid op open source MLflow | Beschikbaarheid op door Databricks beheerde MLflow |
---|---|---|
Veiligheid | De gebruiker moet een eigen beveiligingsgovernancelaag opgeven | Beveiliging op bedrijfsniveau van Databricks |
Noodherstel | Onbeschikbaar | Databricks-herstel na noodgevallen |
Het volgen van experimenten | MLflow Tracking API | MLflow Tracking-API geïntegreerd met Databricks geavanceerd experimentvolgsysteem |
Modelregister | MLflow-modelregister | MLflow Model Registry geïntegreerd met Databricks Unity Catalog |
Integratie van Unity Catalog | Opensource-integratie met Unity Catalog | Databricks Unity Catalog |
Modelimplementatie | Door de gebruiker geconfigureerde integraties met externe serveroplossingen (SageMaker, Kubernetes, containerservices, enzovoort) | Databricks-model voor het leveren van en externe oplossingen |
AI agents | MLflow LLM-ontwikkeling | MLflow LLM-ontwikkeling geïntegreerd met Mosaic AI Agent Framework en Agent Evaluation |
Versleuteling | Onbeschikbaar | Versleuteling met door de klant beheerde sleutels |