Njoh shumĂ« Data Scientist-Ă« â madje mendoj se edhe unĂ« i pĂ«rkas atyre â tĂ« cilĂ«t punojnĂ« nĂ« makina me GPU, lokale ose virtuale, tĂ« vendosura nĂ« re, ose pĂ«rmes Jupyter Notebook, ose pĂ«rmes ndonjĂ« mjedisi zhvillimi Python. Duke punuar pĂ«r 2 vjet si ekspert zhvillues nĂ« AI/ML, kam bĂ«rĂ« pikĂ«risht kĂ«shtu, duke pĂ«rgatitur tĂ« dhĂ«nat nĂ« njĂ« server ose stacion pune tĂ« zakonshĂ«m, ndĂ«rsa mĂ«soja nĂ« njĂ« virtuale me GPU nĂ« Azure.
Natyrisht, tĂ« gjithĂ« kemi dĂ«gjuar pĂ«r â njĂ« platformĂ« speciale nĂ« re pĂ«r mĂ«simin e makinave. MegjithatĂ«, pas shikimit tĂ« parĂ« nĂ« , krijohet pĂ«rshtypja se Azure ML do t'ju sjellĂ« mĂ« shumĂ« probleme sesa zgjidhje. PĂ«r shembull, nĂ« shembullin e trajnimit tĂ« pĂ«rmendur mĂ« sipĂ«r, trajnimi nĂ« Azure ML niset nga Jupyter Notebook, ndĂ«rsa skripti i vetĂ« trajnimit propozohet tĂ« krijohet dhe modifikohet si njĂ« skedar tekstual nĂ« njĂ« nga qelizat â pa pĂ«rdorur plotĂ«simin automatik, ndriçimin e sintaksĂ«s dhe pĂ«rfitime tĂ« tjera tĂ« njĂ« mjedisi tĂ« zakonshĂ«m zhvillimi. PĂ«r kĂ«tĂ« arsye, ne gjatĂ« njĂ« periudhe tĂ« gjatĂ« nuk e kemi pĂ«rdorur seriozisht Azure ML nĂ« punĂ«n tonĂ«.
Së fundmi, kam zbuluar një mënyrë për ta përdorur efektivisht Azure ML në punën time! A jeni të interesuar për detaje?

