Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

Π― знаю ΠΌΠ½ΠΎΠ³ΠΈΡ… Data Scientist-ΠΎΠ² β€” Π΄Π° ΠΈ ΠΏΠΎΠΆΠ°Π»ΡƒΠΉ сам ΠΊ Π½ΠΈΠΌ ΠΎΡ‚Π½ΠΎΡˆΡƒΡΡŒ β€” ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΠΌΠ°ΡˆΠΈΠ½Π°Ρ… с GPU, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ…, располоТСнных Π² ΠΎΠ±Π»Π°ΠΊΠ΅, Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ€Π΅Π· Jupyter Notebook, Π»ΠΈΠ±ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Python. Работая Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ 2 Π»Π΅Ρ‚ экспСртом-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ ΠΏΠΎ AI/ML я Π΄Π΅Π»Π°Π» ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ, ΠΏΡ€ΠΈ этом ΠΏΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π» Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ сСрвСрС ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ станции, Π° запускал ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΠ΅ с GPU Π² Azure.

ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΌΡ‹ всС ΡΠ»Ρ‹ΡˆΠ°Π»ΠΈ ΠΏΡ€ΠΎ Azure Machine Learning β€” ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Π»Π°Ρ‡Π½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ для машинного обучСния. Однако послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΆΠ΅ взгляда Π½Π° Π²Π²ΠΎΠ΄Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ, создаётся Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Azure ML создаст Π²Π°ΠΌ большС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Ρ‡Π΅ΠΌ Ρ€Π΅ΡˆΠΈΡ‚. НапримСр, Π² упомянутом Π²Ρ‹ΡˆΠ΅ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Azure ML запускаСтся ΠΈΠ· Jupyter Notebook, ΠΏΡ€ΠΈ этом сам ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ скрипт прСдлагаСтся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ тСкстовый Ρ„Π°ΠΉΠ» Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ячССк β€” ΠΏΡ€ΠΈ этом Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, подсвСтку синтаксиса ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ прСимущСства Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. По этой ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΡ‹ Π΄ΠΎΠ»Π³ΠΎΠ΅ врСмя Π²ΡΠ΅Ρ€ΡŒΠ΅Π· Π½Π΅ использовали Azure ML Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅.

Однако Π½Π΅Π΄Π°Π²Π½ΠΎ я ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ» способ, ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure ML Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅! Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹ подробности?

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

Основной сСкрСт β€” это Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Visual Studio Code для Azure ML. Оно позволяСт Π²Π°ΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ скрипты прямо Π² VS Code, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ всС прСимущСства срСды β€” ΠΏΡ€ΠΈ этом Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°ΠΆΠ΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт локально, Π° Π·Π°Ρ‚Π΅ΠΌ просто Π²Π·ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π² кластСрС Azure ML нСсколькими Ρ‰Π΅Π»Ρ‡ΠΊΠ°ΠΌΠΈ ΠΌΡ‹ΡˆΠΈ. Π£Π΄ΠΎΠ±Π½ΠΎ, Π½Π΅ ΠΏΡ€Π°Π²Π΄Π° Π»ΠΈ?

ΠŸΡ€ΠΈ этом Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ прСимущСства ΠΎΡ‚ использования Azure ML:

  • МоТно Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ локально Π½Π° своСй машинС Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΌ IDE, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ GPU Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для обучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠŸΡ€ΠΈ этом ΠΏΡƒΠ» ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… рСсурсов ΠΌΠΎΠΆΠ΅Ρ‚ автоматичСски ΠΏΠΎΠ΄ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΈ установив минимальноС количСство ΡƒΠ·Π»ΠΎΠ² Π² 0 Π²Ρ‹ смоТСтС автоматичСски Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΡƒ "ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ" ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π°Π΄Π°Π½ΠΈΠΉ.
  • Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ обучСния Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ достигнутыС ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ β€” Π½Π΅Ρ‚ нСобходимости самому ΠΏΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ систСму ΠΈΠ»ΠΈ порядок для хранСния всСх Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ².
  • ΠŸΡ€ΠΈ этом Π½Π°Π΄ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСсколько Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ β€” ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ кластСр, всС экспСримСнты Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΈ этом Π²Ρ‹ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ экспСримСнтов Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. Одним ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… сцСнариСв являСтся использованиС Azure ML Π² ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Π½ΠΈΠΈ Deep Learning, ΠΊΠΎΠ³Π΄Π° вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ студСнту Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с GPU, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ кластСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ всСми Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, общая Ρ‚Π°Π±Π»ΠΈΡ†Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ»ΡƒΠΆΠΈΡ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ ΡΠΎΡ€Π΅Π²Π½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтом.
  • Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Azure ML ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ сСрии экспСримСнтов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π³ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² β€” это ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ нСсколькими строчками ΠΊΠΎΠ΄Π°, Π½Π΅Ρ‚ нСобходимости ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ сСрии экспСримСнтов Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

