Share via


Maskininlärning med Apache Spark

Apache Spark i Azure Synapse Analytics möjliggör maskininlärning med stordata, vilket ger möjlighet att få värdefull insikt från stora mängder strukturerade, ostrukturerade och snabba data.

Det här avsnittet innehåller en översikt och självstudier för arbetsflöden för maskininlärning, inklusive undersökande dataanalys, funktionsutveckling, modellträning, modellbedömning och distribution.

Synapse-körning

Synapse Runtime är en kuraterad miljö som är optimerad för datavetenskap och maskininlärning. Synapse Runtime erbjuder en rad populära bibliotek med öppen källkod och versioner i Azure Machine Learning SDK som standard. Synapse Runtime innehåller också många externa bibliotek, inklusive PyTorch, Scikit-Learn, XGBoost med mera.

Läs mer om tillgängliga bibliotek och relaterade versioner genom att visa den publicerade Azure Synapse Analytics-körningen.

Undersökande dataanalys

När du använder Apache Spark i Azure Synapse Analytics finns det olika inbyggda alternativ som hjälper dig att visualisera dina data, inklusive synapse notebook-diagramalternativ, åtkomst till populära bibliotek med öppen källkod som Seaborn och Matplotlib samt integrering med Synapse SQL och Power BI.

Läs mer om alternativen för datavisualisering och dataanalys genom att visa artikeln om hur du visualiserar data med Hjälp av Azure Synapse Notebooks.

Funktionsframställning

Synapse Runtime innehåller som standard en uppsättning bibliotek som ofta används för funktionsutveckling. För stora datamängder kan du använda Spark SQL, MLlib och Koalas för funktionsutveckling. För mindre datamängder tillhandahåller bibliotek från tredje part som Numpy, Pandas och Scikit-learn också användbara metoder för dessa scenarier.

Inlärningsmodeller

Det finns flera alternativ när du tränar maskininlärningsmodeller med Hjälp av Azure Spark i Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Learning och olika andra bibliotek med öppen källkod.

Läs mer om maskininlärningsfunktionerna genom att läsa artikeln om hur du tränar modeller i Azure Synapse Analytics.

SparkML och MLlib

Sparks minnesinterna distribuerade beräkningsfunktioner gör det till ett bra val för de iterativa algoritmer som används i maskininlärnings- och grafberäkningar. spark.mltillhandahåller en enhetlig uppsättning API:er på hög nivå som hjälper användarna att skapa och finjustera maskininlärningspipelines. Om du vill veta mer om spark.mlkan du gå till programmeringsguiden för Apache Spark ML.

Automatiserad ML för Azure Machine Learning (inaktuell)

Azure Machine Learning automatiserad ML (automatiserad maskininlärning) hjälper till att automatisera processen med att utveckla maskininlärningsmodeller. Det gör det möjligt för dataforskare, analytiker och utvecklare att skapa ML-modeller med hög skala, effektivitet och produktivitet samtidigt som modellkvaliteten bibehålls. Komponenterna som ska köra det automatiserade ML SDK:et för Azure Machine Learning är inbyggda direkt i Synapse Runtime.

Varning

  • Från och med den 29 september 2023 upphör Azure Synapse med det officiella stödet för Spark 2.4 Runtimes. Efter den 29 september 2023 kommer vi inte att ta upp några supportärenden relaterade till Spark 2.4. Det finns ingen versionspipeline för buggar eller säkerhetskorrigeringar för Spark 2.4. Användning av Spark 2.4 efter supportavstängningen sker på egen risk. Vi avråder starkt från fortsatt användning på grund av potentiella säkerhets- och funktionsproblem.
  • Som en del av utfasningsprocessen för Apache Spark 2.4 vill vi meddela dig att AutoML i Azure Synapse Analytics också kommer att bli inaktuellt. Detta omfattar både gränssnittet med låg kod och de API:er som används för att skapa AutoML-utvärderingsversioner via kod.
  • Observera att AutoML-funktionen var exklusivt tillgänglig via Spark 2.4-körningen.
  • För kunder som vill fortsätta använda AutoML-funktioner rekommenderar vi att du sparar dina data i ditt Azure Data Lake Storage Gen2-konto (ADLSg2). Därifrån kan du sömlöst komma åt AutoML-upplevelsen via Azure Machine Learning (AzureML). Mer information om den här lösningen finns här.

Bibliotek med öppen källkod

Varje Apache Spark-pool i Azure Synapse Analytics levereras med en uppsättning förinstallerade och populära maskininlärningsbibliotek. Några av de relevanta maskininlärningsbiblioteken som ingår som standard är:

  • Scikit-learn är ett av de mest populära maskininlärningsbiblioteken med en nod för klassiska ML-algoritmer. Scikit-learn stöder de flesta övervakade och oövervakade inlärningsalgoritmer och kan även användas för datautvinning och dataanalys.

  • XGBoost är ett populärt maskininlärningsbibliotek som innehåller optimerade algoritmer för träning av beslutsträd och slumpmässiga skogar.

  • PyTorch & TensorFlow är kraftfulla Python-djupinlärningsbibliotek. I en Apache Spark-pool i Azure Synapse Analytics kan du använda dessa bibliotek för att skapa modeller med en enda dator genom att ange antalet körbara filer i poolen till noll. Även om Apache Spark inte fungerar i den här konfigurationen är det ett enkelt och kostnadseffektivt sätt att skapa modeller med en enda dator.

Spåra modellutveckling

MLFlow är ett bibliotek med öppen källkod för att hantera livscykeln för dina maskininlärningsexperiment. MLFlow Tracking är en komponent i MLflow som loggar och spårar dina träningskörningsmått och modellartefakter. Mer information om hur du kan använda MLFlow Tracking via Azure Synapse Analytics och Azure Machine Learning finns i den här självstudien om hur du använder MLFlow.

Modellbedömning

Modellbedömning, eller slutsatsdragning, är fasen där en modell används för att göra förutsägelser. För modellbedömning med SparkML eller MLLib kan du använda de inbyggda Spark-metoderna för att utföra slutsatsdragning direkt på en Spark DataFrame. För andra bibliotek med öppen källkod och modelltyper kan du också skapa en Spark UDF för att skala ut slutsatsdragning på stora datamängder. För mindre datamängder kan du också använda inbyggda modellinferensmetoder som tillhandahålls av biblioteket.

Registrera och hantera modeller

Genom att registrera en modell kan du lagra, version och spåra metadata om modeller på din arbetsyta. När du har tränat din modell kan du registrera din modell i Azure Machine Learning-modellregistret. När de har registrerats kan ONNX-modeller också användas för att utöka data som lagras i dedikerade SQL-pooler.

Nästa steg

Kom igång med maskininlärning i Azure Synapse Analytics genom att läsa följande självstudier: