Wat is SynapseML?

SynapseML (voorheen bekend als MMLSpark) is een opensource-bibliotheek die het maken van zeer schaalbare ML-pijplijnen (Machine Learning) vereenvoudigt. SynapseML biedt eenvoudige, samenstelbare en gedistribueerde API's voor een groot aantal verschillende machine learning-taken, zoals tekstanalyse, visie, anomaliedetectie en vele andere. SynapseML is gebouwd op het Apache Spark Distributed Computing Framework en deelt dezelfde API als de SparkML/MLLib-bibliotheek, zodat u SynapseML-modellen naadloos kunt insluiten in bestaande Apache Spark-werkstromen.

Met SynapseML kunt u schaalbare en intelligente systemen bouwen om uitdagingen op te lossen in domeinen zoals anomaliedetectie, computer vision, deep learning, tekstanalyse en andere. SynapseML kan modellen trainen en evalueren op clusters van computers met één knooppunt, meerdere knooppunten en elastische grootte. Hiermee kunt u uw werk schalen zonder resources te verspillen. SynapseML is bruikbaar in Python, R, Scala, Java en .NET. Bovendien wordt de API geabstraheerd over een groot aantal databases, bestandssystemen en cloudgegevensarchieven om experimenten te vereenvoudigen, ongeacht waar de gegevens zich bevinden.

SynapseML vereist Scala 2.12, Spark 3.0+ en Python 3.6+.

Belangrijkste functies van SynapseML

Een geïntegreerde API voor het maken, trainen en scoren van modellen

SynapseML biedt een geïntegreerde API die het ontwikkelen van fouttolerante gedistribueerde programma's vereenvoudigt. SynapseML maakt met name veel verschillende machine learning-frameworks beschikbaar onder één API die schaalbaar, gegevens- en taalneutraal is en werkt voor batchgewijs, streaming- en servicetoepassingen.

Een geïntegreerde API standaardiseert veel hulpprogramma's, frameworks en algoritmen en stroomlijnt de gedistribueerde machine learning-ervaring. Het stelt ontwikkelaars in staat om snel verschillende machine learning-frameworks samen te stellen, code schoon te houden en werkstromen in te schakelen waarvoor meer dan één framework is vereist. Werkstromen zoals leren onder web supervisie of het maken van zoekmachines vereisen bijvoorbeeld meerdere services en frameworks. SynapseML beschermt gebruikers tegen deze extra complexiteit.

Vooraf gebouwde intelligente modellen gebruiken

Voor veel hulpprogramma's in SynapseML is geen grote gelabelde trainingsgegevensset vereist. In plaats daarvan biedt SynapseML eenvoudige API's voor vooraf gebouwde intelligente services, zoals Azure AI-services, om snel grootschalige AI-uitdagingen op te lossen die betrekking hebben op zowel zakelijk als onderzoek. Met SynapseML kunnen ontwikkelaars meer dan 50 verschillende state-of-the-art ML-services rechtstreeks in hun systemen en databases insluiten. Deze kant-en-klare algoritmen kunnen een groot aantal documenten parseren, gesprekken met meerdere sprekers in realtime transcriberen en tekst vertalen in meer dan 100 verschillende talen. Zie de 'cognitieve' voorbeelden van SynapseML voor meer voorbeelden van het gebruik van vooraf gebouwde AI om taken snel op te lossen.

Om de integratie van SynapseML met Azure AI-services snel en efficiënt te maken, introduceert SynapseML veel optimalisaties voor servicegeoriënteerde werkstromen. SynapseML parseert met name automatisch veelvoorkomende beperkingsreacties om ervoor te zorgen dat taken de back-endservices niet overbelasten. Daarnaast worden exponentieel back-offs gebruikt om onbetrouwbare netwerkverbindingen en mislukte reacties af te handelen. Ten slotte blijven de werkmachines van Spark bezig met nieuwe asynchrone parallelle primitieven voor Spark. Met asynchroon parallellisme kunnen werkmachines aanvragen verzenden terwijl ze wachten op een reactie van de server, wat een tienvoudige toename in doorvoer kan opleveren.

Brede ecosysteemcompatibiliteit met ONNX

Met SynapseML kunnen ontwikkelaars modellen uit veel verschillende ML-ecosystemen gebruiken via het ONNX-framework (Open Neural Network Exchange). Met deze integratie kunt u een groot aantal klassieke en deep learning-modellen op schaal uitvoeren met slechts enkele regels code. SynapseML verwerkt automatisch het distribueren van ONNX-modellen naar werkknooppunten, het batchen en bufferen van invoergegevens voor hoge doorvoer en het plannen van werk aan hardwareversnellers.

Door ONNX naar Spark te brengen, kunnen ontwikkelaars niet alleen deep learning-modellen schalen, maar ook gedistribueerde deductie over een groot aantal ML-ecosystemen mogelijk maken. OnNXMLTools converteert met name modellen van TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O en PyTorch naar ONNX voor versnelde en gedistribueerde deductie met behulp van SynapseML.

Verantwoordelijke AI-systemen bouwen

Na het bouwen van een model is het essentieel dat onderzoekers en technici de beperkingen en het gedrag ervan begrijpen voordat ze worden geïmplementeerd. SynapseML helpt ontwikkelaars en onderzoekers bij het bouwen van verantwoorde AI-systemen door nieuwe hulpprogramma's te introduceren die laten zien waarom modellen bepaalde voorspellingen doen en hoe ze de trainingsgegevensset kunnen verbeteren om vooroordelen weg te nemen. SynapseML versnelt het proces voor het begrijpen van het getrainde model van een gebruiker aanzienlijk door ontwikkelaars in staat te stellen berekeningen over honderden machines te verdelen. SynapseML bevat met name gedistribueerde implementaties van Shapley Additive Explanations (SHAP) en Local Interpretable Model-Agnostic Explanations (LIME) om de voorspellingen van visuele, tekst- en tabelmodellen uit te leggen. Het bevat ook hulpprogramma's zoals ICE (Individual Conditional Expectation) en gedeeltelijke afhankelijkheidsanalyse voor herkende bevooroordeende gegevenssets.

Enterprise-ondersteuning voor Azure Synapse Analytics

SynapseML is algemeen beschikbaar op Azure Synapse Analytics met ondersteuning voor ondernemingen. U kunt grootschalige machine learning-pijplijnen bouwen met behulp van Azure AI-services, LightGBM, ONNX en andere geselecteerde SynapseML-functies. Het bevat zelfs sjablonen om snel een prototype te maken van gedistribueerde machine learning-systemen, zoals visuele zoekmachines, pijplijnen voor voorspellend onderhoud, documentvertaling en meer.

Volgende stappen