Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст

Ман бисёр олимони маълумотро медонам - ва шояд ман яке аз онҳо ҳастам - онҳо дар мошинҳои GPU, маҳаллӣ ё виртуалӣ, ки дар абр ҷойгиранд, ё тавассути ноутбуки Jupyter ё тавассути як намуди муҳити таҳияи Python кор мекунанд. Дар тӯли 2 сол ҳамчун таҳиягари коршинос дар AI/ML кор карда, ман маҳз ҳамин корро кардам, ҳангоми омода кардани маълумот дар сервер ё истгоҳи корӣ ва гузаронидани омӯзиш дар мошини виртуалӣ бо GPU дар Azure.

Албатта, ҳамаи мо дар бораи он шунидаем Омӯзиши мошинии Azure — платформаи махсуси абрӣ барои омӯзиши мошин. Бо вуҷуди ин, пас аз назари аввал дар мақолаҳои муқаддимавӣ, чунин ба назар мерасад, ки 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, инчунин васеъшавӣ Azure ворид шавед и Azure ML
  • Анборро клон кунед https://github.com/CloudAdvocacy/AzureMLStarter — он дорои якчанд рамзи намоишӣ барои омӯзиши модели шинохти рақамҳои дастнавис дар маҷмӯи додаҳои MNIST мебошад.
  • Анбори клоншударо дар Visual Studio Code кушоед.
  • Хонда шуд!

Azure ML Workspace ва Azure ML Portal

Azure ML дар атрофи консепсия ташкил карда шудааст майдони кор - Майдони корӣ. Маълумотро дар фазои корӣ нигоҳ доштан мумкин аст, таҷрибаҳоро барои омӯзиш ба он фиристодан мумкин аст ва натиҷаҳои омӯзиш - ченакҳо ва моделҳои натиҷавӣ низ дар он ҷо нигоҳ дошта мешаванд. Шумо метавонед бубинед, ки дар дохили фазои корӣ чӣ кор мекунад Портали Azure ML - ва аз он ҷо шумо метавонед бисёр амалҳоро иҷро кунед, аз боркунии маълумот то таҷрибаҳои мониторинг ва ҷойгиркунии моделҳо.

Шумо метавонед тавассути интерфейси веб фазои корӣ эҷод кунед Портали Azure (ниг. банди. дастурҳои қадам ба қадам) ё бо истифода аз сатри фармони 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). Пас аз он ки шумо скриптро барои омӯзонидани модел сохтаед, шумо метавонед тачрибаро барои ичро фиристанд ба майдони кор ва муайян кунед ҳадафро ҳисоб кунед - дар ин ҳолат, скрипт бастабандӣ карда, дар муҳити дилхоҳи ҳисоббарорӣ ба кор андохта мешавад ва сипас тамоми натиҷаҳои таҷриба дар фазои корӣ барои таҳлил ва истифодаи минбаъда захира карда мешаванд.

Скрипти омӯзишӣ барои 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 дар бораи бастабандии скрипти мо бо ҳамаи файлҳои директорияи ҷорӣ ба контейнери докер, насб кардани вобастагии зарурӣ ва фиристодани он барои иҷро ғамхорӣ мекунад.
  • Натиҷаҳоро ба як реестри ягона дар фазои кории 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. Боварӣ ҳосил кунед, ки Extension Azure ба обунаи шумо пайваст аст. Аз менюи чап тасвири Azure -ро интихоб кунед. Агар шумо пайваст набошед, дар кунҷи рости поёни огоҳинома пайдо мешавад (Ана тамом), бо пахш кардани он шумо метавонед тавассути браузер ворид шавед. Шумо инчунин метавонед клик кунед Ctrl-Shift-P барои кушодани хати фармони VS Code, ва нависед Azure ворид шавед.

  2. Пас аз он, дар қисмати Azure (нишона дар тарафи чап) бахшро пайдо кунед ТА LEЛИМИ МАШИНА:

Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст
Дар ин ҷо шумо бояд гурӯҳҳои гуногуни объектҳоро дар дохили фазои корӣ бинед: захираҳои ҳисоббарорӣ, таҷрибаҳо ва ғайра.

  1. Ба рӯйхати файлҳо гузаред, скриптро бо тугмаи рост клик кунед train_universal.py ва интихоб кунед Azure ML: Ҳамчун озмоиш дар Azure иҷро кунед.

Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст

  1. Пас аз ин як қатор муколамаҳо дар майдони фармони VS Code хоҳад буд: обуна ва фазои кории Azure ML-ро тасдиқ кунед ва интихоб кунед Таҷрибаи нав эҷод кунед:

Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст
Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст
Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст

  1. Барои эҷоди манбаи нави ҳисоббарорӣ интихоб кунед Ҳисобкунии нав эҷод кунед:

    • Compute захираи хисоббарореро, ки дар он таълим гузаронида мешавад, муайян мекунад. Шумо метавонед компютери маҳаллӣ ё кластери абрии AmlCompute -ро интихоб кунед. Ман тавсия медиҳам, ки кластери миқёспазири мошинҳо эҷод кунед STANDARD_DS3_v2, бо шумораи ҳадди ақали мошинҳо 0 (ва ҳадди аксар метавонад 1 ё бештар аз он, вобаста ба иштиҳои шумо). Инро метавон тавассути интерфейси VS Code ё қаблан анҷом дод Портали ML.

    Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст

  2. Баъд шумо бояд конфигуратсияро интихоб кунед Конфигуратсияро ҳисоб кунед, ки параметрҳои контейнери барои таълим офаридашуда, аз ҷумла, тамоми китобхонаҳои заруриро муайян мекунад. Дар ҳолати мо, азбаски мо Scikit Learn-ро истифода мебарем, мо интихоб мекунем SkLearn, ва он гоҳ танҳо бо пахш кардани тугмаи Enter рӯйхати пешниҳодшудаи китобхонаҳоро тасдиқ кунед. Агар шумо ягон китобхонаи иловагиро истифода баред, онҳо бояд дар ин ҷо нишон дода шаванд.

    Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст
    Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст

  3. Пас аз ин, тиреза бо файли JSON кушода мешавад, ки таҷрибаро тавсиф мекунад. Шумо метавонед баъзе параметрҳоро дар он ислоҳ кунед, масалан, номи таҷриба. Пас аз он истинодро клик кунед Таҷрибаро пешниҳод кунед рост дар дохили ин файл:

Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст

  1. Пас аз бомуваффақият пешниҳод кардани таҷриба тавассути VS Code, дар минтақаи огоҳинома дар тарафи рост шумо истиноди онро хоҳед дид Портали Azure ML, ки дар он шумо метавонед вазъият ва натиҷаҳои таҷрибаро пайгирӣ кунед.

Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст
Баъдан, шумо ҳамеша метавонед онро дар қисмат пайдо кунед Озмоишҳо Портали Azure ML, ё дар бахш Омӯзиши мошинии Azure дар рӯйхати таҷрибаҳо:

Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст

  1. Агар шумо пас аз он ба код ягон ислоҳот ворид карда бошед ё параметрҳоро тағир дода бошед, дубора иҷро кардани таҷриба хеле тезтар ва осонтар хоҳад буд. Бо пахш кардани тугмаи рости файл, шумо ҷузъи нави менюро хоҳед дид Давраи охиринро такрор кунед - танҳо онро интихоб кунед ва таҷриба фавран оғоз мешавад:

