Co je SynapseML?
SynapseML (dříve označovaná jako MMLSpark) je opensourcová knihovna, která zjednodušuje vytváření široce škálovatelných kanálů strojového učení (ML). SynapseML poskytuje jednoduchá, kompozovatelná a distribuovaná rozhraní API pro širokou škálu různých úloh strojového učení, jako je analýza textu, zpracování obrazu, detekce anomálií a mnoho dalších. SynapseML je založená na architektuře distribuovaného výpočetního prostředí Apache Spark a sdílí stejné rozhraní API jako knihovna SparkML/MLLib, která umožňuje bezproblémově vkládat modely SynapseML do stávajících pracovních postupů Apache Sparku.
Díky SynapseML můžete vytvářet škálovatelné a inteligentní systémy pro řešení problémů v oblastech, jako je detekce anomálií, počítačové zpracování obrazu, hluboké učení, analýza textu a další. SynapseML může trénovat a vyhodnocovat modely na jednom uzlu, ve více uzlech a elasticky měnitelných clusterech počítačů. Díky tomu můžete škálovat práci bez plýtvání prostředky. SynapseML je použitelné napříč Pythonem, R, Scalou, Javou a .NET. Kromě toho jeho rozhraní API abstrahuje z celé řady databází, systémů souborů a cloudových úložišť dat, aby se zjednodušily experimenty bez ohledu na to, kde se data nacházejí.
SynapseML vyžaduje Scala 2.12, Spark 3.0+ a Python 3.6+.
Klíčové funkce SynapseML
Jednotné rozhraní API pro vytváření, trénování a bodování modelů
SynapseML nabízí jednotné rozhraní API, které zjednodušuje vývoj distribuovaných programů odolných proti chybám. SynapseML konkrétně zveřejňuje mnoho různých architektur strojového učení v rámci jednoho rozhraní API, které je škálovatelné, nezávislé na datech a jazycích a funguje pro dávkové, streamované a obsluhující aplikace.
Jednotné rozhraní API standardizuje mnoho nástrojů, architektur, algoritmů a zjednodušuje distribuované prostředí strojového učení. Umožňuje vývojářům rychle vytvářet různorodé architektury strojového učení, udržovat kód čistý a umožňuje pracovní postupy, které vyžadují více než jednu architekturu. Například pracovní postupy, jako je učení pod dohledem webu nebo vytváření vyhledávacího webu, vyžadují více služeb a architektur. SynapseML chrání uživatele před touto složitostí.
Použití předdefinovaných inteligentních modelů
Mnoho nástrojů ve službě SynapseML nevyžaduje velkou trénovací datovou sadu s popisky. Místo toho SynapseML poskytuje jednoduchá rozhraní API pro předem vytvořené inteligentní služby, jako jsou služby Azure AI, a umožňuje tak rychle řešit rozsáhlé výzvy AI související s obchodními i výzkumy. SynapseML umožňuje vývojářům vložit více než 50 různých špičkových služeb ML přímo do svých systémů a databází. Tyto algoritmy připravené k použití můžou analyzovat širokou škálu dokumentů, přepisovat konverzace s více mluvčími v reálném čase a překládat text do více než 100 různých jazyků. Další příklady použití předdefinované umělé inteligence k rychlému řešení úloh najdete v příkladech kognitivních funkcí SynapseML.
Aby byla integrace SynapseML se službami Azure AI rychlá a efektivní, představuje mnoho optimalizací pro pracovní postupy orientované na služby. Konkrétně SynapseML automaticky parsuje běžné odpovědi na omezování, aby se zajistilo, že úlohy nezahltí back-endové služby. Kromě toho používá exponenciální zpětná vypnutí ke zpracování nespolehlivých síťových připojení a neúspěšných odpovědí. Nakonec pracovní počítače Sparku zůstávají zaneprázdněné novými primitivními asynchronními paralelismu pro Spark. Asynchronní paralelismus umožňuje pracovním počítačům odesílat požadavky při čekání na odpověď ze serveru a může přinést desetinásobné zvýšení propustnosti.
Široká kompatibilita ekosystému s ONNX
SynapseML umožňuje vývojářům používat modely z mnoha různých ekosystémů ML prostřednictvím architektury Open Neural Network Exchange (ONNX). Díky této integraci můžete spouštět širokou škálu klasických a hloubkových modelů ve velkém měřítku s několika řádky kódu. SynapseML automaticky zpracovává distribuci modelů ONNX do pracovních uzlů, dávkování a ukládání vstupních dat do vyrovnávací paměti pro zajištění vysoké propustnosti a plánování práce na hardwarových akcelerátorech.
Přenesení ONNX do Sparku pomáhá vývojářům nejen škálovat modely hlubokého učení, ale také umožňuje distribuované odvozování napříč širokou škálou ekosystémů ML. Konkrétně ONNXMLTools převádí modely z TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O a PyTorch na ONNX pro akcelerované a distribuované odvozování pomocí SynapseML.
Sestavování zodpovědných systémů AI
Po vytvoření modelu je nezbytné, aby výzkumní pracovníci a technici pochopili svá omezení a chování před nasazením. SynapseML pomáhá vývojářům a výzkumníkům vytvářet zodpovědné systémy AI tím, že zavádí nové nástroje, které odhalí, proč modely vytvářejí určité předpovědi a jak vylepšit trénovací datovou sadu, aby se eliminovaly předsudky. SynapseML výrazně zrychluje proces pochopení vytrénovaného modelu uživatele tím, že vývojářům umožňuje distribuovat výpočty napříč stovkami počítačů. Konkrétně SynapseML zahrnuje distribuované implementace Shapley Additive Explanations (SHAP) a místně interpretovatelné modelově nezávislé vysvětlení (LIME) k vysvětlení předpovědí obrazu, textu a tabulkových modelů. Obsahuje také nástroje, jako je individuální podmíněné očekávání (ICE) a částečná analýza závislosti na rozpoznaných předsazeních datových sad.
Podniková podpora ve službě Azure Synapse Analytics
SynapseML je obecně k dispozici ve službě Azure Synapse Analytics s podnikovou podporou. Kanály strojového učení ve velkém měřítku můžete vytvářet pomocí služeb Azure AI, LightGBM, ONNX a dalších vybraných funkcí SynapseML. Zahrnuje i šablony pro rychlé prototypy distribuovaných systémů strojového učení, jako jsou vizuální vyhledávací weby, kanály prediktivní údržby, překlad dokumentů a další.
Další kroky
Další informace o SynapseML najdete v tématu SynapseML: Jednoduchá, vícejazyčná a široce paralelní knihovna strojového učení.