Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

Ndiyazazi iiNzululwazi ezininzi zeData- kwaye mhlawumbi ndingomnye wabo-abasebenza koomatshini be-GPU, basekhaya okanye benyani, ababekwe efini, nokuba ngeJupyter Notebook okanye ngolunye uhlobo lwendawo yophuhliso lwePython. Ukusebenza iminyaka eyi-2 njengomphuhlisi we-AI / ML oyingcali, ndenze kanye oku, ngelixa ndilungiselela idatha kwi-server eqhelekileyo okanye kwindawo yokusebenza, kunye noqeqesho olusebenzayo kumatshini obonakalayo kunye ne-GPU e-Azure.

Ewe, sonke sivile malunga UkuFunda koMatshini weAzure - iqonga elikhethekileyo lelifu lokufunda koomatshini. Nangona kunjalo, emva kokujonga kuqala amanqaku ayintshayelelo, kubonakala ngathi i-Azure ML iya kudala iingxaki ezininzi kuwe kunokuba izisombulule. Umzekelo, kwisifundo esikhankanywe ngasentla, uqeqesho kwi-Azure ML luqaliswa kwi-Jupyter Notebook, ngelixa iskripthi soqeqesho ngokwaso sicetywa ukuba senziwe kwaye sihlelwe njengefayile yokubhaliweyo kwenye yeeseli-ngelixa ungasebenzisi ukugqibezela ngokuzenzekelayo, i-syntax. ukuqaqambisa, kunye nolunye uncedo lwemekobume yophuhliso eqhelekileyo. Ngesi sizathu, asizange sisebenzise nzulu i-Azure ML emsebenzini wethu ixesha elide.

Nangona kunjalo, ndisanda kufumana indlela yokuqalisa ukusebenzisa i-Azure ML ngokufanelekileyo emsebenzini wam! Unomdla kwiinkcukacha?

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

Imfihlelo engundoqo Ukwandiswa kweKhowudi yeSitudiyo esiBonakalayo seAzure ML. Ikuvumela ukuba uphuhlise izikripthi zoqeqesho kanye kwiKhowudi ye-VS, uthatha ithuba elipheleleyo lokusingqongileyo-kwaye unokusiqhuba iskripthi endaweni kwaye emva koko usithumele kuqeqesho kwiqela le-Azure ML ngokucofa okumbalwa. Kulula, akunjalo?

Ngokwenza oko, ufumana ezi zibonelelo zilandelayo ngokusebenzisa i-Azure ML:

  • Ungasebenza ixesha elininzi ekuhlaleni kumatshini wakho kwi-IDE efanelekileyo, kwaye sebenzisa i-GPU kuphela kuqeqesho lwemodeli. Ngelo xesha, i-pool yezibonelelo zoqeqesho inokulungelelanisa ngokuzenzekelayo kumthwalo ofunekayo, kwaye ngokubeka inani elincinci lee-nodes ukuya kwi-0, ungaqala ngokuzenzekelayo umatshini wenyani "kwimfuno" phambi kwemisebenzi yoqeqesho.
  • ungase gcina zonke iziphumo zokufunda ndaweni-nye, kubandakanywa neemetrics eziphunyeziweyo kunye neemodeli ezibangelwayo - akukho mfuneko yokuza nohlobo oluthile lwenkqubo okanye umyalelo wokugcina zonke iziphumo.
  • ngoko ke Abantu abaninzi banokusebenza kwiprojekthi enye - banokusebenzisa i-computing cluster efanayo, yonke imifuniselo iya kufakwa emgceni, kwaye banokubona iziphumo zovavanyo lomnye nomnye. Enye imeko enjalo usebenzisa iAzure ML ekufundiseni ukuFunda okuNzuluxa endaweni yokunika umfundi ngamnye umatshini wenyani oneGPU, ungenza iqela elinye eliza kusetyenziswa ngabo bonke abasembindini. Ukongezelela, itheyibhile ngokubanzi yeziphumo ngokuchaneka kwemodeli inokusebenza njengento efanelekileyo yokukhuphisana.
  • Nge-Azure ML, unokuqhuba ngokulula uthotho lweemvavanyo, umzekelo, kwi hyperparameter optimization - oku kunokwenziwa ngemigca embalwa yekhowudi, akukho mfuneko yokuqhuba uluhlu lwezilingo ngesandla.

Ndiyathemba ukuba ndikuqinisekisile ukuba uzame iAzure ML! Nantsi indlela yokuqalisa:

Indawo yokusebenzela ye-Azure ML kunye ne-Azure ML Portal

I-Azure ML iququzelelwe malunga nombono indawo yokusebenza - indawo yokusebenza. Idatha inokugcinwa kwindawo yokusebenza, iimvavanyo zithunyelwa kuyo ukuze ziqeqeshelwe, iziphumo zoqeqesho nazo zigcinwe apho - iimethrikhi ezibangelwayo kunye neemodeli. Unokubona okungaphakathi kwendawo yokusebenza I-Azure ML portal -kwaye ukusuka apho ungenza imisebenzi emininzi, ukusuka ekulayisheni idatha ukuya kwimifuniselo yokubeka iliso kunye nokuhambisa iimodeli.

