MLflow a Databricksen

Ez a cikk azt ismerteti, hogy a Databricks MLflow-ját hogyan használják kiváló minőségű generatív AI-ügynökök és gépi tanulási modellek fejlesztésére.

Jegyzet

Ha még csak most ismerkedik az Azure Databricks szolgáltatással, érdemes kipróbálnia az MLflow-t a Databricks Free Editionben.

Mi az MLflow?

Az MLflow az ügynökök, LLM-ek és ML-modellek legnagyobb nyílt forráskódú AI-mérnöki platformja. Az MLflow lehetővé teszi a különböző méretű csapatok számára az éles minőségű AI-alkalmazások hibakeresését, kiértékelését, monitorozását és optimalizálását a költségek szabályozása és a modellekhez és adatokhoz való hozzáférés kezelése mellett. Több mint 30 millió havi letöltéssel szervezetek ezrei támaszkodnak naponta az MLflow-ra, hogy megbízhatósággal vigyék az AI-t éles környezetbe.

Az MLflow ügynökökhöz és LLM-alkalmazásokhoz készült átfogó funkciókészlete többek között az éles üzemű megfigyelhetőséget, a kiértékelést, a gyors kezelést, a költségek kezelésére szolgáló AI-átjárót és a modellhozzáférést tartalmazza.

A gépi tanulási (ML-) modellfejlesztéshez az MLflow kísérletkövetést, modellértékelési képességeket, éles modellregisztrációs adatbázist és modelltelepítési eszközöket biztosít.

Az MLflow bármilyen LLM-szolgáltatót, ügynök-keretrendszert, ML-kódtárat és programozási nyelvet támogat. Az MLflow natív SDK-kat biztosít Pythonhoz, TypeScripthez/JavaScripthez, Java-hoz és R-hez.

MLflow 3

Az Azure Databricks MLflow 3 a legkorszerűbb megfigyelhetőséget, kiértékelést és azonnali felügyeletet biztosít az ügynökök és LLM-alkalmazások számára. Az ML-modell fejlesztéséhez az MLflow 3 kísérletkövetést, modellértékelést, éles modellregisztrációs adatbázist és modelltelepítési eszközöket biztosít. Az MLflow 3 az Azure Databricksen való használatával a következőt teheti:

  • Központilag nyomon követheti és elemezheti AI alkalmazásai, modelljei és ügynökei teljesítményét minden környezetben, a fejlesztői jegyzetfüzet interaktív lekérdezéseitől kezdve a termelési kötegekben vagy valós idejű kiszolgálások során.

    Modellkövetési felhasználói felület.

  • Vezényelje a kiértékelési és üzembehelyezési munkafolyamatokat a Unity Catalog használatával, és érje el a modell, az AI-alkalmazás vagy az ügynök minden verziójához tartozó átfogó állapotnaplókat.

    Összetett üzembehelyezési feladat, amely szakaszos bevezetést és metrikák gyűjteményét tartalmazza.

  • A modellmetrikák és -paraméterek megtekintése és elérése a Unity Catalog modellverzió oldalán és a REST API-ban.

    Modellverzió lap a Unity Katalógusban, amely több futtatásból származó metrikákat jelenít meg.

  • Jegyzetekkel láthatja el a kéréseket és válaszokat (nyomkövetéseket) az összes AI-alkalmazáshoz és -ügynökhöz, lehetővé téve az emberi szakértők és az automatizált technikák (például az LLM mint-bíró) számára, hogy gazdag visszajelzést nyújtsanak. Ezt a visszajelzést felhasználhatja az alkalmazásverziók teljesítményének értékelésére és összehasonlítására, valamint adatkészletek készítésére a minőség javítása érdekében.

    A modell oldalának Nyomkövetés füle, amelyen több nyomkövetés adatai láthatók.

Ezek a képességek egyszerűsítik és hatékonyabbá teszik az AI-kezdeményezések kiértékelését, üzembe helyezését, hibakeresését és monitorozását.

