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 Databricks Model Serving 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 Llama-2-70B-chat, 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 az alapmodellek, például az OpenAI GPT-4-es, 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.