Co je SynapseML?

SynapseML (dříve označovaná jako MMLSpark) je opensourcová knihovna, která zjednodušuje vytváření kanálů strojového učení (ML). SynapseML poskytuje jednoduchá, sestavitelná a distribuovaná rozhraní API pro širokou škálu různých úloh strojového učení, jako je analýza textu, zrak, detekce anomálií a mnoho dalších. SynapseML je postavený na distribuované výpočetní architektuře Apache Spark a sdílí stejné rozhraní API jako knihovna SparkML/MLLib, což umožňuje bezproblémově vkládat modely SynapseML do stávajících pracovních postupů Apache Sparku.

Se 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 clusterech počítačů s jedním, více uzly a elasticky měnit velikost. To vám umožní škálovat práci bez plýtvání prostředky. SynapseML se dá použít v Pythonu, R, Scalě, Javě a .NET. Jeho rozhraní API navíc abstrahuje širokou škálu 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 novější 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 jazyku a funguje pro dávkové, streamované a obslužné aplikace.

Jednotné rozhraní API standardizuje mnoho nástrojů, architektur a algoritmů a zjednodušuje prostředí distribuovaného strojového učení. Umožňuje vývojářům rychle vytvářet různorodé architektury strojového učení, udržovat čistý kód 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ích webů, vyžadují více služeb a architektur. SynapseML chrání uživatele před touto extra složitostí.

Použití předem vytvořených inteligentních modelů

Mnoho nástrojů v SynapseML nevyžaduje velkou trénovací datovou sadu s popiskem. SynapseML místo toho poskytuje jednoduchá rozhraní API pro předdefinované inteligentní služby, jako jsou služby Azure AI, které rychle řeší rozsáhlé problémy S AI související s podnikáním i výzkumem. SynapseML umožňuje vývojářům vložit více než 50 různých nejmodernější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ředem připravené umělé inteligence k rychlému řešení úkolů najdete v "kognitivních" příkladech synapseML.

Aby byla integrace SynapseML se službami Azure AI rychlá a efektivní, přináší SynapseML řadu optimalizací pro pracovní postupy orientované na služby. SynapseML zejména automaticky analyzuje běžné odpovědi na omezování, aby zajistil, že úlohy nezahltí back-endové služby. Kromě toho používá exponenciální back-offs ke zpracování nespolehlivých síťových připojení a neúspěšných odpovědí. Pracovní počítače Sparku zůstávají zaneprázdněné novými primitivami asynchronního 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 ONNX (Open Neural Network Exchange). Díky této integraci můžete spouštět širokou škálu modelů klasického a hlubokého učení 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 nejen pomáhá vývojářům š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 zrychlené a distribuované odvozování pomocí SynapseML.

Sestavování zodpovědných systémů AI

Po vytvoření modelu je nezbytné, aby výzkumníci a technici před nasazením pochopili jeho omezení a chování. 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 odstranily předsudky. SynapseML výrazně urychluje proces pochopení natrénovaného modelu uživatele tím, že vývojářům umožňuje distribuovat výpočty na stovky počítačů. Konkrétně SynapseML zahrnuje distribuované implementace shapley additive explanations (SHAP) a místně interpretovatelných Model-Agnostic Explanations (LIME), které vysvětlují předpovědi zrakových, textových a tabulkových modelů. Zahrnuje také nástroje, jako je individuální podmíněné očekávání (ICE) a analýza částečné závislosti, do rozpoznaných předpojatých datových sad.

Podniková podpora Azure Synapse Analytics

SynapseML je obecně k dispozici v Azure Synapse Analytics s podnikovou podporou. Pomocí služeb Azure AI, LightGBM, ONNX a dalších vybraných funkcí SynapseML můžete vytvářet rozsáhlé kanály strojového učení. Obsahuje dokonce šablony pro rychlé vytváření prototypů 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