НадСюсь, я ΡƒΠ±Π΅Π΄ΠΈΠ» вас ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Azure ML! Π’ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Ρ‡Π°Ρ‚ΡŒ:

  • Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСна Visual Studio Code, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Azure Sign In ΠΈ Azure ML
  • ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ https://github.com/CloudAdvocacy/AzureMLStarter β€” ΠΎΠ½ содСрТит Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрационный ΠΊΠΎΠ΄ для Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ распознавания рукописных Ρ†ΠΈΡ„Ρ€ Π½Π° датасСтС MNIST.
  • ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ Π² Visual Studio Code.
  • Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ дальшС!

Azure ML Workspace ΠΈ Azure ML Portal

Azure ML ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ Π²ΠΎΠΊΡ€ΡƒΠ³ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области β€” Workspace. Π’ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΌΠΎΠ³ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅, Π² Π½Π΅Ρ‘ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ экспСримСнты для обучСния, Ρ‚Π°ΠΌ ΠΆΠ΅ хранятся Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ обучСния β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ находится Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области, ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ€Ρ‚Π°Π» Azure ML β€” ΠΈ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ мноТСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, начиная ΠΎΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ заканчивая ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΎΠΌ экспСримСнтов ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ.

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-интСрфСйс Azure Portal (см. ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ инструкции), ΠΈΠ»ΠΈ с использованиСм ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Azure CLI (инструкции):

az extension add -n azure-cli-ml
az group create -n myazml -l northeurope
az ml workspace create -w myworkspace -g myazml

Π‘ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ связаны Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы (Compute). Π‘ΠΎΠ·Π΄Π°Π² скрипт для обучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠ»Π°Ρ‚ΡŒ экспСримСнт Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ, ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ compute target β€” ΠΏΡ€ΠΈ этом скрипт Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Π½, Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π² Π½ΡƒΠΆΠ½ΠΎΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ срСдС, Π° Π·Π°Ρ‚Π΅ΠΌ всС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ экспСримСнта Π±ΡƒΠ΄ΡƒΡ‚ сохранСны Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области для дальнСйшСго Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ использования.

ΠžΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ скрипт для MNIST

Рассмотрим ΠΊΠ»Π°ΡΡΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ распознавания рукописных Ρ†ΠΈΡ„Ρ€ с использованиСм Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… MNIST. Аналогично Π² дальнСйшСм Π²Ρ‹ смоТСтС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ свои ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ скрипты.

Π’ нашСм Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π΅ΡΡ‚ΡŒ скрипт train_local.py, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΡƒΡŽ модСль Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ рСгрСссии с использованиСм Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ SkLearn. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, я понимаю, Ρ‡Ρ‚ΠΎ это Π½Π΅ самый Π»ΡƒΡ‡ΡˆΠΈΠΉ способ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ β€” ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°, ΠΊΠ°ΠΊ самый простой.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ сначала скачиваСт Π΄Π°Π½Π½Ρ‹Π΅ MNIST ΠΈΠ· OpenML, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ класс LogisticRegression для обучСния ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ:

mnist = fetch_openml('mnist_784')
mnist['target'] = np.array([int(x) for x in mnist['target']])

shuffle_index = np.random.permutation(len(mist['data']))
X, y = mnist['data'][shuffle_index], mnist['target'][shuffle_index]

X_train, X_test, y_train, y_test = 
  train_test_split(X, y, test_size = 0.3, random_state = 42)

lr = LogisticRegression()
lr.fit(X_train, y_train)
y_hat = lr.predict(X_test)
acc = np.average(np.int32(y_hat == y_test))

print('Overall accuracy:', acc)

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт Π½Π° своём ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Ρƒ сСкунд ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

ЗапускаСм скрипт Π² Azure ML

Если ΠΆΠ΅ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ скрипт Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· Azure ML, Ρƒ нас Π±ΡƒΠ΄Π΅Ρ‚ Π΄Π²Π° основных прСимущСства:

  • Запуск обучСния Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ рСсурсС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Ρ‡Π΅ΠΌ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€. ΠŸΡ€ΠΈ этом Azure ML сам позаботится ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ наш скрипт со всСми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹Π΅ зависимости, ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
  • Π—Π°ΠΏΠΈΡΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ рССстр Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области Azure ML. Π§Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этой Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρƒ строчСк ΠΊΠΎΠ΄Π° ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ скрипту для записи Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ точности:

from azureml.core.run import Run
...
try:    
    run = Run.get_submitted_run()
    run.log('accuracy', acc)
except:
    pass

Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ вСрсия скрипта называСтся train_universal.py (ΠΎΠ½Π° Ρ‡ΡƒΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ…ΠΈΡ‚Ρ€ΠΎ устроСна, Ρ‡Π΅ΠΌ написано Π²Ρ‹ΡˆΠ΅, Π½ΠΎ Π½Π΅ сильно). Π­Ρ‚ΠΎΡ‚ скрипт ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ локально, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌ рСсурсС.

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Azure ML ΠΈΠ· VS Code, Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

  1. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Azure Extension ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΊ вашСй подпискС. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ ΠΈΠΊΠΎΠ½ΠΊΡƒ Azure Π² мСню слСва. Если Π²Ρ‹ Π½Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹, Π² ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ появится ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ (Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠ΅), Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π²Ρ‹ смоТСтС Π²ΠΎΠΉΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. МоТно Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°ΠΆΠ°Ρ‚ΡŒ Ctrl-Shift-P для Π²Ρ‹Π·ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки VS Code, ΠΈ Π½Π°Π±Ρ€Π°Ρ‚ΡŒ Azure Sign In.

  2. ПослС этого, Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Azure (ΠΈΠΊΠΎΠ½ΠΊΠ° слСва) Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΡΠ΅ΠΊΡ†ΠΈΡŽ MACHINE LEARNING:

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning
Π—Π΄Π΅ΡΡŒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области: Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы, экспСримСнты ΠΈ Ρ‚.Π΄.

  1. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΊ списку Ρ„Π°ΠΉΠ»ΠΎΠ², Π½Π°ΠΆΠΌΠΈΡ‚Π΅ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° скриптС train_universal.py ΠΈ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Azure ML: Run as experiment in Azure.

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

  1. ПослС этого послСдуСт сСрия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ² Π² области ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки VS Code: ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡƒΡŽ подписку ΠΈ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Azure ML, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Create new experiment:

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning
Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning
Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

  1. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ рСсурса Create New Compute:

    • Compute опрСдСляСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСсурс, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€, ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹ΠΉ кластСр AmlCompute. Π― Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ кластСр машин STANDARD_DS3_v2, с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ числом машин 0 (Π° максимальноС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ 1 ΠΈΠ»ΠΈ большС, Π² зависимости ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… Π°ΠΏΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΠ²). Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс VS Code, ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· ML Portal.

    Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

  2. Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Compute Configuration, которая опрСдСляСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ создаваСмого для обучСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, Π² частности, всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ. Π’ нашСм случаС, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Scikit Learn, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ SkLearn, ΠΈ Π·Π°Ρ‚Π΅ΠΌ просто ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Enter. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ β€” ΠΈΡ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ здСсь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ.

    Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning
    Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

  3. ПослС этого откроСтся ΠΎΠΊΠ½ΠΎ с JSON-Ρ„Π°ΠΉΠ»ΠΎΠΌ, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΌ экспСримСнт. Π’ Π½Ρ‘ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ β€” Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, имя экспСримСнта. ПослС этого Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° ссылку Submit Experiment прямо Π²Π½ΡƒΡ‚Ρ€ΠΈ этого Ρ„Π°ΠΉΠ»Π°:

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

  1. ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π°Ρ‡ΠΈ экспСримСнта Ρ‡Π΅Ρ€Π΅Π· VS Code, справа Π² области ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ссылку Π½Π° Azure ML Portal, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ смоТСтС ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ статус ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ экспСримСнта.

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning
ВпослСдствии Π²Ρ‹ всСгда смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π΅Π³ΠΎ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Experiments Azure ML Portal, ΠΈΠ»ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Azure Machine Learning Π² спискС экспСримСнтов:

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning

  1. Если Π²Ρ‹ послС этого внСсли Π² ΠΊΠΎΠ΄ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ исправлСния ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ β€” ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΉ запуск экспСримСнта Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ быстрСС ΠΈ ΠΏΡ€ΠΎΡ‰Π΅. НаТав ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° Ρ„Π°ΠΉΠ», Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню Repeat last run β€” просто Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Π΅Π³ΠΎ, ΠΈ экспСримСнт Π±ΡƒΠ΄Π΅Ρ‚ сразу ΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½:

Как ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ страх ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure Machine Learning
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊ ΠΎΡ‚ всСх запусков Π²Ρ‹ всСгда смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π½Π° Azure ML Portal, Π½Π΅Ρ‚ нСобходимости ΠΈΡ… Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‡Ρ‚ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ экспСримСнты с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Azure ML β€” это просто ΠΈ Π±Π΅Π·Π±ΠΎΠ»Π΅Π·Π½Π΅Π½Π½ΠΎ, ΠΈ ΠΏΡ€ΠΈ этом Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ряд приятных прСимущСств.

Но Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΈ нСдостатки. НапримСр, для запуска скрипта ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ сущСствСнно большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, для ΡƒΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ скрипта Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ΠΈ разворачивания Π΅Π³ΠΎ Π½Π° сСрвСрС трСбуСтся врСмя. Если ΠΏΡ€ΠΈ этом кластСр Π±Ρ‹Π» ΡƒΡ€Π΅Π·Π°Π½ Π΄ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² 0 ΡƒΠ·Π»ΠΎΠ² β€” потрСбуСтся Π΅Ρ‰Ρ‘ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для запуска Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, ΠΈ всё это ΠΎΡ‡Π΅Π½ΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ экспСримСнтируСм Π½Π° простых Π·Π°Π΄Π°Ρ‡Π°Ρ… Ρ‚ΠΈΠΏΠ° MNIST, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ Π·Π° нСсколько сСкунд. Однако, Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ длится нСсколько часов, Π° Ρ‚ΠΎ ΠΈ Π΄Π½Π΅ΠΉ ΠΈΠ»ΠΈ нСдСль, это Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ врСмя становится нСсущСствСнным, особСнно Π½Π° Ρ„ΠΎΠ½Π΅ сильно Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ кластСр.

Π§Ρ‚ΠΎ дальшС?

Π― надСюсь, Ρ‡Ρ‚ΠΎ послС прочтСния этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ смоТСтС ΠΈ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Azure ML Π² своСй Ρ€Π°Π±ΠΎΡ‚Π΅ для запуска скриптов, управлСния Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ рСсурсами ΠΈ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ хранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ². Однако Azure ML ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π²Π°ΠΌ Π΅Ρ‰Ρ‘ большС прСимущСств!

Π’Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ области ΠΌΠΎΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π΅ΠΌ самым создавая Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для всСх своих Π·Π°Π΄Π°Ρ‡, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π»Π΅Π³ΠΊΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ экспСримСнты Π½Π΅ ΠΈΠ· Visual Studio Code, Π° с использованиСм API β€” это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ особСнно ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π³ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ скрипт ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ. Π‘ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ³ΠΎ, Π² Azure ML встроСна ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ тСхнология Hyperdrive, которая позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΉ поиск ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π³ΠΈΠΏΠ΅Ρ€ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Об этих возмоТностях я расскаТу Π² своСй ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ рСсурсы

Для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ изучСния Azure ML, Π²Π°ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ курсы Microsoft Learn:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com