Sekreti kryesor Ă«shtĂ« . Ai ju lejon tĂ« zhvilloni skriptet e trajnimit direkt nĂ« VS Code, duke pĂ«rdorur tĂ« gjitha avantazhet e mjedisit â pĂ«r mĂ« tepĂ«r, mund tĂ« ekzekutoni skriptin lokalisht dhe pastaj thjesht ta dĂ«rgoni pĂ«r trajnim nĂ« klasterin Azure ML me disa klikime tĂ« thjeshta. E lehtĂ«, apo jo?
Dhe ju merrni këto përfitime nga përdorimi i Azure ML:
- Mund të punoni shumicën e kohës lokal në makinën tuaj në një IDE të rehatshme, dhe të përdorni GPU vetëm për trajnimin e modelit. Gjithashtu, rezervuari i burimeve të trajnimit mund të përshtatet automatikisht me ngarkesën e nevojshme, dhe duke vendosur numrin minimal të nyjeve në 0, do të jeni në gjendje të aktivizoni automatikisht një makinë virtuale "në kërkesë" kur ka detyra trajnimi.
- Ju mund tĂ« tĂ« ruani tĂ« gjitha rezultatet e trajnimit nĂ« njĂ« vend, pĂ«rfshirĂ« metrikat e arritura dhe modelet e gjeneruara â nuk ka nevojĂ« tĂ« krijoni njĂ« sistem ose rend pĂ«r ruajtjen e tĂ« gjithĂ« rezultateve.
- Dhe kĂ«shtu pĂ«r njĂ« projekt mund tĂ« punojnĂ« disa njerĂ«z â ata mund tĂ« pĂ«rdorin tĂ« njĂ«jtin klaster kompjuterik, tĂ« gjitha eksperimet do tĂ« renditen gjithashtu, dhe ata mund tĂ« shohin rezultatet e eksperimenteve tĂ« njĂ«ri-tjetrit. NjĂ« nga skenarĂ«t e tillĂ« Ă«shtĂ« pĂ«rdorimi i Azure ML nĂ« mĂ«simin e Deep Learning, kur nĂ« vend qĂ« t'i jepni çdo student njĂ« makinĂ« virtuale me GPU, mund tĂ« krijoni njĂ« klaster tĂ« vetĂ«m qĂ« do tĂ« pĂ«rdoret nga tĂ« gjithĂ« qendralisht. PĂ«r mĂ« tepĂ«r, njĂ« tabelĂ« e pĂ«rbashkĂ«t rezultatesh me saktĂ«sinĂ« e modelit mund tĂ« shĂ«rbejĂ« si njĂ« element tĂ«rheqĂ«s konkurrues.
- Me ndihmĂ«n e Azure ML, mund tĂ« kryeni lehtĂ«sisht seria eksperimentesh, pĂ«r shembull, pĂ«r optimizimin e hiperparametrave â kĂ«tĂ« mund ta bĂ«ni me disa rreshta kodi, nuk ka nevojĂ« tĂ« kryeni seria eksperimentesh manualisht.
Shpresoj se ju kam bindur të provoni Azure ML! Ja se si mund të filloni:
- Sigurohuni që keni instaluar , si dhe zgjatjet dhe
- Klononi depot â ajo pĂ«rmban disa kode demonstruese pĂ«r trajnimin e modelit tĂ« njohjes sĂ« shkrimit tĂ« dorĂ«s nĂ« datasetin MNIST.
- Hapni depozitën e klonuar në Visual Studio Code.
- Lexoni më shumë!
Azure ML Workspace dhe Azure ML Portal
Azure ML Ă«shtĂ« organizuar rreth konceptit tĂ« hapĂ«sirĂ«s sĂ« punĂ«s â Workspace. NĂ« hapĂ«sirĂ«n e punĂ«s mund tĂ« ruhen tĂ« dhĂ«na, dĂ«rgohen eksperimente pĂ«r trajnim, ndĂ«rsa aty ruhen rezultatet e trajnimit â metrikat dhe modelet e marra. Mund tĂ« shihni se çfarĂ« ndodhet brenda hapĂ«sirĂ«s sĂ« punĂ«s pĂ«rmes â dhe nga aty mund tĂ« bĂ«ni shumĂ« operacione, duke filluar nga ngarkimi i tĂ« dhĂ«nave e deri te monitorimi i eksperimenteve dhe vendosja e modeleve.
Krijoni një hapësirë pune përmes ndërfaqes në (shiko. ), ose duke përdorur komandën e linjës Azure CLI ():
az extension add -n azure-cli-ml
az group create -n myazml -l northeurope
az ml workspace create -w myworkspace -g myazmlMe hapĂ«sirĂ«n e punĂ«s lidhen gjithashtu disa burime pĂ«rpunuese (Kalkulimi). Pas krijimit tĂ« njĂ« skenari pĂ«r trajnimin e modelit, mund tĂ« dĂ«rgoni eksperimentin pĂ«r ekzekutim nĂ« hapĂ«sirĂ«n e punĂ«s dhe tĂ« specifikoni targetin pĂ«rpunues â duke e paketuar skenarin, duke e operuar nĂ« ambientin pĂ«rpunues tĂ« duhur, dhe pastaj tĂ« gjitha rezultatet e eksperimenteve do tĂ« ruhen nĂ« hapĂ«sirĂ«n e punĂ«s pĂ«r analizĂ« dhe pĂ«rdorim tĂ« mĂ«tejshĂ«m.
Scripti edukativ për MNIST
Le të shqyrtojmë detyrën klasike duke përdorur setin e të dhënave MNIST. Në të njëjtën mënyrë, më vonë do të jeni në gjendje të ekzekutoni çdo script tuajin edukativ.
NĂ« depozitat tona ka njĂ« script train_local.py, i cili trajnon njĂ« model tĂ« thjeshtĂ« regresioni linear duke pĂ«rdorur bibliotekĂ«n SkLearn. Sigurisht, e kuptoj qĂ« kjo nuk Ă«shtĂ« mĂ«nyra mĂ« e mirĂ« pĂ«r tĂ« zgjidhur problemin â e pĂ«rdorim si shembull, si mĂ«nyrĂ« mĂ« tĂ« thjeshtĂ«.
Scripti së pari shkarkon të dhënat MNIST nga OpenML dhe pastaj përdor klasën LogisticRegression për të trajnuar modelin, dhe pastaj printon saktësinë e fituar:
mnist = fetch_openml('mnist_784')
mnist['target'] = np.array([int(x) për x në 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('Saktësia e përgjithshme:', acc)Mund ta ekzekutoni scriptin në kompjuterin tuaj dhe për disa sekonda do të merrni rezultatin.
Ekuptojmë scriptin në Azure ML
Nëse ne do të ekzekutonim scriptin për trajnim përmes Azure ML, do të kishim dy përfitime kryesore:
- Nisni trajnimin në një burim llogaritës të rastësishëm, i cili zakonisht është më i fuqishëm se kompjuteri lokal. Në këtë rast, Azure ML do të kujdeset për paketimin e skenarit tonë me të gjitha skedarët nga direktoria aktuale në një kontejner docker, të vendosë varësitë e nevojshme dhe ta dërgojë për ekzekutim.
- Regjistrimi i rezultateve në një regjistër të vetëm brenda hapësirës së punës Azure ML. Për të shfrytëzuar këtë mundësi, ne duhet të shtojmë disa rreshta kodi në skenarin tonë për të regjistruar saktësinë përfundimtare:
from azureml.core.run import Run
...
try:
run = Run.get_submitted_run()
run.log('accuracy', acc)
except:
passVersioni përkatës i skenarit quhet train_universal.py (është pak më e ndërlikuar se sa është shkruar më sipër, por jo shumë). Ky skenar mund të ekzekutohet si në lokal, ashtu edhe në një burim llogaritës të largët.
Për ta nisur atë në Azure ML nga VS Code, duhet të bëni si më poshtë:
Sigurohuni që Shtesa Azure të jetë e lidhur me abonimin tuaj. Zgjidhni ikonën Azure në menunë e majtë. Nëse nuk jeni të lidhur, në qoshen e poshtme të djathtën do të shfaqet një njoftim (), me të cilin mund të hyni përmes shfletuesit. Mund të klikoni gjithashtu Ctrl-Shift-P për të thirrur komandën e linjës së komandës në VS Code dhe të shkruani Azure Sign In.
Pas kësaj, në seksionin Azure (ikona në anën e majtë), gjeni seksionin MACHINE LEARNING:

Këtu duhet të shihni grupe të ndryshme objektesh brenda hapësirës së punës: burime përpunuese, eksperimente etj.
- Shkoni te lista e skedarëve, klikoni me të djathtën mbi skriptin
train_universal.pydhe zgjidhni Azure ML: Ekzekuto si eksperiment në Azure.

- Pas kësaj do të ndiqni një seri dialogësh në fushën e komandës së VS Code: konfirmoni abonimin dhe hapësirën e punës në Azure ML, si dhe zgjidhni Krijo eksperiment të ri:



Zgjidhni krijimin e një burimi të ri përpunues Krijo Burim të Ri:
- Kalkulimi përcakton burimin përpunues në të cilin do të ndodhë trajnimi. Ju mund të zgjidhni kompjuterin lokal ose një klaster cloud AmlCompute. Unë rekomandoj të krijoni një klaster të shkallëzueshëm makinash
STANDARD_DS3_v2, me numrin minimal të makinave 0 (dhe maksimal mund të jetë 1 ose më shumë, në varësi të apetitet tuaj). Kjo mund të bëhet përmes ndërfaqes së VS Code, ose paraprakisht përmes .

- Kalkulimi përcakton burimin përpunues në të cilin do të ndodhë trajnimi. Ju mund të zgjidhni kompjuterin lokal ose një klaster cloud AmlCompute. Unë rekomandoj të krijoni një klaster të shkallëzueshëm makinash
MĂ« pas Ă«shtĂ« e nevojshme tĂ« zgjidhet konfigurimi Konfigurimi i Burimeve tĂ« PĂ«rpunimit, e cila pĂ«rcakton parametrat e konteinerit tĂ« krijuar pĂ«r trajnim, nĂ« veçanti, tĂ« gjitha bibliotekat e nevojshme. NĂ« rastin tonĂ«, pĂ«r arsye se pĂ«rdorim Scikit Learn, zgjidhim SkLearn, dhe pastaj thjesht konfirmoni listĂ«n e propozuar tĂ« bibliotekave duke shtypur Enter. NĂ«se po pĂ«rdorni ndonjĂ« bibliotekĂ« shtesĂ« â ato duhet tĂ« tregohen kĂ«tu.


Pas kĂ«saj, do tĂ« hapet njĂ« dritare me njĂ« skedar JSON, qĂ« pĂ«rshkruan eksperimentin. Aty mund tĂ« korigjoni disa parametra â pĂ«r shembull, emrin e eksperimentit. Pas kĂ«saj, klikoni nĂ« lidhjen DĂ«rgo Eksperimentin nĂ« brendĂ«si tĂ« kĂ«tij skedari:

- Pas dërgimit të suksesshëm të eksperimentit përmes VS Code, në të djathtë në zonën e njoftimeve do të shihni një lidhje për , ku do të mund të ndjekni statusin dhe rezultatet e eksperimenteve.

Në të ardhmen, gjithmonë do të mund ta gjeni atë në seksionin Eksperimentet , ose në seksionin Azure Machine Learning në listën e eksperimenteve:

- NĂ«se pas kĂ«saj bĂ«tĂ« ndonjĂ« korrigjim nĂ« kod, ose ndryshuat parametrat â rilansimi i eksperimentit do tĂ« jetĂ« shumĂ« mĂ« i shpejtĂ« dhe mĂ« i lehtĂ«. Duke klikuar me tĂ« djathtĂ«n mbi skedarin, do tĂ« shihni njĂ« opsion tĂ« ri nĂ« menu PĂ«rsĂ«ritni ekzekutimin e fundit â thjesht zgjidhni atĂ«, dhe eksperimenti do tĂ« nisĂ« menjĂ«herĂ«:

Rezultatet e metrikave nga të gjitha ekzekutimet do t'i gjeni gjithmonë në Azure ML Portal, nuk ka nevojë t'i shkruani ato.
Tani e dini se ekzekutimi i eksperimentëve me Azure ML është i thjeshtë dhe i përshtatshëm, dhe për më tepër, ju ofron disa përfitime të këndshme.
Por mund të keni vërejtur edhe disavantazhe. Për shembull, për të ekzekutuar skriptin ishte e nevojshme një kohë shumë më e gjatë. Sigurisht, paketimi i skriptit në një kontejner dhe shpërndarja e tij në server kërkon kohë. Nëse klasteri është reduktuar në madhësinë 0 nodesh, do të kërkohet më shumë kohë për të nisur makinën virtuale, dhe e gjithë kjo është shumë evidente kur eksperimentojmë me detyra të thjeshta si MNIST, të cilat zgjidhen brenda disa sekondave. Megjithatë, në jetën reale, kur trajnimet zgjasin disa orë, ditë ose madje javë, ky kohë shtesë bëhet indiferente, sidomos përballë performancës së lartë që mund të ofrojë një klaster kompjuterik.
ĂfarĂ« ndodh mĂ« tej?
Shpresoj se pas leximit të këtij artikulli, do të jeni në gjendje ta përdorni Azure ML në punën tuaj për të ekzekutuar skripta, menaxhuar burimet llogaritëse dhe ruajtur rezultatet në mënyrë të centralizuar. Megjithatë, Azure ML mund t'ju ofrojë edhe më shumë përfitime!
Brenda hapĂ«sirĂ«s sĂ« punĂ«s, mund tĂ« ruani tĂ« dhĂ«na, duke krijuar kĂ«shtu njĂ« arkiv tĂ« centralizuar pĂ«r tĂ« gjitha detyrat tuaja, tĂ« cilin Ă«shtĂ« e lehtĂ« ta aksesoni. PĂ«r mĂ« tepĂ«r, mund tĂ« ekzekutoni eksperimentet jo nga Visual Studio Code, por duke pĂ«rdorur API-nĂ« â kjo mund tĂ« jetĂ« veçanĂ«risht e dobishme nĂ«se keni nevojĂ« pĂ«r optimizimin e hiperparametrave dhe duhet tĂ« ekzekutoni njĂ« skript shumĂ« herĂ« me parametra tĂ« ndryshĂ«m. MĂ« shumĂ« se kaq, Azure ML pĂ«rmban teknologjinĂ« e veçantĂ« , e cila lejon njĂ« kĂ«rkim mĂ« tĂ« sofistikuar dhe optimizim tĂ« hiperparametrave. Rreth kĂ«tyre mundĂ«sive, do tĂ« flas nĂ« shĂ«nimin tim tĂ« ardhshĂ«m.
Burime të dobishme
Për një studim më të detajuar të Azure ML, mund t'ju nevojiten këto kurse në Microsoft Learn:
Burimi: habr.com



