ML-életciklus-kezelés MLflow használatával
Ez a cikk bemutatja, hogyan használható az MLflow a Databricksben a gépi tanulási életciklus-felügyelethez. Olyan példákat is tartalmaz, amelyek bemutatják az egyes MLflow-összetevőket, és olyan tartalmakra mutató hivatkozásokat is tartalmaznak, amelyek ismertetik, hogyan üzemeltetik ezeket az összetevőket az Azure Databricksben.
A Databricks ml-életciklus-kezelését a felügyelt MLflow biztosítja. Az Azure Databricks az MLflow egy teljes mértékben felügyelt és futtatott verzióját tartalmazza integrált vállalati biztonsági funkciókkal, magas rendelkezésre állással és egyéb Azure Databricks-munkaterületi funkciókkal, például kísérletekkel, futtatási felügyelettel és a jegyzetfüzetek verziórögzítésével.
Első alkalommal a felhasználóknak az MLflow-kísérletek első lépéseivel kell kezdődnie, amely bemutatja az MLflow alapvető nyomkövetési API-jait.
Mi az MLflow?
Az MLflow egy nyílt forráskódú platform, amely lehetővé teszi a teljes gépi tanulási életciklus kezelését. A következő elsődleges összetevőket tartalmazza:
- Nyomon követés: Lehetővé teszi a kísérletek nyomon követését a paraméterek és eredmények rögzítéséhez és összehasonlításához.
- Modellek: Lehetővé teszi modellek kezelését és üzembe helyezését különböző ML-kódtárakból különböző modellkiszolgáló és következtetési platformokon.
- Projektek: Lehetővé teszi az ML-kód újrahasználható, reprodukálható formában történő csomagolását, hogy más adatelemzőkkel megossza, vagy az éles környezetbe továbbíthassa.
- Modellregisztrációs adatbázis: Lehetővé teszi egy modelltároló központosítását a modellek teljes életciklus-fázisbeli áttűnéseinek kezeléséhez: az előkészítéstől az éles környezetig, a verziószámozás és a széljegyzetkészítés képességeivel. A Databricks a Modellregisztrációs adatbázis felügyelt verzióját biztosítja a Unity Katalógusban.
- Modellkiszolgáló: Lehetővé teszi az MLflow-modellek REST-végpontként való üzemeltetését. A Databricks egységes felületet biztosít a kiszolgált AI-modellek üzembe helyezéséhez, szabályozásához és lekérdezéséhez.
Az MLflow a Java, Python, R és REST API-kat támogatja.
Az MLflow-adatokat az Azure Databricks egy platform által felügyelt kulccsal titkosítja. A felügyelt szolgáltatások ügyfél által felügyelt kulcsait használó titkosítás nem támogatott.
MLflow-nyomkövetés
Az Azure Databricks MLflow integrált élményt nyújt a gépi tanulási és mélytanulási modellek betanítási futásainak nyomon követéséhez és biztonságossá tételéhez.
Modell életciklusának kezelése
Az MLflow Model Registry egy központosított modelladattár, valamint egy felhasználói felület és API-készlet, amely lehetővé teszi az MLflow-modellek teljes életciklusának kezelését. A Databricks az MLflow modellregisztrációs adatbázis egy üzemeltetett verzióját biztosítja a Unity Catalogban. A Unity Catalog központosított modellszabályozást, munkaterületek közötti hozzáférést, fejlesztést és üzembe helyezést biztosít. A modell életciklusának Unity-katalógusban való kezelésével kapcsolatos részletekért lásd : Modelléletciklus kezelése a Unity Katalógusban.
Ha a munkaterület nincs engedélyezve a Unity Catalogban, használhatja a munkaterületmodell-beállításjegyzéket.
Modellregisztrációs adatbázis fogalmai
- Modell: Egy olyan kísérletből naplózott MLflow-modell vagy futtatás, amely a modell ízének
mlflow.<model-flavor>.log_model
egyik metódusával van naplózva. Miután naplózott egy modellt, regisztrálhatja a modellregisztrációs adatbázisban. - Regisztrált modell: A modellregisztrációs adatbázisban regisztrált MLflow-modell. A regisztrált modell egyedi névvel, verziókkal, modellleállással és egyéb metaadatokkal rendelkezik.
- Modellverzió: Regisztrált modell verziója. Amikor hozzáad egy új modellt a Modellregisztrációs adatbázishoz, az 1. verzióként lesz hozzáadva. Az azonos modellnévre regisztrált összes modell növeli a verziószámot.
- Modell aliasa: Az alias egy mutable, amely egy regisztrált modell egy adott verziójára hivatkozik. Az aliasok tipikus használatával megadhatja, hogy mely modellverziók legyenek üzembe helyezve egy adott környezetben a modell betanítási munkafolyamataiban, vagy olyan következtetési számítási feladatok írására, amelyek egy adott aliast céloznak meg. Hozzárendelheti például a "Csalásészlelés" regisztrált modell "Champion" aliasát ahhoz a modellverzióhoz, amely az éles forgalom nagy részét kiszolgálja, majd olyan következtetési számítási feladatokat írhat, amelyek az adott aliast célzik (vagyis előrejelzéseket készíthet a "Champion" verzióval).
- Modellszakasz (csak munkaterületi modell beállításjegyzéke): A modellverziók egy vagy több fázishoz rendelhetők hozzá. Az MLflow előre definiált szakaszokat biztosít a gyakori használati esetekhez: Nincs, Előkészítés, Éles és Archivált. A megfelelő engedéllyel át lehet váltani a modellverziót a szakaszok között, vagy kérheti a modell fázisáttűnését. A modellverzió szakaszai nem használhatók a Unity Katalógusban.
- Leírás: Megjegyzést fűzhet a modell szándékához, beleértve a leírást és a csapat számára hasznos információkat, például az algoritmus leírását, az alkalmazott adatkészletet vagy a módszertant.
Példajegyzetfüzetek
Egy példa, amely bemutatja, hogyan használható a Modellregisztrációs adatbázis egy olyan gépi tanulási alkalmazás létrehozására, amely előrejelzést készít egy szélfarm napi teljesítménykimenetéről, tekintse meg a következőket:
Modell üzembe helyezése
A Mozaik AI-modellkiszolgáló egységes 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 integrálhat a web- vagy ügyfélalkalmazásba.
A kiszolgáló modell támogatja a kiszolgálást:
- Egyéni modellek. Ezek MLflow formátumban csomagolt Python-modellek. Regisztrálhatók a Unity Katalógusban vagy a munkaterület-modell beállításjegyzékében. Ilyenek például a scikit-learn, az XGBoost, a PyTorch és az Ölelés Arc transzformátormodellek.
- A Foundation Model API-k által elérhetővé tett korszerű nyílt modellek. Ezek a modellek olyan válogatott alapmodell-architektúrák, amelyek támogatják az optimalizált következtetést. Az alapmodellek, például a Meta-Llama-3.1-70B-Instruct, a BGE-Large és a Mistral-7B azonnali használatra érhetők el a jogkivonatonkénti díjszabással, és a teljesítménygaranciát és finomhangolt modellvariánsokat igénylő számítási feladatok üzembe helyezhetők kiosztott átviteli sebességgel.
- Külső modellek. Ezek a Databricksen kívül üzemeltetett modellek. Ilyenek például a generatív AI-modellek, például az OpenAI GPT-4, az antropikus Claude és mások. A külső modelleket kiszolgáló végpontok központilag szabályozhatók, és az ügyfelek sebességkorlátokat és hozzáférési vezérlőket hozhatnak létre számukra.
Az MLflow-modelleket offline következtetésre is üzembe helyezheti, lásd : Modellek üzembe helyezése kötegkövetkeztetéshez.