Чӣ тавр тарсро бартараф кардан ва истифодаи Azure Machine Learning -ро оғоз кардан мумкин аст
Шумо ҳамеша метавонед натиҷаҳои ченакҳоро аз ҳама иҷроҳо дар Portal Azure ML пайдо кунед; зарурати сабти онҳо нест.

Акнун шумо медонед, ки таҷрибаҳо бо истифода аз Azure ML осон, бедард аст ва бо баъзе бартариҳои ҳаяҷоновар меояд.

Аммо шумо шояд баъзе камбудиҳоро мушоҳида карда бошед. Масалан, барои иҷро кардани скрипт ба таври назаррас бештар вақт лозим шуд. Албатта, бастабандии скрипт дар як контейнер ва ҷойгиркунии он дар сервер вақт мегирад. Агар кластер ба андозаи 0 гиреҳ кам карда шуда бошад, барои ба кор андохтани мошини виртуалӣ вақти боз ҳам бештар лозим мешавад ва ҳамаи ин ҳангоми таҷрибаҳо оид ба масъалаҳои оддие ба мисли MNIST, ки дар чанд сония ҳал мешаванд, хеле намоён мешавад. Аммо, дар ҳаёти воқеӣ, вақте ки омӯзиш якчанд соат ё ҳатто рӯзҳо ё ҳафтаҳо тӯл мекашад, ин вақти иловагӣ ночиз мешавад, махсусан дар пасманзари иҷрои хеле баландтаре, ки кластери ҳисоббарорӣ метавонад таъмин кунад.

Чӣ оянда аст?

Умедворам, ки пас аз хондани ин мақола, шумо метавонед Azure ML-ро дар кори худ барои иҷро кардани скриптҳо, идоракунии захираҳои ҳисоббарорӣ ва ба таври мутамарказ нигоҳ доштани натиҷаҳо истифода баред. Бо вуҷуди ин, Azure ML метавонад ба шумо манфиатҳои бештар диҳад!

Шумо метавонед маълумотро дар дохили фазои корӣ нигоҳ доред ва ба ин васила барои ҳама вазифаҳои худ як анбори мутамарказ эҷод кунед, ки дастрасии он осон аст. Илова бар ин, шумо метавонед таҷрибаҳоро бо истифода аз API ба ҷои Visual Studio Code иҷро кунед - ин метавонад махсусан муфид бошад, агар шумо бояд оптимизатсияи гиперпараметрро иҷро кунед ва скриптро чанд маротиба бо параметрҳои гуногун иҷро кунед. Ғайр аз он, дар Azure ML технологияи махсус сохта шудааст Гипердрайв, ки барои ҷустуҷӯи мураккабтар ва оптимизатсияи гиперпараметрҳо имкон медиҳад. Ман дар бораи ин имкониятҳо дар мақолаи навбатии худ сӯҳбат хоҳам кард.

Сарчашмаҳои фоиданок

Барои гирифтани маълумоти бештар дар бораи Azure ML, шумо метавонед курсҳои зерини Microsoft Learnро муфид ёбед:

Манбаъ: will.com

Илова Эзоҳ