Unokwenza indawo yokusebenza ngokusebenzisa ujongano lwewebhu Azure Portal (i-CM. imiyalelo step by step), okanye usebenzisa i Azure CLI ilayini yomyalelo (imiyalelo):

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

Zikwanxulunyaniswa nendawo yokusebenza ezinye izixhobo zekhompyutha (Qhawula). Nje ukuba wenze iskripthi sokuqeqesha imodeli, unako thumela umfuniselo wokwenziwa kwindawo yokusebenza, kwaye ucacise khola ekujoliswe kuko - kule meko, iskripthi siya kupakishwa, siqhutywe kwindawo efunwayo yekhompyutheni, kwaye ke zonke iziphumo zovavanyo ziya kugcinwa kwindawo yokusebenza ukuze kuhlalutywe kwaye kusetyenziswe.

Isikripthi sokufunda se-MNIST

Qwalasela ingxaki yamandulo idijithi ebhalwe ngesandla usebenzisa iseti yedatha ye-MNIST. Ngokufanayo, kwixesha elizayo, unokuqhuba naziphi na izikripthi zakho zoqeqesho.

Kukho iskripthi kwindawo yethu yokugcina train_local.py, esiqeqesha eyona modeli ilula yokuhlehla sisebenzisa ithala leencwadi le-SkLearn. Ngokuqinisekileyo, ndiyaqonda ukuba oku akuyona indlela efanelekileyo yokusombulula ingxaki - siyisebenzisela umzekelo, njengento elula.

Iscript sikhuphela kuqala idatha ye-MNIST kwi-OpenML kwaye emva koko isebenzisa iklasi LogisticRegression ukuqeqesha imodeli, kwaye emva koko uprinte iziphumo ezichanekileyo:

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)

Ungaqhuba iskripthi kwikhompyuter yakho kwaye ufumane iziphumo kwimizuzwana embalwa.

Qalisa iskripthi kwi-Azure ML

Ukuba siqhuba iskripthi soqeqesho nge-Azure ML, siya kuba neengenelo ezimbini eziphambili:

  • Ukuqhuba uqeqesho kwisixhobo sekhompyutheni esingenasizathu, esinokuthi, njengomthetho, sivelise ngakumbi kunekhompyutheni yendawo. Kwangelo xesha, i-Azure ML ngokwayo iya kukhathalela ukupakisha iskripthi sethu nazo zonke iifayile ezisuka kulawulo lwangoku ukuya kwisingxobo sedocker, ifakela ukuxhomekeka okufunekayo, kwaye uyithumele ukuba iphunyezwe.
  • Bhala iziphumo kwirejista enye ngaphakathi kwendawo yokusebenza ye-Azure ML. Ukuthatha ithuba leli nqaku, kufuneka songeze imigca embalwa yekhowudi kwiscript sethu ukurekhoda ukuchaneka okuphumayo:

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

Uguqulelo oluhambelanayo lweskripthi lubizwa ngokuba train_universal.py (inobuqhetseba kancinane kunoko kubhaliweyo ngasentla, kodwa hayi kakhulu). Le script inokuqhutywa kokubini ekuhlaleni nakwisixhobo esikude sekhompyuter.

