Trenowanie modeli uczenia maszynowego

Platforma Apache Spark w usłudze Azure Synapse Analytics umożliwia uczenie maszynowe z danymi big data, zapewniając możliwość uzyskiwania cennych szczegółowych informacji z dużych ilości ustrukturyzowanych, nieustrukturyzowanych i szybko poruszających się danych. Istnieje kilka opcji trenowania modeli uczenia maszynowego przy użyciu platformy Azure Spark w usłudze Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Edukacja i różnych innych bibliotek typu open source.

Apache SparkML i MLlib

Platforma Apache Spark w usłudze Azure Synapse Analytics to jedna z implementacji platformy Apache Spark oferowanych przez firmę Microsoft w chmurze. Zapewnia ujednoliconą, równoległą strukturę przetwarzania danych typu open source, która obsługuje przetwarzanie w pamięci w celu zwiększenia analizy danych big data. Aparat przetwarzania platformy Spark jest tworzony pod kątem szybkości, łatwości użycia i zaawansowanych analiz. Możliwości obliczeniowe rozproszone w pamięci platformy Spark sprawiają, że jest to dobry wybór dla algorytmów iteracyjnych używanych w obliczeniach uczenia maszynowego i grafów.

Istnieją dwie skalowalne biblioteki uczenia maszynowego, które umożliwiają modelowanie algorytmów w tym środowisku rozproszonym: MLlib i SparkML. MLlib zawiera oryginalny interfejs API oparty na RDD. SparkML to nowszy pakiet, który udostępnia interfejs API wyższego poziomu oparty na ramkach danych do konstruowania potoków uczenia maszynowego. Język SparkML nie obsługuje jeszcze wszystkich funkcji biblioteki MLlib, ale zastępuje bibliotekę MLlib jako standardową bibliotekę uczenia maszynowego platformy Spark.

Uwaga

Aby dowiedzieć się więcej na temat tworzenia modelu SparkML, wykonaj czynności opisane w tym samouczku.

Każda pula platformy Apache Spark w usłudze Azure Synapse Analytics zawiera zestaw wstępnie załadowanych i popularnych bibliotek uczenia maszynowego. Te biblioteki udostępniają kod wielokrotnego użytku, który można uwzględnić w programach lub projektach. Niektóre z odpowiednich bibliotek uczenia maszynowego, które są domyślnie dołączone:

  • Scikit-learn to jedna z najpopularniejszych bibliotek uczenia maszynowego z jednym węzłem dla klasycznych algorytmów uczenia maszynowego. Biblioteka Scikit-learn obsługuje większość nadzorowanych i nienadzorowanych algorytmów uczenia, a także może być używana do wyszukiwania danych i analizy danych.

  • XGBoost to popularna biblioteka uczenia maszynowego zawierająca zoptymalizowane algorytmy do trenowania drzew decyzyjnych i lasów losowych.

  • PyTorch & Tensorflow to zaawansowane biblioteki uczenia głębokiego języka Python. W puli Platformy Apache Spark w usłudze Azure Synapse Analytics możesz użyć tych bibliotek do tworzenia modeli z jedną maszyną, ustawiając liczbę funkcji wykonawczych w puli na zero. Mimo że platforma Apache Spark nie działa w ramach tej konfiguracji, jest to prosty i ekonomiczny sposób tworzenia modeli z jedną maszyną.

Aby dowiedzieć się więcej o dostępnych bibliotekach i powiązanych wersjach, zobacz opublikowane środowisko uruchomieniowe usługi Azure Synapse Analytics.

MMLSpark

Biblioteka Edukacja maszyny microsoft dla platformy Apache Spark to MMLSpark. Ta biblioteka została zaprojektowana w celu zwiększenia produktywności analityków danych na platformie Spark, zwiększenia szybkości eksperymentowania i wykorzystania najnowszych technik uczenia maszynowego, w tym uczenia głębokiego, na dużych zestawach danych.

MmLSpark udostępnia warstwę na podstawie interfejsów API niskiego poziomu platformy SparkML podczas tworzenia skalowalnych modeli uczenia maszynowego, takich jak ciągi indeksowania, zmuszanie danych do układu oczekiwanego przez algorytmy uczenia maszynowego i tworzenie wektorów funkcji. Biblioteka MMLSpark upraszcza te i inne typowe zadania tworzenia modeli w PySpark.

Zautomatyzowane uczenie maszynowe w usłudze Azure Machine Edukacja (przestarzałe)

Usługa Azure Machine Edukacja to środowisko oparte na chmurze, które umożliwia trenowanie, wdrażanie, automatyzowanie i śledzenie modeli uczenia maszynowego oraz zarządzanie nimi. Zautomatyzowane uczenie maszynowe w usłudze Azure Machine Edukacja akceptuje dane treningowe i ustawienia konfiguracji oraz automatycznie wykonuje iterację za pomocą kombinacji różnych metod normalizacji/standaryzacji funkcji, modeli i ustawień hiperparametrów, aby uzyskać najlepszy model.

W przypadku korzystania z zautomatyzowanego uczenia maszynowego w usłudze Azure Synapse Analytics możesz skorzystać z głębokiej integracji między różnymi usługami, aby uprościć trenowanie uwierzytelniania i modelu.

Ostrzeżenie

  • Od 29 września 2023 r. usługa Azure Synapse przestanie obsługiwać oficjalne środowiska uruchomieniowe platformy Spark 2.4. Po 29 września 2023 r. nie będziemy zwracać się do żadnych biletów pomocy technicznej związanych z platformą Spark 2.4. W przypadku usterek lub poprawek zabezpieczeń platformy Spark 2.4 nie będzie dostępny potok wydania. Użycie platformy Spark 2.4 po dacie redukcji pomocy technicznej jest podejmowane na własne ryzyko. Zdecydowanie odradzamy jego dalsze wykorzystanie ze względu na potencjalne obawy dotyczące zabezpieczeń i funkcjonalności.
  • W ramach procesu wycofywania dla platformy Apache Spark 2.4 chcemy powiadomić Cię, że rozwiązanie AutoML w usłudze Azure Synapse Analytics również będzie przestarzałe. Obejmuje to zarówno interfejs niskiego kodu, jak i interfejsy API używane do tworzenia wersji próbnych rozwiązania AutoML za pomocą kodu.
  • Należy pamiętać, że funkcje rozwiązania AutoML były dostępne wyłącznie za pośrednictwem środowiska uruchomieniowego platformy Spark 2.4.
  • W przypadku klientów, którzy chcą nadal korzystać z funkcji automatycznego uczenia maszynowego, zalecamy zapisanie danych na koncie usługi Azure Data Lake Storage Gen2 (ADLSg2). Z tego miejsca możesz bezproblemowo uzyskać dostęp do środowiska rozwiązania AutoML za pośrednictwem usługi Azure Machine Edukacja (AzureML). Więcej informacji na temat tego obejścia jest dostępne tutaj.

Usługi platformy Azure AI

Usługi azure AI udostępniają funkcje uczenia maszynowego umożliwiające rozwiązywanie ogólnych problemów, takich jak analizowanie tekstu pod kątem tonacji emocjonalnej lub analizowanie obrazów w celu rozpoznawania obiektów lub twarzy. Korzystanie z tych usług nie wymaga specjalnej wiedzy z zakresu uczenia maszynowego ani nauki o danych. Usługa Cognitive Service udostępnia część lub wszystkie składniki rozwiązania uczenia maszynowego: dane, algorytm i wytrenowany model. Te usługi mają wymagać ogólnej wiedzy na temat danych bez konieczności korzystania z uczenia maszynowego lub nauki o danych. Możesz automatycznie wykorzystać te wstępnie wytrenowane usługi Azure AI w usłudze Azure Synapse Analytics.

Następne kroki

Ten artykuł zawiera omówienie różnych opcji trenowania modeli uczenia maszynowego w pulach platformy Apache Spark w usłudze Azure Synapse Analytics. Aby dowiedzieć się więcej na temat trenowania modelu, wykonaj czynności opisane w poniższym samouczku: