Maskininlärningsfunktioner i Azure Synapse Analytics
Azure Synapse Analytics erbjuder olika maskininlärningsfunktioner. Den här artikeln innehåller en översikt över hur du kan använda Machine Learning i kontexten för Azure Synapse.
Den här översikten beskriver de olika funktionerna i Synapse som rör maskininlärning, ur ett datavetenskapsprocessperspektiv.
Du kanske är bekant med hur en typisk datavetenskapsprocess ser ut. Det är en välkänd process som de flesta maskininlärningsprojekt följer.
På hög nivå innehåller processen följande steg:
- Affärstolkning (beskrivs inte i den här artikeln)
- Förvärv och förståelse av data
- Modellering
- Modelldistribution och bedömning
Den här artikeln beskriver maskininlärningsfunktionerna i Azure Synapse i olika analysmotorer ur ett datavetenskapsprocessperspektiv. För varje steg i datavetenskapsprocessen sammanfattas de Azure Synapse-funktioner som kan hjälpa till.
Förvärv och förståelse av data
De flesta maskininlärningsprojekt omfattar väletablerade steg, och ett av dessa steg är att komma åt och förstå data.
Datakälla och pipelines
Tack vare Azure Data Factory, en inbyggt integrerad del av Azure Synapse, finns det en kraftfull uppsättning verktyg för datainmatning och dataorkestreringspipelines. På så sätt kan du enkelt skapa datapipelines för att komma åt och omvandla data till ett format som kan användas för maskininlärning. Läs mer om datapipelines i Synapse.
Dataförberedelse och utforskning/visualisering
En viktig del av maskininlärningsprocessen är att förstå data genom utforskning och visualiseringar.
Beroende på var data lagras erbjuder Synapse en uppsättning olika verktyg för att utforska och förbereda dem för analys och maskininlärning. Ett av de snabbaste sätten att komma igång med datautforskning är att använda Apache Spark- eller serverlösa SQL-pooler direkt över data i datasjön.
Apache Spark för Azure Synapse erbjuder funktioner för att transformera, förbereda och utforska dina data i stor skala. Dessa Spark-pooler erbjuder verktyg som PySpark/Python, Scala och .NET för databearbetning i stor skala. Med hjälp av kraftfulla visualiseringsbibliotek kan datautforskningsupplevelsen förbättras för att bättre förstå data. Läs mer om hur du utforskar och visualiserar data i Synapse med Spark.
Serverlösa SQL-pooler erbjuder ett sätt att utforska data med TSQL direkt över datasjön. Serverlösa SQL-pooler erbjuder också några inbyggda visualiseringar i Synapse Studio. Läs mer om hur du utforskar data med serverlösa SQL-pooler.
Modellering
I Azure Synapse kan du träna maskininlärningsmodeller på Apache Spark-pooler med verktyg som PySpark/Python, Scala eller .NET.
Träna modeller på Spark-pooler med MLlib
Maskininlärningsmodeller kan tränas med hjälp av olika algoritmer och bibliotek. Spark MLlib erbjuder skalbara maskininlärningsalgoritmer som kan hjälpa dig att lösa de flesta klassiska maskininlärningsproblem. En självstudiekurs om hur du tränar en modell med MLlib i Synapse finns i Skapa en maskininlärningsapp med Apache Spark MLlib och Azure Synapse Analytics.
Förutom MLlib kan även populära bibliotek som Scikit Learn användas för att utveckla modeller. Mer information om hur du installerar bibliotek i Synapse Spark-pooler finns i Hantera bibliotek för Apache Spark i Azure Synapse Analytics .
Träna modeller med automatiserad ML för Azure Machine Learning
Ett annat sätt att träna maskininlärningsmodeller, som inte kräver mycket tidigare kunskaper om maskininlärning, är att använda automatiserad ML. Automatiserad ML är en funktion som automatiskt tränar en uppsättning maskininlärningsmodeller och låter användaren välja den bästa modellen baserat på specifika mått. Tack vare en sömlös integrering med Azure Machine Learning från Azure Synapse Notebooks kan användarna enkelt utnyttja automatiserad ML i Synapse med genomströmning av Microsoft Entra-autentisering. Det innebär att du bara behöver peka på din Azure Machine Learning-arbetsyta och inte behöver ange några autentiseringsuppgifter. Självstudiekursen Träna en modell i Python med automatiserad maskininlärning beskriver hur du tränar modeller med hjälp av automatiserad ML i Azure Machine Learning på Synapse Spark-pooler.
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.
Modelldistribution och bedömning
Modeller som har tränats antingen i Azure Synapse eller utanför Azure Synapse kan enkelt användas för batchbedömning. I Synapse finns det för närvarande två sätt att köra batchbedömning.
Du kan använda funktionen TSQL PREDICT i Synapse SQL-pooler för att köra dina förutsägelser precis där dina data finns. Med den här kraftfulla och skalbara funktionen kan du utöka dina data utan att flytta några data från ditt informationslager. En ny guidad maskininlärningsmodell i Synapse Studio introducerades där du kan distribuera en ONNX-modell från Azure Machine Learning-modellregistret i Synapse SQL-pooler för batchbedömning med PREDICT.
Ett annat alternativ för maskininlärningsmodeller för batchbedömning i Azure Synapse är att utnyttja Apache Spark-pooler för Azure Synapse. Beroende på vilka bibliotek som används för att träna modellerna kan du använda en kodupplevelse för att köra batchbedömningen.
SynapseML
SynapseML (tidigare kallat MMLSpark) är ett bibliotek med öppen källkod som förenklar skapandet av pipelines för massivt skalbar maskininlärning (ML). Det är ett ekosystem med verktyg som används för att utöka Apache Spark-ramverket i flera nya riktningar. SynapseML förenar flera befintliga maskininlärningsramverk och nya Microsoft-algoritmer till ett enda skalbart API som kan användas i Python, R, Scala, .NET och Java. Mer information finns i de viktigaste funktionerna i SynapseML.