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 een 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 ervan te verbeteren.

Machine learning op schaal heeft betrekking op twee verschillende schaalbaarheidsproblemen. De eerste is het trainen van een model op basis van grote gegevenssets waarvoor de uitschaalmogelijkheden van een cluster moeten worden getraind. De tweede is gebaseerd op het operationeel maken van het geleerde model, zodat het kan worden geschaald om te voldoen aan de vereisten van de toepassingen die het gebruiken. Dit wordt meestal bereikt door de voorspellende mogelijkheden te implementeren als een webservice die vervolgens kan worden uitgeschaald.

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

Modelvoorbereiding en -training

Tijdens de modelvoorbereidings- en trainingsfase verkennen gegevenswetenschappers de gegevens interactief met behulp van talen zoals Python en R naar:

  • Voorbeelden extraheren uit gegevensarchieven met een groot volume.
  • Zoek en behandel uitbijters, duplicaten en ontbrekende waarden om de gegevens op te schonen.
  • Correlaties en relaties in de gegevens bepalen via statistische analyse en visualisatie.
  • Genereer nieuwe berekende functies die de voorspelling van statistische relaties verbeteren.
  • Train ML modellen op basis van voorspellende algoritmen.
  • Gevalideerde modellen met behulp van gegevens die tijdens de training zijn achtergehouden.

Om deze interactieve analyse- en modelleringsfase te ondersteunen, moet het gegevensplatform gegevenswetenschappers in staat stellen om gegevens te verkennen met behulp van verschillende hulpprogramma's. Daarnaast kan de training van een complex machine learning-model veel intensieve verwerking van grote hoeveelheden gegevens vereisen, zodat voldoende resources voor het uitschalen van de modeltraining essentieel zijn.

Modelimplementatie en -verbruik

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

Uitdagingen

Machine learning op schaal levert enkele uitdagingen op:

  • Meestal hebt u veel gegevens nodig om een model te trainen, met name voor Deep Learning-modellen.
  • U moet deze big data-sets voorbereiden voordat u zelfs kunt beginnen met het trainen van uw model.
  • De modeltrainingsfase moet toegang hebben tot de big data-archieven. Het is gebruikelijk om de modeltraining uit te voeren met hetzelfde big data-cluster, zoals Spark, dat wordt gebruikt voor het voorbereiden van gegevens.
  • 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 besluit welke ML services moeten worden gebruikt in training en operationalisatie, moet u overwegen of u een model helemaal moet trainen of of een vooraf samengesteld model aan uw vereisten kan voldoen. In veel gevallen is het gebruik van een vooraf samengesteld model slechts 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 van de Cognitive Toolkit.
  • Sluit de geserialiseerde modellen in die worden geleverd door Core ML voor een iOS-app.

Als een vooraf samengesteld model niet past bij uw gegevens of uw scenario, bevatten opties in Azure 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 omvat.

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

Medewerkers

Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteur:

In de volgende referentiearchitecturen ziet u machine learning-scenario's in Azure: