Обучение моделей машинного обучения

Apache Spark в Azure Synapse Analytics позволяет выполнять машинное обучение с помощью больших данных, предоставляя возможность получить ценные сведения из больших объемов структурированных, неструктурированных и быстро меняющихся данных. Существует несколько вариантов, которые можно использовать для обучения моделей машинного обучения с помощью Azure Spark в Azure Synapse Analytics: Apache Spark MLlib, Машинное обучение Azure и большое количество других библиотек с исходным кодом.

Apache SparkML и MLlib

Apache Spark в Azure Synapse Analytics — это одна из реализаций Apache Spark в облаке, предоставляемая корпорацией Майкрософт. Она предоставляет унифицированную платформу параллельной обработки данных с открытым исходным кодом, которая поддерживает обработку в памяти для оптимизации анализа больших данных. Подсистема обработки Spark призвана ускорить разработку, повысить удобство использования и реализовать сложную аналитику. Возможности распределенного вычисления в памяти Spark отлично подходят для итеративных алгоритмов, используемых в машинном обучении и графовых вычислениях.

Существуют двt масштабируемых библиотеки машинного обучения Spark, которые предоставляют возможности алгоритмического моделирования для этой распределенной среды: SparkM и MLlib. MLlib содержит исходный API, созданный на основе RDD. SparkML — это новый пакет, который предоставляет API более высокого уровня, созданный поверх кадров данных для построения конвейеров машинного обучения. SparkML поддерживает не все возможности MLlib, но заменяет MLlib в качестве стандартной библиотеки машинного обучения Spark.

Примечание.

Дополнительные сведения о создании модели SparkML см. в этом учебнике.

Каждый пул Apache Spark в Azure Synapse Analytics поставляется с набором предварительно загруженных популярных библиотек машинного обучения. Эти библиотеки предоставляют многократно используемый код, который вы можете включить в программы или проекты. Ниже перечислен ряд актуальных библиотек машинного обучения, которые включены в этот набор по умолчанию.

  • Scikit-learn — это одна из самых популярных библиотек машинного обучения с одним узлом для классических алгоритмов машинного обучения. Scikit-learn поддерживает большинство контролируемых и неконтролируемых алгоритмов обучения, которые также можно использовать для интеллектуального и обычного анализа данных.

  • XGBoost — это популярная библиотека машинного обучения с оптимизированными алгоритмами для обучения деревьев принятия решений и случайных лесов.

  • PyTorch и Tensorflow — это мощные библиотеки глубокого обучения Python. В пуле Apache Spark в Azure Synapse Analytics вы можете использовать эти библиотеки для создания моделей с одним компьютером, установив для количества исполнителей в пуле нулевое значение. Несмотря на то, что Apache Spark не работает с этой конфигурацией, это простой и экономичный способ создания моделей с одним компьютером.

Дополнительные сведения о доступных библиотеках и соответствующих версиях см. в статье о среде выполнения Azure Synapse Analytics.

MMLSpark

Библиотекой службы "Машинное обучение Microsoft" для Apache Spark является MMLSpark. Эта библиотека предназначена для оптимизации работы специалистов по обработке и анализу данных в Spark, ускоренной реализации экспериментов и использования самых современных методов машинного обучения, включая глубокое обучение, на больших наборах данных.

MMLSpark предоставляет слой поверх низкоуровневых API SparkML при построении масштабируемых моделей ML, таких как индексирование строк, принудительное преобразование данных в макет, ожидаемый алгоритмами машинного обучения, и сборки векторов признаков. Библиотека MMLSpark упрощает эти и другие общие задачи моделирования для создания моделей в PySpark.

Автоматизированное машинное обучение в Машинное обучение Azure (не рекомендуется)

Машинное обучение Azure представляет собой облачную среду, которая позволяет обучать, развертывать, автоматизировать, контролировать и отслеживать модели машинного обучения. Автоматизированное машинное обучение в службе "Машинное обучение Azure" позволяет добавить данные для обучения и настроить параметры, а также выполнить автоматическую итерацию с использованием комбинаций разных методов нормализации или стандартизации признаков, моделей и настроек гиперпараметров для получения оптимальной модели.

При использовании автоматизированного машинного обучения в Azure Synapse Analytics можно применять глубокую интеграцию между различными службами, чтобы упростить проверку подлинности и обучение модели.

Предупреждение

  • Начиная с 29 сентября 2023 г. Azure Synapse прекратит официальную поддержку среды выполнения Spark 2.4. После 29 сентября 2023 г. мы не будем обращаться в службу поддержки, связанной с Spark 2.4. Конвейер выпуска не будет применяться для исправлений ошибок или безопасности для Spark 2.4. Использование Spark 2.4 после даты отключения поддержки выполняется по собственному риску. Мы настоятельно не рекомендуем использовать его продолжающееся использование из-за потенциальных проблем безопасности и функциональных возможностей.
  • В рамках процесса нерекомендуемого использования Apache Spark 2.4 мы хотели бы уведомить вас о том, что AutoML в Azure Synapse Analytics также не рекомендуется. Это включает как интерфейс с низким кодом, так и ИНТЕРФЕЙСы API, используемые для создания пробных версий AutoML с помощью кода.
  • Обратите внимание, что функции AutoML были доступны исключительно в среде выполнения Spark 2.4.
  • Для клиентов, желающих продолжить использование возможностей AutoML, рекомендуется сохранить данные в вашей учетной записи Azure Data Lake Storage 2-го поколения (ADLSg2). Оттуда вы можете легко получить доступ к интерфейсу AutoML с помощью Машинное обучение Azure (AzureML). Дополнительные сведения об этом обходной путь доступны здесь.

Службы ИИ Azure

Службы искусственного интеллекта Azure предоставляют возможности машинного обучения для решения общих проблем, таких как анализ текста для эмоционального тональности или анализа изображений для распознавания объектов или лиц. Для использования этих служб не нужны особые познания в сфере машинного обучения или обработки и анализа данных. Служба Cognitive Service предоставляет некоторые или все компоненты в решении машинного обучения: данные, алгоритм и обученную модель. Эти службы предназначены для получения общих знаний о данных без опыта работы со средствами машинного обучения и обработки и анализа данных. Эти предварительно обученные службы ИИ Azure можно использовать автоматически в Azure Synapse Analytics.

Следующие шаги

В этой статье представлен обзор различных вариантов обучения моделей машинного обучения в пулах Apache Spark в Azure Synapse Analytics. Дополнительные сведения об обучении модели см. в следующих учебниках: