Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

UnĂ« njoh shumĂ« shkencĂ«tarĂ« tĂ« tĂ« dhĂ«nave—dhe ndoshta jam vetĂ« njĂ« prej tyre—qĂ« punojnĂ« nĂ« makina tĂ« pajisura me GPU, lokale ose virtuale, tĂ« hostuara nĂ« cloud, duke pĂ«rdorur Jupyter Notebook ose ndonjĂ« mjedis zhvillimi Python. GjatĂ« dy viteve tĂ« mia si zhvillues ekspert i IA/ML, bĂ«ra pikĂ«risht kĂ«tĂ«, duke pĂ«rgatitur tĂ« dhĂ«na nĂ« njĂ« server ose stacion pune tĂ« rregullt dhe duke drejtuar trajnime nĂ« njĂ« makinĂ« virtuale tĂ« pajisur me GPU nĂ« Azure.

Sigurisht, tĂ« gjithĂ« kemi dĂ«gjuar pĂ«r MĂ«simi i MakinĂ«s Azure — njĂ« platformĂ« e dedikuar cloud pĂ«r tĂ« mĂ«suarit automatik. MegjithatĂ«, pas njĂ« vĂ«shtrimi tĂ« parĂ« nĂ« artikuj hyrĂ«s, duket se Azure ML do tĂ« krijojĂ« mĂ« shumĂ« probleme sesa zgjidh. PĂ«r shembull, nĂ« shembullin e trajnimit tĂ« lartpĂ«rmendur, trajnimi Azure ML niset nga njĂ« Jupyter Notebook, por vetĂ« skripti i trajnimit krijohet dhe modifikohet si skedar teksti nĂ« njĂ«rĂ«n nga qelizat - pa pĂ«rfitimin e plotĂ«simit automatik, theksimit tĂ« sintaksĂ«s ose avantazheve tĂ« tjera tĂ« njĂ« mjedisi normal zhvillimi. PĂ«r kĂ«tĂ« arsye, ne nuk e pĂ«rdorĂ«m seriozisht Azure ML nĂ« punĂ«n tonĂ« pĂ«r njĂ« kohĂ« tĂ« gjatĂ«.

Megjithatë, kohët e fundit zbulova një mënyrë për të filluar përdorimin e Azure ML në mënyrë efektive në punën time! Të interesuar të mësosh më shumë?

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

Sekreti kryesor është ky Zgjerimi i Kodit Visual Studio për Azure MLJu lejon të zhvilloni skripte trajnimi direkt në VS Code, duke përfituar plotësisht nga mjedisi. Madje mund ta ekzekutoni skriptin lokalisht dhe pastaj thjesht ta dërgoni atë në një klaster Azure ML për trajnim vetëm me disa klikime. I përshtatshëm, apo jo?

Në të njëjtën kohë, ju përfitoni përfitimet e mëposhtme nga përdorimi i Azure ML:

  • Mund tĂ« punoni shumicĂ«n e kohĂ«s lokalisht nĂ« makinĂ«n tuaj nĂ« njĂ« IDE tĂ« pĂ«rshtatshme, dhe pĂ«rdor GPU-nĂ« vetĂ«m pĂ«r trajnimin e modelitGrupi i burimeve tĂ« trajnimit mund tĂ« pĂ«rshtatet automatikisht me ngarkesĂ«n e kĂ«rkuar tĂ« punĂ«s dhe, duke vendosur numrin minimal tĂ« nyjeve nĂ« 0, mund ta nisni automatikisht makinĂ«n virtuale "sipas kĂ«rkesĂ«s" kur detyrat e trajnimit janĂ« tĂ« disponueshme.
  • Ju mund tĂ« ruajini tĂ« gjitha rezultatet e tĂ« nxĂ«nit nĂ« njĂ« vend, duke pĂ«rfshirĂ« metrikat e arritura dhe modelet qĂ« rezultojnĂ« - nuk ka nevojĂ« tĂ« hartohet ndonjĂ« sistem ose urdhĂ«r pĂ«r ruajtjen e tĂ« gjitha rezultateve.
  • NĂ« kĂ«tĂ« rast, disa njerĂ«z mund tĂ« punojnĂ« nĂ« njĂ« projekt — ata mund tĂ« pĂ«rdorin tĂ« njĂ«jtin grumbull kompjuterik, tĂ« gjitha eksperimentet do tĂ« vendosen nĂ« radhĂ« dhe gjithashtu mund tĂ« shohin rezultatet e eksperimenteve tĂ« njĂ«ri-tjetrit. NjĂ« skenar i tillĂ« Ă«shtĂ« PĂ«rdorimi i Azure ML nĂ« MĂ«simdhĂ«nien e ThellĂ« tĂ« tĂ« MĂ«suaritNĂ« vend qĂ« t’i jepni secilit student njĂ« makinĂ« virtuale me njĂ« GPU, mund tĂ« krijoni njĂ« klaster tĂ« vetĂ«m qĂ« tĂ« gjithĂ« mund ta pĂ«rdorin nĂ« mĂ«nyrĂ« qendrore. PĂ«r mĂ« tepĂ«r, njĂ« tabelĂ« rezultatesh e pĂ«rbashkĂ«t me saktĂ«si modeli mund tĂ« shĂ«rbejĂ« si njĂ« element i mirĂ« konkurrues.
  • Me Azure ML, mund tĂ« kryeni lehtĂ«sisht njĂ« sĂ«rĂ« eksperimentesh, si p.sh. optimizimi i hiperparametrave - Kjo mund tĂ« bĂ«het me disa rreshta kodi, nuk ka nevojĂ« tĂ« kryhen njĂ« sĂ«rĂ« eksperimentesh manualisht.

Shpresoj se ju kam bindur të provoni Azure ML! Ja se si të filloni:

Hapësira e Punës Azure ML dhe Portal Azure ML

Azure ML Ă«shtĂ« e organizuar rreth konceptit zonĂ« pune — HapĂ«sira e punĂ«s. HapĂ«sira e punĂ«s mund tĂ« ruajĂ« tĂ« dhĂ«na, eksperimentet pĂ«r trajnim i dĂ«rgohen asaj dhe rezultatet e trajnimit - metrikat dhe modelet qĂ« rezultojnĂ« - ruhen gjithashtu atje. Mund tĂ« shikoni se çfarĂ« ka brenda hapĂ«sirĂ«s sĂ« punĂ«s duke pĂ«rdorur Portali Azure ML — dhe prej andej mund tĂ« kryeni njĂ« sĂ«rĂ« operacionesh, nga ngarkimi i tĂ« dhĂ«nave deri te monitorimi i eksperimenteve dhe vendosja e modeleve.

Ju mund tĂ« krijoni njĂ« hapĂ«sirĂ« ​​pune pĂ«rmes ndĂ«rfaqes nĂ« internet. Portali Azure (Cm. udhĂ«zime hap pas hapi), ose duke pĂ«rdorur rreshtin e komandĂ«s Azure CLI (udhĂ«zime):

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

Ka edhe disa qĂ« lidhen me fushĂ«n e punĂ«s burimet kompjuterike (bĂ«j llogaritjePasi tĂ« keni krijuar njĂ« skript pĂ«r tĂ« trajnuar modelin, mundeni dĂ«rgo njĂ« eksperiment pĂ«r ekzekutim nĂ« zonĂ«n e punĂ«s dhe specifikoni llogarit objektivin — skripti do tĂ« paketohet, do tĂ« lançohet nĂ« mjedisin e kĂ«rkuar informatik dhe mĂ« pas tĂ« gjitha rezultatet e eksperimentit do tĂ« ruhen nĂ« hapĂ«sirĂ«n e punĂ«s pĂ«r analiza dhe pĂ«rdorim tĂ« mĂ«tejshĂ«m.

Skript trajnimi për MNIST

Le të shqyrtojmë një problem klasik njohje e shifrave të shkruara me dorë duke përdorur të dhënat MNIST. Ju mund të ekzekutoni cilindo nga skriptet tuaja të trajnimit në të njëjtën mënyrë.

Ekziston një skript në depon tonë 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 - po e përdorim si shembull sepse është më e thjeshta.

Skripti së pari shkarkon të dhënat MNIST nga OpenML dhe më pas përdor klasën LogisticRegression për të trajnuar modelin, dhe pastaj printon saktësinë që rezulton:

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)

Mund ta ekzekutoni skriptin në kompjuterin tuaj dhe të merrni rezultatin brenda disa sekondash.

Ekzekutoni skriptin në Azure ML

Nëse e ekzekutojmë skriptin e trajnimit përmes Azure ML, do të kemi dy përparësi kryesore:

  • Nisni trajnimin nĂ« njĂ« burim arbitrar informatik, i cili zakonisht Ă«shtĂ« mĂ« i fuqishĂ«m se njĂ« kompjuter lokal. Azure ML do ta paketojĂ« automatikisht skriptin tonĂ« me tĂ« gjithĂ« skedarĂ«t nga drejtoria aktuale nĂ« njĂ« enĂ« Docker, do tĂ« instalojĂ« varĂ«sitĂ« e kĂ«rkuara dhe do ta dĂ«rgojĂ« atĂ« pĂ«r ekzekutim.
  • Shkrimi i rezultateve nĂ« njĂ« regjistĂ«r tĂ« unifikuar brenda hapĂ«sirĂ«s sĂ« punĂ«s Azure ML. PĂ«r tĂ« pĂ«rfituar nga kjo veçori, duhet tĂ« shtojmĂ« disa rreshta kodi nĂ« skriptin tonĂ« pĂ«r tĂ« regjistruar saktĂ«sinĂ« qĂ« rezulton:

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

Versioni pĂ«rkatĂ«s i skriptit quhet train_universal.py (ËshtĂ« pak mĂ« i sofistikuar nga sa pĂ«rshkruhet mĂ« sipĂ«r, por jo shumĂ«.) Ky skript mund tĂ« ekzekutohet si nĂ« nivel lokal ashtu edhe nĂ« njĂ« burim kompjuterik nĂ« distancĂ«.

Për ta ekzekutuar atë në Azure ML nga VS Code, duhet të bëni sa vijon:

  1. Sigurohuni që Shtesa Azure është e lidhur me abonimin tuaj. Zgjidhni ikonën Azure në menynë e majtë. Nëse nuk jeni të lidhur, një njoftim do të shfaqet në këndin e poshtëm të djathtë (si kjo), duke klikuar mbi të cilin mund të identifikoheni përmes shfletuesit. Gjithashtu mund të klikoni Ctrl-Shift-P për të hapur rreshtin e komandës VS Code dhe shkruani Hyrja në Azure.

  2. Pas kësaj, në seksionin Azure (ikona në të majtë), gjeni seksionin MARSIMI I MAKINS:

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning
Këtu duhet të shihni grupe të ndryshme objektesh brenda hapësirës së punës: burime llogaritëse, eksperimente, etj.

  1. Shko te lista e skedarëve, kliko me të djathtën mbi skriptin train_universal.py dhe zgjidhni Azure ML: Ekzekutojeni si eksperiment në Azure.

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

  1. Kjo më pas do t'ju shfaqë një seri dialogësh në zonën e komandës së VS Code: konfirmoni abonimin Azure ML dhe hapësirën e punës që po përdorni dhe zgjidhni Krijo një eksperiment të ri:

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning
Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning
Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

  1. Zgjidhni për të krijuar një burim të ri kompjuterik Krijo një llogari të re:

    • bĂ«j llogaritje PĂ«rcakton burimin kompjuterik mbi tĂ« cilin do tĂ« zhvillohet trajnimi. Mund tĂ« zgjidhni njĂ« kompjuter lokal ose njĂ« klaster tĂ« reve AmlCompute. UnĂ« rekomandoj krijimin e njĂ« klasteri tĂ« shkallĂ«zueshĂ«m makinash. STANDARD_DS3_v2, me njĂ« numĂ«r minimal makinash prej 0 (dhe maksimumi mund tĂ« jetĂ« 1 ose mĂ« shumĂ«, varĂ«sisht nga oreksi juaj). Kjo mund tĂ« bĂ«het pĂ«rmes ndĂ«rfaqes VS Code, ose paraprakisht pĂ«rmes Portal ML.

    Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

  2. Tjetra ju duhet të zgjidhni konfigurimin Konfigurimi i Llogaritjes, i cili përcakton parametrat e kontejnerit të krijuar për trajnim, në veçanti, të gjitha libraritë e nevojshme. Në rastin tonë, meqenëse po përdorim Scikit Learn, ne zgjedhim SkLearn, dhe pastaj thjesht konfirmoni listën e sugjeruar të bibliotekave duke shtypur Enter. Nëse përdorni ndonjë bibliotekë shtesë, duhet t'i specifikoni ato këtu.

    Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning
    Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

  3. Do të hapet një dritare me një skedar JSON që përshkruan eksperimentin. Mund të modifikoni disa parametra këtu, siç është emri i eksperimentit. Pas kësaj, klikoni lidhjen Dorëzo eksperimentin direkt brenda këtij skedari:

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

  1. Pasi ta keni dorëzuar me sukses eksperimentin tuaj përmes VS Code, do të shihni një lidhje për te Portal Azure ML, ku mund të gjurmoni statusin dhe rezultatet e eksperimentit.

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning
Gjithmonë mund ta gjeni në seksion më vonë. eksperimentet Portal Azure ML, ose në seksionin Mësimi i Makinës Azure në listën e eksperimenteve:

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning

  1. NĂ«se keni bĂ«rĂ« ndonjĂ« ndryshim nĂ« kod ose keni ndryshuar ndonjĂ« parametĂ«r qĂ« atĂ«herĂ«, riekzekutimi i eksperimentit do tĂ« jetĂ« shumĂ« mĂ« i shpejtĂ« dhe mĂ« i lehtĂ«. Klikimi me tĂ« djathtĂ«n mbi skedar do tĂ« zbulojĂ« njĂ« artikull tĂ« ri nĂ« menu. PĂ«rsĂ«rite vrapimin e fundit — thjesht zgjidhe atĂ« dhe eksperimenti do tĂ« nisĂ« menjĂ«herĂ«:

Si të kapërceni frikën dhe të filloni të përdorni Azure Machine Learning
Gjithmonë mund të gjesh rezultate të metrikave nga të gjitha ekzekutimet në Portalin Azure ML; nuk ka nevojë t'i regjistrosh ato.

Tani e dini që kryerja e eksperimenteve me Azure ML është e thjeshtë dhe pa probleme, dhe përfitoni një sërë përfitimesh të mira.

Por mund të keni vënë re disa anë negative. Për shembull, ekzekutimi i skriptit zgjati shumë më tepër. Sigurisht, paketimi i skriptit në një kontejner dhe vendosja e tij në server kërkon kohë. Nëse klasteri do të zvogëlohej në 0 nyje, do të duhej edhe më shumë kohë për të nisur makinën virtuale. Kjo është veçanërisht e dukshme kur eksperimentojmë me probleme të thjeshta si MNIST, të cilat zgjasin disa sekonda për t'u zgjidhur. Megjithatë, në jetën reale, kur trajnimi zgjat orë, ose edhe ditë ose javë, kjo kohë shtesë bëhet e parëndësishme, veçanërisht krahasuar me performancën dukshëm më të lartë që mund të ofrojë një klaster kompjuterik.

Çka mĂ« tej?

Shpresoj që pasi ta lexoni këtë artikull, do të jeni në gjendje dhe do ta përdorni Azure ML në rrjedhën tuaj të punës për të ekzekutuar skripte, për të menaxhuar burimet kompjuterike dhe për të centralizuar rezultatet. Megjithatë, Azure ML mund t'ju ofrojë edhe më shumë përfitime!

Ju mund të ruani të dhëna brenda hapësirës suaj të punës, duke krijuar një depo të centralizuar dhe lehtësisht të arritshme për të gjitha detyrat tuaja. Gjithashtu mund të kryeni eksperimente duke përdorur API-n në vend të Kodit Visual Studio - kjo mund të jetë veçanërisht e dobishme nëse duhet të kryeni optimizimin e hiperparametrave dhe të ekzekutoni një skript disa herë me parametra të ndryshëm. Për më tepër, Azure ML ka teknologji të integruar për këtë. hiper drive, e cila lejon kërkim dhe optimizim më të sofistikuar të hiperparametrave. Do t'i diskutoj këto aftësi në postimin tim të ardhshëm.

Burime të dobishme

Për një kuptim më të thellë të Azure ML, mund t'ju duken të dobishme kurset e mëposhtme të Microsoft Learn:

Burimi: www.habr.com

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster