Machine learning op schaal

Machine learning (ML) is een techniek die wordt gebruikt om voorspellende modellen te trainen op basis van wiskundige algoritmen. Machine learning analyseert de relaties tussen gegevensvelden om onbekende waarden te voorspellen.

Het maken en implementeren van machine learning model is een iteratief proces:

  • Gegevenswetenschappers verkennen de brongegevens om relaties tussen functies en voorspelde labels te bepalen.
  • De gegevenswetenschappers trainen en valideren modellen op basis van de juiste algoritmen om het optimale model voor voorspelling te vinden.
  • Het optimale model wordt geïmplementeerd in productie, als een webservice of een andere ingekapselde functie.
  • Wanneer er nieuwe gegevens worden verzameld, wordt het model periodiek opnieuw getraind om de effectiviteit te verbeteren.

Machine learning op schaal behandelt twee verschillende schaalbaarheidsproblemen. De eerste is het trainen van een model op grote gegevenssets waarvoor de uitschaalmogelijkheden van een cluster nodig zijn om te trainen. De tweede is gebaseerd op het operationeel maken van het geleerde model, zodat het kan worden geschaald om te voldoen aan de eisen van de toepassingen die het gebruiken. Dit wordt doorgaans bereikt door de voorspellende mogelijkheden te implementeren als een webservice die vervolgens kan worden geschaald.

Machine learning op schaal heeft het voordeel dat het krachtige, voorspellende mogelijkheden kan produceren, omdat betere modellen doorgaans het resultaat zijn van meer gegevens. Zodra een model is getraind, kan het worden geïmplementeerd als een stateless, zeer goed presterende scale-out webservice.

Modelvoorbereiding en -training

Tijdens de voorbereidings- en trainingsfase van het model verkennen gegevenswetenschappers de gegevens interactief met behulp van talen zoals Python en R voor het volgende:

  • Extraheren van voorbeelden uit gegevensopslag met grote volumes.
  • Uitbijten, dubbele waarden en ontbrekende waarden zoeken en behandelen om de gegevens op te schonen.
  • Bepaal correlaties en relaties in de gegevens via statistische analyse en visualisatie.
  • Genereer nieuwe berekende functies die de voorspellendheid van statistische relaties verbeteren.
  • ML-modellen trainen op basis van voorspellende algoritmen.
  • Valideer getrainde modellen met behulp van gegevens die tijdens de training zijn achtergehouden.

Ter ondersteuning van deze interactieve analyse- en modelleringsfase moet het gegevensplatform gegevenswetenschappers in staat stellen om gegevens te verkennen met behulp van verschillende hulpprogramma's. Daarnaast kan het trainen van een complex machine learning-model veel intensieve verwerking van grote hoeveelheden gegevens vereisen, zodat er voldoende resources zijn om de modeltraining uit te schalen.

Modelimplementatie en -verbruik

Wanneer een model gereed is om te worden geïmplementeerd, kan het worden ingekapseld als een webservice en worden geïmplementeerd in de cloud, op een edge-apparaat of in een ML-uitvoeringsomgeving van een onderneming. Dit implementatieproces wordt operationalisering genoemd.

Uitdagingen

Machine learning op schaal brengt enkele uitdagingen met zich mee:

  • Normaal gesproken hebt u veel gegevens nodig om een model te trainen, met name voor Deep Learning-modellen.
  • U moet deze sets big data voorbereiden voordat u zelfs kunt beginnen met het trainen van uw model.
  • De modeltrainingsfase moet toegang hebben tot de big data winkels. Het is gebruikelijk om de modeltraining uit te voeren met behulp van hetzelfde big data cluster, zoals Spark, dat wordt gebruikt voor gegevensvoorbereiding.
  • Voor scenario's zoals deep learning hebt u niet alleen een cluster nodig waarmee u kunt uitschalen op CPU's, maar uw cluster moet bestaan uit gpu-knooppunten.

Machine learning op schaal in Azure

Voordat u beslist welke ML-services u wilt gebruiken voor training en operationalisatie, moet u overwegen of u een model moet trainen of dat een vooraf gebouwd model aan uw vereisten kan voldoen. In veel gevallen is het gebruik van een vooraf gemaakt model alleen een kwestie van het aanroepen van een webservice of het gebruik van een ML-bibliotheek om een bestaand model te laden. Enkele opties zijn:

  • Gebruik de webservices die worden geleverd door Azure Cognitive Services.
  • Gebruik de vooraf getrainde neurale netwerkmodellen die door de Cognitive Toolkit.
  • De geseraliseerde modellen van Core ML insluiten voor een iOS-app.

Als een vooraf gebouwd model niet bij uw gegevens of uw scenario past, zijn de opties in Azure onder andere Azure Machine Learning, HDInsight met Spark MLlib en MMLSpark, Azure Databricks, Cognitive Toolkit en SQL Machine Learning Services. Als u besluit een aangepast model te gebruiken, moet u een pijplijn ontwerpen die modeltraining en -operationalisatie bevat.

Zie voor een lijst met technologische keuzes voor ML in Azure:

Volgende stappen

In de volgende referentiearchitectarchitecten worden de machine learning in Azure: