Wat is SynapseML?
SynapseML (voorheen bekend als MMLSpark) is een opensource-bibliotheek waarmee het maken van zeer schaalbare machine learning-pijplijnen (ML) wordt vereenvoudigd. 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 gebaseerd op het gedistribueerde Apache Spark-computingframework 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 met één knooppunt, meerdere knooppunten en elastisch formaatbare clusters van computers. Hiermee kunt u uw werk schalen zonder resources te verspillen. SynapseML kan worden gebruikt in Python, R, Scala, Java en .NET. Bovendien abstraheert de API over een groot aantal databases, bestandssystemen en cloudgegevensarchieven om experimenten te vereenvoudigen, ongeacht waar gegevens zich bevinden.
SynapseML vereist Scala 2.12, Spark 3.0+ en Python 3.6+.
Belangrijke functies van SynapseML
Een uniforme 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 bevat met name veel verschillende machine learning-frameworks onder één API die schaalbaar, gegevens- en taalneutraal is en werkt voor batch-, streaming- en servicetoepassingen.
Een geïntegreerde API standaardiseert veel hulpprogramma's, frameworks, algoritmen en stroomlijnt de gedistribueerde machine learning-ervaring. Hiermee kunnen ontwikkelaars snel verschillende machine learning-frameworks opstellen, code schoon houden en werkstromen inschakelen waarvoor meer dan één framework is vereist. Werkstromen zoals leren onder webvisie of het maken van zoekprogramma's vereisen bijvoorbeeld meerdere services en frameworks. SynapseML beschermt gebruikers van deze extra complexiteit.
Vooraf gebouwde intelligente modellen gebruiken
Veel hulpprogramma's in SynapseML vereisen geen grote gelabelde trainingsgegevensset. 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 geavanceerde 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 naar meer dan 100 verschillende talen. Zie de SynapseML-voorbeelden van cognitieve functies voor meer voorbeelden van het gebruik van vooraf gebouwde AI om snel taken op te lossen.
Om de integratie van SynapseML met Azure AI-services snel en efficiënt te maken, introduceert SynapseML veel optimalisaties voor servicegerichte werkstromen. SynapseML parseert met name automatisch algemene beperkingsreacties om ervoor te zorgen dat taken back-endservices niet overbelasten. Daarnaast worden exponentieel back-offs gebruikt om onbetrouwbare netwerkverbindingen en mislukte reacties af te handelen. Ten slotte blijven de werkcomputers van Spark bezig met nieuwe asynchrone parallellismeprimitief voor Spark. Met asynchrone parallelle uitvoering kunnen werkmachines aanvragen verzenden terwijl ze wachten op een reactie van de server en kunnen ze een tienvoudige toename van de doorvoer opleveren.
Brede ecosysteemcompatibiliteit met ONNX
Met SynapseML kunnen ontwikkelaars modellen uit veel verschillende ML-ecosystemen gebruiken via het Open Neural Network Exchange-framework (ONNX). Met deze integratie kunt u een groot aantal klassieke en deep learning-modellen op schaal uitvoeren met slechts een paar regels code. SynapseML verwerkt automatisch het distribueren van ONNX-modellen naar werkknooppunten, het batcheren en bufferen van invoergegevens voor hoge doorvoer en het plannen van werkzaamheden op hardwareversnellers.
Door ONNX naar Spark te brengen, kunnen ontwikkelaars niet alleen deep learning-modellen schalen, maar ook gedistribueerde deductie mogelijk maken in een groot aantal ML-ecosystemen. Met name ONNXMLTools converteert modellen van TensorFlow, scikit-learn, Core ML, LightGBM, XGBoost, H2O en PyTorch naar ONNX voor versnelde en gedistribueerde deductie met behulp van SynapseML.
Verantwoorde AI-systemen bouwen
Na het bouwen van een model is het noodzakelijk dat onderzoekers en technici de beperkingen en het gedrag ervan vóór de implementatie begrijpen. 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 te elimineren. SynapseML versnelt het proces van het begrijpen van het getrainde model van een gebruiker aanzienlijk door ontwikkelaars in staat te stellen berekeningen over honderden computers te distribueren. SynapseML bevat meer specifiek gedistribueerde implementaties van Shapley Additive Explanations (SHAP) en lokaal interpreteerbare modelagnostische uitleg (LIME) om de voorspellingen van vision-, tekst- en tabellaire modellen uit te leggen. Het bevat ook hulpprogramma's zoals individuele voorwaardelijke verwachting (ICE) en gedeeltelijke afhankelijkheidsanalyse voor herkende gegevenssets.
Ondersteuning voor ondernemingen in Azure Synapse Analytics
SynapseML is algemeen beschikbaar in 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 gedistribueerde machine learning-systemen te prototypen, zoals visuele zoekmachines, pijplijnen voor voorspellend onderhoud, documentvertaling en meer.