Ukuyiqhuba kwi-Azure ML ukusuka kwiKhowudi yeVS, kufuneka wenze oku kulandelayo:

  1. Qinisekisa ukuba i-Azure Extension iqhagamshelwe kumrhumo wakho. Khetha i icon yeAzure kwimenyu esekhohlo. Ukuba awuqhagamshelwanga, isaziso siya kuvela kwikona esezantsi ekunene (ndiyayithanda lento), ngokunqakraza apho ungangena khona ngesikhangeli. Ungacofa kwakhona Ctrl-Shift-P ukufowunela i-VS Code ilayini yomyalelo, kwaye uchwetheze Ngena ngeAzure.

  2. Emva koko, kwicandelo le-Azure (i icon ngasekhohlo), fumana icandelo UKUFUNDA KOMATSHINI:

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning
Apha kufuneka ubone amaqela ahlukeneyo ezinto ngaphakathi kwendawo yokusebenza: izixhobo zekhompyutha, imifuniselo, njl.

  1. Yiya kuluhlu lweefayile, cofa ekunene kwiskripthi train_universal.py kwaye ukhethe I-Azure ML: Baleka njengovavanyo kwi-Azure.

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

  1. Oku kuya kulandelwa luthotho lweengxoxo kwindawo yomyalelo weVS Code: qinisekisa ubhaliso kunye nendawo yokusebenza ye-Azure ML oyisebenzisayo, kwaye ukhethe. Yenza umfuniselo omtsha:

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning
Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning
Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

  1. Khetha ukwenza isixhobo esitsha sekhompyutha Yenza iKhompyutha entsha:

    • Qhawula simisela isibonelelo sekhompyutha ekuya kwenziwa kuso uqeqesho. Unokukhetha ikhompyuter yasekhaya, okanye i-AmlCompute cloud cluster. Ndincoma ukwenza iqela elinokwehla loomatshini STANDARD_DS3_v2, kunye nenani elincinci loomatshini be-0 (kunye nobuninzi be-1 okanye ngaphezulu, kuxhomekeke kwiminqweno yakho). Oku kunokwenziwa ngojongano lweKhowudi yeVS, okanye ngaphambili ML Portal.

    Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

  2. Okulandelayo, kufuneka ukhethe ubumbeko Complete Configuration, echaza iiparameters zesikhongozeli esenzelwe uqeqesho, ngokukodwa, zonke iilayibrari eziyimfuneko. Kwimeko yethu, ekubeni sisebenzisa iScikit Learn, sikhetha SkFunda, kwaye emva koko uqinisekise nje uluhlu olucetywayo lwamathala eencwadi ngokucinezela Ngena. Ukuba usebenzisa nawaphi na amathala eencwadi ongezelelweyo, kufuneka achazwe apha.

    Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning
    Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

  3. Oku kuya kuvula ifestile ngefayile ye-JSON echaza umfuniselo. Kuyo, unokulungisa ezinye iiparameters - umzekelo, igama lovavanyo. Emva koko cofa kwikhonkco Ngenisa uMfuniselo kanye ngaphakathi kule fayile:

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

  1. Emva kokungenisa ngempumelelo uvavanyo nge-VS Code, kwicala lasekunene lendawo yesaziso, uya kubona ikhonkco I-Azure ML Portal, apho unokulandelela isimo kunye neziphumo zovavanyo.

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning
Emva koko, unokuhlala uyifumana kwicandelo Iimvavanyo I-Azure ML Portal, okanye kwicandelo UkuFunda koMatshini weAzure kuluhlu lwemifuniselo:

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning

  1. Ukuba emva koko wenze izilungiso ezithile kwikhowudi okanye utshintshe iiparitha, ukuqalisa kwakhona uvavanyo kuya kukhawuleza kwaye kube lula. Ngokucofa-ekunene kwifayile, uya kubona into entsha yemenyu Phinda ukubaleka kokugqibela -yikhethe nje, kwaye uvavanyo luya kuqala kwangoko:

Uloyisa njani uloyiko kwaye uqale ukusebenzisa iAzure Machine Learning
Unokuhlala ufumana iziphumo zeemetrics kuzo zonke iziphehlelelo kwi-Azure ML Portal, akukho mfuneko yokuba uzibhale phantsi.

Ngoku uyazi ukuba ukuqhuba imifuniselo nge-Azure ML kulula kwaye akunantlungu, kwaye ufumana inani leenzuzo ezintle ngokwenza njalo.

Kodwa unokuzibona nezinto ezingeloncedo. Umzekelo, kuthathe ixesha elide kakhulu ukuqhuba iskripthi. Ewe kunjalo, ukupakisha iskripthi kwisikhongozeli kunye nokusithumela kumncedisi kuthatha ixesha. Ukuba ngaxeshanye iqela lasikwa laya kutsho kubungakanani beendawo eziyi-0, kuyakuthatha ixesha elingakumbi ukuqalisa umatshini wenyani, kwaye konke oku kuphawuleka kakhulu xa sivavanya imisebenzi elula efana ne-MNIST, esonjululwa kwimizuzwana embalwa. . Nangona kunjalo, kubomi bokwenyani, xa uqeqesho luthatha iiyure ezininzi, okanye iintsuku okanye iiveki, eli xesha elongezelelweyo liba lingabalulekanga, ngakumbi ngokuchasene nemvelaphi yokusebenza okuphezulu kakhulu kunokubonelela ngeqela lekhompyutha.

Yintoni elandelayo?

Ndiyathemba ukuba emva kokufunda eli nqaku, unako kwaye uya kusebenzisa i-Azure ML kumsebenzi wakho ukuqhuba izikripthi, ukulawula izixhobo zekhompyutha, kunye nokugcina iziphumo kwindawo ephakathi. Nangona kunjalo, i-Azure ML inokukunika izibonelelo ezingakumbi!

Ngaphakathi kwendawo yokusebenza, unokugcina idatha, ngaloo ndlela udala indawo yokugcina indawo ephakathi kuyo yonke imisebenzi yakho, ekulula ukufikelela kuyo. Ukongeza, ungaqhuba imifuniselo engekho kwiKhowudi yeSitudiyo seVisual, kodwa usebenzisa i-API - oku kunokuba luncedo ngakumbi ukuba ufuna ukwenza usetyenziso lwe-hyperparameter kwaye kufuneka usebenzise iskripthi amaxesha amaninzi ngeeparamitha ezahlukeneyo. Ngapha koko, itekhnoloji ekhethekileyo yakhelwe kwi-Azure ML I-Hyperdrive, ekuvumela ukuba wenze uphendlo olukhohlisayo kunye nokwenza ngcono iihyperparameters. Ndiza kuthetha ngala mathuba kwisithuba sam esilandelayo.

Izixhobo eziluncedo

Ukufunda ngakumbi nge-Azure ML, unokufumana ezi zifundo zilandelayo zeMicrosoft ziluncedo:

umthombo: www.habr.com

Yongeza izimvo