Nasazení modelů pro dávkové odvozování a predikce
Tento článek popisuje, jak nasadit modely MLflow pro odvozování offline (dávkové a streamování). Databricks doporučuje používat MLflow k nasazení modelů strojového učení pro odvozování dávek nebo streamování. Obecné informace o práci s modely MLflow najdete v tématu Protokoly, načtení, registrace a nasazení modelů MLflow.
Informace o modelu v reálném čase obsluhované v Azure Databricks najdete v tématu Model obsluhující službu Azure Databricks.
Použití MLflow pro odvozování modelů
MLflow pomáhá generovat kód pro odvozování dávek nebo streamování.
- V registru modelů MLflow můžete automaticky vygenerovat poznámkový blok pro dávkové nebo streamované odvozování prostřednictvím dynamických tabulek Delta.
- Na stránce spuštění MLflow pro váš model můžete zkopírovat vygenerovaný fragment kódu pro odvozování v knihovně pandas nebo Apache Spark DataFrames.
Kód vygenerovaný některou z výše uvedených možností můžete také přizpůsobit. Příklady najdete v následujících poznámkových blocích:
- Příklad odvozování modelu používá model natrénovaný pomocí scikit-learn a dříve přihlášený do MLflow, aby ukázal, jak načíst model a použít ho k vytváření predikcí dat v různých formátech. Poznámkový blok ukazuje, jak použít model jako model scikit-learn na datový rámec pandas a jak tento model použít jako UDF PySpark u datového rámce Sparku.
- Příklad registru modelů MLflow ukazuje, jak sestavit, spravovat a nasadit model s registrem modelů. Na této stránce můžete vyhledat
.predict
příklady offline (dávkových) předpovědí.
Vytvoření úlohy Azure Databricks
Pokud chcete spustit dávkové nebo streamované předpovědi jako úlohu, vytvořte poznámkový blok nebo soubor JAR, který obsahuje kód použitý k provádění předpovědí. Potom poznámkový blok nebo SOUBOR JAR spusťte jako úlohu Azure Databricks. Úlohy je možné spouštět okamžitě nebo podle plánu. Viz Plán a orchestrace pracovních postupů.
Odvození streamování
Z registru modelů MLflow můžete automaticky vygenerovat poznámkový blok, který integruje UDF odvozování MLflow PySpark s dynamickými tabulkami Delta.
Vygenerovaný poznámkový blok odvozování můžete také upravit tak, aby používal rozhraní API strukturovaného streamování Apache Sparku.
Odvozování s modely hlubokého učení
Informace o odvozování modelů hlubokého učení a příklady jejich odvozování v Azure Databricks najdete v následujících článcích:
- Pracovní postup odvozování modelů hlubokého učení
- Průvodce optimalizací výkonu odvozování modelů hlubokého učení
- Referenční řešení pro strojové učení
Odvozování s modely MLlib a XGBoost4J
Pro škálovatelnou odvozování modelů pomocí modelů MLlib a XGBoost4J použijte nativní transform
metody k odvozování přímo v datových rámcích Sparku. Příklady poznámkových bloků knihovny MLlib zahrnují kroky odvozování.
Přizpůsobení a optimalizace odvozování modelů
Když použijete rozhraní API MLflow ke spuštění odvozování v datových rámcích Sparku, můžete model načíst jako UDF Sparku a použít ho ve velkém měřítku pomocí distribuovaného computingu.
Model můžete přizpůsobit přidáním předběžného zpracování nebo následného zpracování a optimalizací výpočetního výkonu pro velké modely. Dobrou volbou pro přizpůsobení modelů je rozhraní API Pyfunc MLflow, které umožňuje zabalit model vlastní logikou.
Pokud potřebujete provést další přizpůsobení, můžete model strojového učení ručně zabalit do UDF knihovny Pandas nebo uživatelem definovaného uživatelem iterátoru pandas. Podívejte se na příklady hlubokého učení.
U menších datových sad můžete také použít nativní rutiny odvozování modelu poskytované knihovnou.