Share via


Vad är SynapseML?

SynapseML (tidigare MMLSpark) är ett bibliotek med öppen källkod som förenklar skapandet av massivt skalbara ML-pipelines (Machine Learning). SynapseML tillhandahåller enkla, komposterbara och distribuerade API:er för en mängd olika maskininlärningsuppgifter som textanalys, syn, avvikelseidentifiering och många andra. SynapseML bygger på Apache Spark-ramverket för distribuerad databehandling och delar samma API som SparkML/MLLib-biblioteket, så att du smidigt kan bädda in SynapseML-modeller i befintliga Apache Spark-arbetsflöden.

Med SynapseML kan du skapa skalbara och intelligenta system för att lösa utmaningar i domäner som avvikelseidentifiering, visuellt innehåll, djupinlärning, textanalys med mera. SynapseML kan träna och utvärdera modeller på en nod, flera noder och elastiskt storleksbara kluster med datorer. På så sätt kan du skala ditt arbete utan att slösa resurser. SynapseML kan användas i Python, R, Scala, Java och .NET. Dessutom abstraherar API:et över en mängd olika databaser, filsystem och molndatalager för att förenkla experiment oavsett var data finns.

SynapseML kräver Scala 2.12, Spark 3.0+och Python 3.6+.

Viktiga funktioner i SynapseML

Ett enhetligt API för att skapa, träna och bedöma modeller

SynapseML erbjuder ett enhetligt API som förenklar utvecklingen av feltoleranta distribuerade program. SynapseML exponerar särskilt många olika maskininlärningsramverk under ett enda API som är skalbart, data- och språkoberoende och fungerar för batch-, strömnings- och serveringsprogram.

Ett enhetligt API standardiserar många verktyg, ramverk, algoritmer och effektiviserar den distribuerade maskininlärningsupplevelsen. Det gör det möjligt för utvecklare att snabbt skapa olika ramverk för maskininlärning, hålla koden ren och aktivera arbetsflöden som kräver mer än ett ramverk. Till exempel kräver arbetsflöden som webbaserad utbildning eller skapande av sökmotorer flera tjänster och ramverk. SynapseML skyddar användarna från den här extra komplexiteten.

Använda fördefinierade intelligenta modeller

Många verktyg i SynapseML kräver inte en stor utbildningsdatauppsättning med etiketter. I stället tillhandahåller SynapseML enkla API:er för fördefinierade intelligenta tjänster, till exempel Azure AI-tjänster, för att snabbt lösa storskaliga AI-utmaningar som rör både företag och forskning. SynapseML gör det möjligt för utvecklare att bädda in över 50 olika toppmoderna ML-tjänster direkt i sina system och databaser. Dessa färdiga algoritmer kan parsa en mängd olika dokument, transkribera konversationer med flera talare i realtid och översätta text till över 100 olika språk. Fler exempel på hur du använder förbyggd AI för att lösa uppgifter snabbt finns i SynapseML-exemplen på "kognitiva".

För att göra SynapseML-integreringen med Azure AI-tjänster snabb och effektiv introducerar SynapseML många optimeringar för tjänstorienterade arbetsflöden. SynapseML parsar i synnerhet automatiskt vanliga begränsningssvar för att säkerställa att jobben inte överbelastar serverdelstjänster. Dessutom använder den exponentiella back-offs för att hantera otillförlitliga nätverksanslutningar och misslyckade svar. Slutligen är Sparks arbetsdatorer upptagna med nya asynkrona parallellitetsprimiteter för Spark. Asynkron parallellitet gör att arbetsdatorer kan skicka begäranden medan de väntar på ett svar från servern och kan ge en tiofaldig ökning av dataflödet.

Bred ekosystemkompatibilitet med ONNX

SynapseML gör det möjligt för utvecklare att använda modeller från många olika ML-ekosystem via ONNX-ramverket (Open Neural Network Exchange). Med den här integreringen kan du köra en mängd olika klassiska modeller och djupinlärningsmodeller i stor skala med bara några få kodrader. SynapseML hanterar automatiskt distribution av ONNX-modeller till arbetsnoder, batchbearbetning och buffring av indata för högt dataflöde och schemaläggning av arbete på maskinvaruacceleratorer.

Att ta ONNX till Spark hjälper inte bara utvecklare att skala djupinlärningsmodeller, utan möjliggör även distribuerad slutsatsdragning i en mängd olika ML-ekosystem. I synnerhet konverterar ONNXMLTools modeller från TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O och PyTorch till ONNX för accelererad och distribuerad slutsatsdragning med synapseML.

Skapa ansvarsfulla AI-system

När du har skapat en modell är det viktigt att forskare och tekniker förstår dess begränsningar och beteende före distributionen. SynapseML hjälper utvecklare och forskare att skapa ansvarsfulla AI-system genom att introducera nya verktyg som visar varför modeller gör vissa förutsägelser och hur du kan förbättra träningsdatauppsättningen för att eliminera fördomar. SynapseML påskyndar dramatiskt processen för att förstå en användares tränade modell genom att göra det möjligt för utvecklare att distribuera beräkningen på hundratals datorer. Mer specifikt innehåller SynapseML distribuerade implementeringar av Shapley Additive Explanations (SHAP) och Locally Interpretable Model-Agnostic Explanations (LIME) för att förklara förutsägelserna om visioner, text och tabellmodeller. Den innehåller även verktyg som individuella villkorsstyrda förväntningar (ICE) och partiell beroendeanalys för identifierade partiska datauppsättningar.

Enterprise-stöd för Azure Synapse Analytics

SynapseML är allmänt tillgängligt på Azure Synapse Analytics med företagssupport. Du kan skapa storskaliga maskininlärningspipelines med hjälp av Azure AI-tjänster, LightGBM, ONNX och andra valda SynapseML-funktioner. Den innehåller även mallar för att snabbt skapa prototyper för distribuerade maskininlärningssystem, till exempel visuella sökmotorer, pipelines för förutsägande underhåll, dokumentöversättning med mera.

Nästa steg