Az MLflow 3 a naplózott modellek és az üzembehelyezési feladatok fogalmait is bemutatja.

  • A naplózott modellek segítségével nyomon követheti egy modell előrehaladását az életciklusa során. Amikor egy modellt a log_model() használatával naplóz, létrejön egy LoggedModel, amely a modell teljes életciklusa alatt, különböző környezetekben és futtatások során fennmarad, és hivatkozásokat tartalmaz olyan összetevőkre, mint a metaadatok, a metrikák, a paraméterek és a modell létrehozásához használt kód. A Naplózott modell használatával összehasonlíthatja a modelleket egymással, megkeresheti a leg teljesítményű modellt, és a hibakeresés során nyomon követheti az információkat.
  • Az üzembehelyezési feladatok a modell életciklusának kezelésére használhatók, beleértve az olyan lépéseket, mint a kiértékelés, a jóváhagyás és az üzembe helyezés. Ezeket a modell-munkafolyamatokat a Unity Catalog szabályozza, és az összes eseményt egy tevékenységnaplóba menti, amely a Unity Katalógus modellverzió lapján érhető el.

Az MLflow 3 telepítéséhez és használatának első lépéseihez tekintse meg az alábbi cikkeket.

Databricks által felügyelt MLflow

A Databricks az MLflow teljes körűen felügyelt és üzemeltetett verzióját biztosítja, amely a nyílt forráskódú felületre épül, hogy robusztusabbá és méretezhetőbbé tegye a vállalati használatra.

Ügynökök és LLM-alkalmazások

A Databricks MLflow teljes platformot biztosít az ügynökök és LLM-alkalmazások fejlesztéséhez, kiértékeléséhez és monitorozásához.

  • Megfigyelhetőség:Az MLflow Tracing rögzíti a kérés minden közbenső lépéséhez tartozó bemeneteket, kimeneteket és metaadatokat, így gyorsan megtalálhatja a váratlan viselkedés forrását az ügynökökben.
  • Értékelés: Használja a Mozaik AI-ügynök kiértékelését az MLflow-értékelésen alapuló ügynökminőség mérésére és javítására.
  • Parancssor kezelése: Az AI-alkalmazásokban használt parancssori sablonok verziója, kezelése és iterálása.
  • Ügynökfejlesztés: A Mozaik AI-ügynök keretrendszerével ügynököket hozhat létre, amelyek az MLflow-ra támaszkodva követik nyomon az ügynökkódokat, a teljesítménymetrikákat és a nyomkövetéseket.
  • Interaktív hibakeresés: Használja a Genie Code-ot az ügynök megfigyelhetőségéhez és kiértékeléséhez, hogy természetes nyelvi hozzáférést biztosítson a nyomkövetésekhez, a kiértékelési futtatásokhoz, a scorerekhez és még sok minden máshoz az MLflow kísérletben.

ML-modell fejlesztése

A Databricks MLflowja kísérletkövetést, modellértékelést, éles modellregisztrációs adatbázist és modelltelepítési eszközöket biztosít az ML-modellek fejlesztéséhez.

Az alábbi ábra bemutatja, hogyan integrálható a Databricks az MLflow-jal a gépi tanulási modellek betanítása és üzembe helyezése érdekében.

Az MLflow integrálható a Databricks szolgáltatással az ML-modellek fejlesztéséhez és üzembe helyezéséhez.

A Databricks által felügyelt MLflow a Unity Catalogra és a Cloud Data Lake-ra épül, hogy egyesítse az ml-életciklus összes adatát és AI-eszközét:

  1. Funkciótár: A Databricks automatizált funkciókeresései leegyszerűsítik az integrációt, és csökkentik a hibákat.
  2. Modellek betanítása: A Mozaik AI használata modellek betanítására vagy alapmodellek finomhangolására.
  3. Nyomon követés: Az MLflow paraméterek, metrikák és összetevők naplózásával nyomon követi a betanítást a modell teljesítményének kiértékelése és összehasonlítása érdekében.
  4. Modellregisztrációs adatbázis: MLflow modellregisztrációs adatbázisa, amely a Unity Katalógussal integrálva központosítja az AI-modelleket és -összetevőket.
  5. modellkiszolgáló: Mozaik AI-modellkiszolgáló modelleket helyez üzembe egy REST API-végponton.
  6. Monitorozás: Mozaik AI-modellkiszolgáló automatikusan rögzíti a modellek monitorozására és hibakeresésére irányuló kéréseket és válaszokat. Az MLflow ezeket az adatokat az egyes kérések nyomkövetési adataival egészíti ki.

Modell tanítása

Az MLflow-modellek a Databricks AI- és ML-fejlesztésének középpontjában állnak. Az MLflow-modellek szabványosított formátumot jelentenek a gépi tanulási modellek és a generatív AI-ügynökök csomagolásához. A szabványosított formátum biztosítja, hogy a Databricks alsóbb rétegbeli eszközei és munkafolyamatai modelleket és ügynököket használjanak.

A Databricks funkciókat biztosít, amelyek segítenek különféle gépi tanulási modellek betanításában.

Kísérletkövetés

A Databricks MLflow-kísérleteket használ szervezeti egységként, hogy nyomon kövesse a munkáját a modellek fejlesztése során.

A kísérletkövetés lehetővé teszi paraméterek, metrikák, összetevők és kódverziók naplózását és kezelését a gépi tanulási betanítás és az ügynökfejlesztés során. A naplók kísérletekbe és futtatásokba való rendszerezése lehetővé teszi a modellek összehasonlítását, a teljesítmény elemzését és az iterációt.

Modellregisztrációs adatbázis a Unity-katalógussal

Az MLflow Modellregisztrációs adatbázis egy központosított modelladattár, felhasználói felület és API-k készlete a modell üzembehelyezési folyamatának kezeléséhez.

A Databricks integrálja a Modellregisztrációs adatbázist a Unity Katalógussal, hogy központosított szabályozást biztosítson a modellek számára. A Unity Catalog integrálása lehetővé teszi a munkaterületek közötti modellek elérését, a modell-leállás nyomon követését és az újra felhasználható modellek felderítését.

Modell kiszolgálás

A Databricks Model Serving szorosan integrálva van az MLflow-modellregisztrációs adatbázissal, és egységes, méretezhető felületet biztosít az AI-modellek üzembe helyezéséhez, szabályozásához és lekérdezéséhez. Minden kiszolgált modell REST API-ként érhető el, amelyet webes vagy ügyfélalkalmazásokba integrálhat.

Bár ezek különböző összetevők, a modellkiszolgálók nagymértékben támaszkodnak az MLflow Modellregisztrációs adatbázisra a modellverziók, a függőségek kezelése, az ellenőrzés és a szabályozás kezeléséhez.

Nyílt forráskódú és Databricks által felügyelt MLflow-funkciók

A nyílt forráskódú és a Databricks által felügyelt verziók között megosztott általános MLflow-fogalmakért, API-kért és funkciókért tekintse meg MLflow dokumentációját. A Databricks által felügyelt MLflow-szolgáltatásokról a Databricks dokumentációjában olvashat.

Az alábbi táblázat a nyílt forráskódú MLflow és a Databricks által felügyelt MLflow közötti főbb különbségeket emeli ki, és dokumentációs hivatkozásokat tartalmaz a további információkhoz:

Funkció Rendelkezésre állás nyílt forráskódú MLflow-on Rendelkezésre állás a Databricks által felügyelt MLflow-on
Biztonság A felhasználónak saját biztonsági szabályozási réteget kell biztosítania Databricks nagyvállalati szintű biztonság
Katasztrófa-helyreállítás Rendelkezésre nem álló Databricks katasztrófa utáni helyreállítás
Kísérletkövetés MLflow Tracking API MLflow Tracking API a Databricks fejlett kísérletkövetésével integrálva
Modellregisztrációs adatbázis MLflow-modellregisztráció MLflow Modellregisztráció integrálva a Databricks Unity Cataloggal
Unity Catalog-integráció Nyílt forráskódú integráció a Unity Katalógussal Databricks Unity katalógus
Modell üzembe helyezése Felhasználó által konfigurált integráció külső kiszolgáló megoldásokkal (SageMaker, Kubernetes, tárolószolgáltatások stb.) Databricks-modell szolgáltatás és külső szolgáltatási megoldások
AI-ügynökök MLflow LLM fejlesztés Integrált MLflow LLM-fejlesztés a Mozaik AI-ügynök keretrendszerrel és a ügynökértékeléssel
Titkosítás Rendelkezésre nem álló Titkosítás ügyfél által felügyelt kulcsokkal

Jegyzet

A nyílt forráskódú telemetriai gyűjtemény az MLflow 3.2.0-ban lett bevezetve, és alapértelmezés szerint le van tiltva a Databricksben. További részletekért tekintse meg az MLflow használatkövetési dokumentációját.