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í.

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.

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. Projděte si příklad kanálů Apache Spark MLlib a strukturovaného streamování.

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:

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.