Возможности машинного обучения в Azure Synapse Analytics

Azure Synapse Analytics предлагает различные возможности машинного обучения. В этой статье приводятся общие сведения о том, как можно применить Машинное обучение в контексте Azure Synapse.

В данном обзоре различные возможности Synapse, связанные с машинным обучением, рассматриваются с точки зрения процесса обработки и анализа данных.

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

В целом процесс состоит из следующих шагов:

  • Анализ бизнес-процессов (не рассматривается в этой статье)
  • Получение и изучение данных
  • Моделирование
  • Развертывание модели и ее оценка

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

Получение и изучение данных

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

Источник данных и конвейеры

Встроенная в Azure Synapse Фабрика данных Azure предоставляет эффективный набор средств для приема данных и конвейеров оркестрации данных. Это позволяет легко создавать конвейеры данных для доступа к ним и их преобразования в формат, который можно использовать для машинного обучения. Узнайте больше о конвейерах данных в Synapse.

Подготовка и просмотр или визуализация данных

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

В зависимости от места хранения данных Synapse предлагает набор различных средств для их исследования и подготовки к анализу и машинному обучению. Один из способов, позволяющих максимально быстро приступить к исследованию данных, заключается в использовании Apache Spark или бессерверных пулов SQL непосредственно для данных в озере данных.

Моделирование

В Azure Synapse обучающие модели машинного обучения можно выполнять на пулах Apache Spark с помощью таких средств, как PySpark/Python, Scala или .NET.

Обучение моделей в пулах Spark с помощью MLlib

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

Помимо MLlib для разработки моделей можно также использовать такие популярные библиотеки, как Scikit Learn. Дополнительные сведения об установке библиотек в пулах Synapse Spark см. в статье Управление библиотеками для Apache Spark в Azure Synapse Analytics.

Обучение моделей с помощью автоматизированного машинного обучения в Машинном обучении Azure

Другой способ обучения моделей машинного обучения, не требующий глубоких предварительных знаний о машинном обучении, заключается в использовании автоматизированного машинного обучения. Автоматизированное машинное обучение — это функция, которая автоматически обучает набор моделей машинного обучения и позволяет пользователю выбрать наилучшую модель на основе определенных метрик. Благодаря простой интеграции с Машинное обучение Azure из записных книжек Azure Synapse пользователи могут легко использовать автоматизированное машинное обучение в Synapse с сквозной проверкой подлинности Microsoft Entra. Это означает, что вам нужно только указать рабочую область Машинного обучения Azure, а вводить учетные данные не требуется. В этом пособии по обучению модели в Python в режиме автоматизированного машинного обучения объясняется, как обучать модели с помощью автоматизированного ML в Машинном обучении Azure в пулах Synapse Spark.

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

  • Начиная с 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 Synapse или за ее пределами, можно легко использовать для пакетной оценки. В настоящее время пакетную оценку в Synapse можно выполнить двумя способами.

  • Вы можете использовать функцию TSQL PREDICT в пулах Synapse SQL, чтобы выполнять прогнозирование непосредственно там, где находятся ваши данные. Эта эффективная и масштабируемая функция позволяет обогатить данные без их перемещения из хранилища данных. В Synapse Studio был представлен новый управляемый интерфейс для моделей машинного обучения, с помощью которого можно развернуть модель ONNX из реестра моделей Машинного обучения Azure в пулах Synapse SQL для пакетной оценки с помощью функции PREDICT.

  • Другим вариантом пакетной оценки моделей машинного обучения в Azure Synapse является использование пулов Apache Spark для Azure Synapse. В зависимости от библиотек, используемых для обучения моделей, для выполнения пакетной оценки можно использовать возможности кода.

SynapseML

SynapseML (прежнее название — MMLSpark) — это библиотека с открытым кодом, которая упрощает создание конвейеров машинного обучения с активным масштабированием. Это экосистема инструментов, расширяющих платформу Apache Spark в нескольких новых направлениях. SynapseML объединяет ряд существующих платформ машинного обучения и новых алгоритмов Майкрософт в единый масштабируемый API, доступный в Python, R, Scala, .NET и Java. Дополнительные сведения см. в разделе Основные возможности SynapseML.

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