В этой серии из 5 частей мы обучим и протестируем модель машинного обучения с помощью Azure Synapse Analytics и машинного обучения Azure. В этой первой статье мы настроим рабочее пространство Synapse и Machine Learning и свяжем их вместе. В следующих статьях мы будем извлекать, загружать и преобразовывать данные (ELT), разрабатывать модель машинного обучения с использованием AutoML и оценивать набор данных с помощью разработанной модели. В последней статье мы рассмотрим основные преимущества и недостатки Synapse в сочетании с Машинным обучением Azure для специалиста по данным.
Настройка синапса
В этом разделе мы рассмотрим шаги, необходимые для настройки среды Synapse. Мы также расскажем, как настроить Машинное обучение Azure и связать два ресурса, поскольку мы будем использовать это в последующих статьях, чтобы использовать Synapse для целей обработки данных. Первое, что необходимо сделать для настройки ресурса Azure Synapse Analytics, — включить его для подписки, если это еще не сделано. Для этого перейдите к подписке, которую хотите использовать, и откройте вкладку Поставщики ресурсов. Здесь вы можете найти Microsoft.Synapse и зарегистрироваться.
В этой статье мы объединим все ресурсы в новую группу ресурсов. Чтобы создать группу ресурсов, выберите вкладку Группы ресурсов в разделе Настройки. В нем будут перечислены все группы ресурсов, присутствующие в выбранной подписке. Чтобы создать новую группу ресурсов, нажмите создать, введите имя группы ресурсов и выберите соответствующий регион. В этой статье мы назовем группу ресурсов rg-synapse-article и выберем (Europe) West-Europe.
В разделе Теги вы можете указать теги, которые вы планируете использовать в своей среде Azure. Примерами тегов могут быть среда или, например, производство. Подробнее о тегах можно узнать здесь.
После этого мы перейдем к Проверить + создать. После завершения проверки нажмите Создать, чтобы создать группу ресурсов. Теперь перейдите к только что созданной группе ресурсов, выбрав группу ресурсов из списка или нажав В ресурс в правом верхнем углу. На странице обзора группы ресурсов вы должны увидеть пустую группу ресурсов. Мы начнем с создания рабочей области синапса. Нажмите Создать в верхнем левом углу и найдите Azure Synapse Analytics (предоставляется в разделе Analytics). Это приведет вас к форме для создания Azure Synapse Analytics. Azure автоматически создает управляемую группу ресурсов для Synapse и автоматически присваивает ей имя. Если вы хотите присвоить ему имя самостоятельно, укажите его в поле Группа управляемых ресурсов. Мы будем использовать mrg-synapse-article. Имя рабочей области будет syn-workspace-weu01, а регион снова Западная Европа. Рабочая область Synapse имеет основное хранилище озера данных. Мы будем использовать эту учетную запись хранения для хранения данных и даже хранения модели машинного обучения. Мы создадим новую учетную запись хранения, нажав Создать новую. Обратите внимание, что эта учетная запись хранения должна быть учетной записью Data Lake Storage 2-го поколения, то есть с включенными иерархическими пространствами имен. Мы будем использовать dlweu01 в качестве имени хранилища, так как в имени учетной записи хранения нельзя использовать дефис. Нам также необходимо предоставить новый контейнер в этой учетной записи хранения, выбрав Создать новый, и контейнер будет называться synapse. Автоматически устанавливается флажок «Участник данных BLOB-объектов хранилища». Мы оставим это как требуется.
Если вы это сделали, то переходим на следующую вкладку Безопасность. На этой вкладке мы предоставим сведения об учетной записи для встроенного пула SQL Azure Synapse Analytics. Azure автоматически создает пароль, и мы оставим его как есть. В нашей установке доступ к сети не требуется. Если вы хотите использовать двойное шифрование со своим ключом, вы можете включить этот параметр. Для этой статьи мы не будем использовать это.
На вкладке «Сеть» вы можете выбрать параметры виртуальной сети. На данный момент мы отключим подключения со всех IP-адресов в целях безопасности.
Теперь мы предоставили все необходимые поля для проверки, а затем создали рабочую область. Развертывание нашего вновь созданного рабочего пространства займет несколько минут.
Настройка машинного обучения Azure
Пока развертывание продолжается, мы создадим ресурс машинного обучения Azure. Перейдите в группу ресурсов, снова нажмите Создать и выберите Машинное обучение. В качестве имени рабочей области мы будем использовать aml-workspace-weu01, а в качестве региона выберите Западная Европа. Для машинного обучения Azure также требуется учетная запись хранения. Однако, в отличие от Azure Synapse Analytics, это должна быть учетная запись Data Lake Storage 1-го поколения, то есть с отключенными иерархическими пространствами имен. Поэтому мы не можем использовать ту же учетную запись хранения и создадим новую, выбрав Создать новую. Имя будет amldlweu01, и мы будем использовать локально избыточное хранилище, так как это самый дешевый вариант. Для производственных целей вы можете выбрать другой уровень избыточности, в зависимости от ваших требований. AML также требует KeyVault для сохранения ключей для обученных моделей. Выберите Создать новый и назовите KeyVault kv-weu01. Последний ресурс, который мы создадим в этом разделе, — это Application Insights с именем appi-weu01. Пока мы не будем создавать реестр контейнеров. Это можно использовать для развертывания модели, однако вы можете создать реестр контейнеров при развертывании модели, поэтому в настоящее время это не требуется. Когда все это будет сделано, выберите Проверить и создать и разверните рабочую область AML.
Спарк-пул и связанная служба
Теперь все необходимые ресурсы созданы, пора открыть рабочее пространство Synapse. Прежде чем мы это сделаем, нам нужно добавить IP-адрес клиента к разрешенным IP-адресам, перейдя в раздел «Сеть» и нажав Добавить IP-адрес клиента. Не забудьте сохранить это изменение. Наконец пришло время открыть рабочее пространство! Щелкните ресурс Synapse и нажмите Открыть Synapse Studio. В следующей статье мы пройдемся по опциям Synapse, сейчас мы только создадим Spark Pool. С левой стороны нажмите «Управление», а затем «Пулы Apache Spark». На этой вкладке мы можем создать пул Spark, указав имя и конфигурации пула Spark. В этой статье мы создадим пул с именем sparkpool01. В настоящее время можно использовать только кластеры, оптимизированные для памяти. Затем выберите необходимый размер кластера. В этом примере мы будем использовать наименьший возможный искровой пул и отключим автомасштабирование.
Далее можно передать дополнительные настройки. На этой вкладке вы можете выбрать паузу и искровую версию. В этой статье мы будем использовать Spark 2.4, поскольку версия 3.1 не поддерживается Машинным обучением Azure. Обратите внимание, что эта версия поставляется с Python 3.6.
Мы почти закончили настройку, осталось только предоставить Synapse доступ как к рабочему пространству AML, так и к хранилищу AML. После этого AML и его хранилище можно добавить в качестве связанной службы. Для этого перейдите в хранилище AML и нажмите «Контроль доступа» слева. Нажмите «Добавить назначение роли» и выберите роль «Участник данных хранилища BLOB-объектов». Затем на следующем экране нажмите Выбрать участников и выполните поиск в рабочей области Synapse по имени. Нажмите «Выбрать» и Просмотреть + назначить. Теперь для рабочей области AML сделайте то же самое, но вместо роли «Участник данных BLOB-объектов хранилища» выберите роль «Участник». Теперь это сделано, мы можем создать обе связанные службы. Сделайте это, нажав «Управление» в рабочей области Synapse. Затем нажмите «Связанные службы», «Создать» и найдите «AML» в параметрах. Мы назовем связанную службу LSAML1 (дефис не допускается). Используя управляемое удостоверение в качестве метода проверки подлинности, выберите соответствующую подписку и рабочую область. Перед созданием связанной службы проверьте соединение, чтобы убедиться, что все работает. Аналогичным образом создайте связанную службу LSDL1 для учетной записи хранения AML, используя управляемое удостоверение. Чтобы эти изменения вступили в силу, нам нужно опубликовать их, нажав Опубликовать все.
Чтобы иметь возможность использовать кластер пула Spark из Azure Synapse Analytics в Машинном обучении Azure, нам также необходимо связать рабочую область Synapse с AML. Для этого перейдите в рабочую область AML и откройте Linked Services. Там нажмите «Добавить интеграцию», чтобы выбрать рабочее пространство Synapse. Для Имени мы будем использовать LSSYN01, для остальных полей выбираем соответствующую подписку и рабочую область. На следующей вкладке выберите пул Spark, который мы только что создали, и дайте пулу имя вычисления в AML. Когда это будет сделано, выберите «Создать», чтобы создать связанную службу и вычислить.
На этом мы завершаем эту статью, в которой мы создали рабочее пространство Synapse и машинного обучения, настроили кластер Spark и связали две службы Azure. Теперь мы готовы загрузить некоторые данные в нашу рабочую область Synapse и запустить процесс машинного обучения. Это тема следующей статьи.
Источники