Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

Aku ngerti akeh Ilmuwan Data - lan mbok menawa aku salah siji saka wong-wong mau - sing bisa ing mesin GPU, lokal utawa virtual, dumunung ing méga, liwat Jupyter Notebook utawa liwat sawetara jenis lingkungan pangembangan Python. Makarya kanggo 2 taun minangka pangembang pakar ing AI / ML, Aku persis iki, nalika nyiapake data ing server biasa utawa workstation, lan mlaku latihan ing mesin virtual karo GPU ing Azure.

Mesthi, kita kabeh wis krungu Sinau Mesin Azure - platform maya khusus kanggo machine learning. Nanging, sawise dipikir pisanan ing artikel pambuka, misale jek sing Azure ML bakal nggawe liyane masalah kanggo sampeyan saka iku bakal ngatasi. Contone, ing conto latihan kasebut ing ndhuwur, latihan ing Azure ML diluncurake saka Jupyter Notebook, dene skrip latihan dhewe diusulake kanggo digawe lan diowahi minangka file teks ing salah sawijining sel - tanpa nggunakake autocompletion, nyorot sintaks lan liya-liyane. keuntungan saka lingkungan pembangunan normal. Amarga iki, kita ora nggunakake Azure ML kanthi serius ing karya kita nganti suwe.

Nanging, aku bubar nemokake cara kanggo miwiti nggunakake Azure ML kanthi efektif ing karyaku! Kasengsem ing rincian?

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

Rahasia utama yaiku Ekstensi Visual Studio Code kanggo Azure ML. Iku ngijini sampeyan kanggo berkembang script latihan langsung ing VS Code, njupuk kauntungan lengkap saka lingkungan - lan sampeyan bisa malah mbukak script lokal, lan banjur mung ngirim Sepur ing kluster Azure ML karo sawetara klik. Trep, ta?

Kanthi nindakake iki, sampeyan entuk keuntungan ing ngisor iki saka nggunakake Azure ML:

  • Sampeyan bisa paling wektu lokal ing mesin ing IDE trep, lan nggunakake GPU mung kanggo latihan model. Ing wektu sing padha, blumbang sumber latihan bisa kanthi otomatis nyetel beban sing dibutuhake, lan kanthi nyetel jumlah minimal simpul dadi 0, sampeyan bisa kanthi otomatis miwiti mesin virtual "ing dikarepake" yen ana tugas latihan.
  • sampeyan bisa nyimpen kabeh asil sinau ing sak panggonan, kalebu metrik sing diraih lan model sing diasilake - ora perlu nggawe sawetara sistem utawa pesenan kanggo nyimpen kabeh asil.
  • mangkono Sawetara wong bisa nggarap siji proyek - padha bisa nggunakake kluster komputasi padha, kabeh nyobi bakal antri, lan padha uga bisa ndeleng asil saka nyobi saben liyane. Salah sijine skenario kasebut yaiku nggunakake Azure ML ing piwulang Deep Learning, ngendi tinimbang menehi saben mahasiswa mesin virtual karo GPU, sampeyan bisa nggawe siji kluster sing bakal digunakake ing tengah dening everyone. Kajaba iku, tabel asil umum kanthi akurasi model bisa dadi unsur kompetitif sing apik.
  • Nggunakake Azure ML, sampeyan bisa kanthi gampang mbukak seri saka nyobi, f.eks. optimasi hyperparameter - iki bisa ditindakake kanthi sawetara baris kode, ora perlu nindakake seri eksperimen kanthi manual.

Mugi aku wis nggawe percoyo sampeyan menehi Azure ML cobi! Mangkene carane miwiti:

Azure ML Workspace lan Azure ML Portal

Azure ML diatur babagan konsep kasebut area kerja - Ruang kerja. Data bisa disimpen ing ruang kerja, eksperimen kanggo latihan bisa dikirim, lan asil latihan - metrik lan model sing diasilake - uga disimpen ing kana. Sampeyan bisa ndeleng apa sing ana ing ruang kerja nggunakake Azure ML portal - lan saka ing kono sampeyan bisa nindakake akeh operasi, saka loading data kanggo ngawasi eksperimen lan deploying model.

Sampeyan bisa nggawe ruang kerja liwat antarmuka web Portal Azure (ndeleng instruksi langkah dening langkah), utawa nggunakake baris perintah Azure CLI (instruksi):

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

Ana uga sawetara sing digandhengake karo ruang kerja sumber daya komputasi (Ngitung). Sawise sampeyan wis nggawe script kanggo olahraga model, sampeyan bisa ngirim eksperimen kanggo eksekusi menyang wilayah kerja, lan nemtokake ngitung target - ing kasus iki, skrip bakal dikemas, diluncurake ing lingkungan komputasi sing dikarepake, banjur kabeh asil eksperimen bakal disimpen ing ruang kerja kanggo analisis lan panggunaan luwih lanjut.

Skrip latihan kanggo MNIST

Ayo nimbang masalah klasik pangenalan digit tulisan tangan nggunakake dataset MNIST. Kajaba iku, ing mangsa ngarep sampeyan bakal bisa nglakokake skrip latihan sampeyan.

Ana skrip ing repositori kita train_local.py, sing nglatih model regresi linear sing paling gampang nggunakake perpustakaan SkLearn. Mesthi, aku ngerti yen iki dudu cara sing paling apik kanggo ngatasi masalah kasebut - kita nggunakake minangka conto, minangka sing paling gampang.

Skrip pisanan ngundhuh data MNIST saka OpenML banjur nggunakake kelas LogisticRegression kanggo nglatih model, banjur nyithak akurasi asil:

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)

Sampeyan bisa mbukak skrip ing komputer lan ing sawetara detik sampeyan bakal entuk asil.

Mlaku skrip ing Azure ML

Yen kita mbukak script latihan liwat Azure ML, kita bakal duwe loro kaluwihan utama:

  • Mlaku latihan ing sumber daya komputasi sembarang, kang biasane luwih produktif saka komputer lokal. Ing kasus iki, Azure ML dhewe bakal ngurus skrip kita karo kabeh file saka direktori saiki menyang wadhah docker, nginstal dependensi sing dibutuhake, lan dikirim kanggo eksekusi.
  • Tulis asil menyang registri siji ing ruang kerja Azure ML. Kanggo njupuk kauntungan saka fitur iki, kita kudu nambah sawetara baris kode kanggo script kita kanggo ngrekam presisi asil:

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

Versi skrip sing cocog diarani train_universal.py (iku dirancang sethitik liyane cunningly saka diterangake ing ndhuwur, nanging ora akeh). Skrip iki bisa ditindakake sacara lokal lan ing sumber daya komputasi remot.

Kanggo mbukak ing Azure ML saka VS Code, sampeyan kudu nindakake ing ngisor iki:

  1. Priksa manawa Azure Extension disambungake menyang langganan sampeyan. Pilih lambang Azure saka menu kiwa. Yen sampeyan ora nyambung, kabar bakal katon ing pojok tengen ngisor (kaya iki), kanthi ngeklik sing bisa mlebu liwat browser. Sampeyan uga bisa ngeklik Ctrl-Shift-P kanggo mbukak baris printah VS Code, lan ketik Azure Mlebu.

  2. Sawisé iku, ing bagean Azure (lambang ing sisih kiwa), golek bagean PEMBELAJARAN MESIN:

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning
Ing kene sampeyan kudu ndeleng macem-macem klompok obyek ing ruang kerja: sumber daya komputasi, eksperimen, lsp.

  1. Pindhah menyang dhaptar file, klik tengen ing skrip train_universal.py banjur pilih Azure ML: Mbukak minangka eksperimen ing Azure.

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

  1. Iki bakal diterusake karo sawetara dialog ing area baris perintah VS Code: konfirmasi langganan lan ruang kerja Azure ML, banjur pilih Nggawe eksperimen anyar:

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning
Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning
Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

  1. Pilih kanggo nggawe sumber daya komputasi anyar Nggawe Komputasi Anyar:

    • Ngitung nemtokake sumber daya komputasi kang latihan bakal njupuk Panggonan. Sampeyan bisa milih komputer lokal, utawa kluster awan AmlCompute. Aku nyaranake nggawe klompok keukur mesin STANDARD_DS3_v2, karo nomer minimal mesin 0 (lan maksimum bisa 1 utawa luwih, gumantung ing napsu). Iki bisa rampung liwat antarmuka VS Code, utawa sadurunge liwat Portal ML.

    Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

  2. Sabanjure sampeyan kudu milih konfigurasi Konfigurasi Komputasi, sing nemtokake paramèter wadhah sing digawe kanggo latihan, utamane, kabeh perpustakaan sing dibutuhake. Ing kasus kita, amarga kita nggunakake Scikit Sinau, kita milih SkLearn, banjur konfirmasi dhaptar perpustakaan sing diusulake kanthi mencet Enter. Yen sampeyan nggunakake perpustakaan tambahan, kudu kasebut ing kene.

    Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning
    Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

  3. Sawise iki, jendhela bakal mbukak kanthi file JSON sing nggambarake eksperimen kasebut. Sampeyan bisa mbenerake sawetara paramèter, contone, jeneng eksperimen. Sawise iku klik ing link Kirim Eksperimen nang file iki:

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

  1. Sawise kasil ngirim eksperimen liwat Kode VS, ing area kabar ing sisih tengen sampeyan bakal weruh link menyang Portal ML Azure, ing ngendi sampeyan bisa nglacak status lan asil eksperimen.

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning
Sabanjure, sampeyan bisa tansah nemokake ing bagean Eksperimen Portal ML Azure, utawa ing bagean Sinau Mesin Azure ing dhaptar eksperimen:

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning

  1. Yen sampeyan banjur nggawe sawetara koreksi kanggo kode utawa ngganti paramèter, mbukak maneh eksperimen bakal luwih cepet lan luwih gampang. Kanthi ngeklik tengen file, sampeyan bakal weruh item menu anyar Baleni mlayu pungkasan - cukup pilih lan eksperimen bakal langsung diluncurake:

Cara ngatasi rasa wedi lan miwiti nggunakake Azure Machine Learning
Sampeyan bisa tansah nemokake asil metrik saka kabeh mlaku ing Azure ML Portal; ora perlu kanggo ngrekam.

Saiki sampeyan ngerti yen mbukak eksperimen nggunakake Azure ML gampang, ora krasa lara, lan entuk manfaat sing nyenengake.

Nanging sampeyan bisa uga wis ngeweruhi sawetara cacat. Contone, butuh wektu sing luwih suwe kanggo mbukak skrip. Mesthine, ngemas skrip menyang wadhah lan nyebarake menyang server butuh wektu. Yen kluster iki suda kanggo ukuran 0 kelenjar, iku bakal njupuk malah luwih wektu kanggo miwiti mesin virtual, lan kabeh iki banget ngelingke nalika kita eksprimen ing masalah prasaja kaya MNIST, kang ditanggulangi ing sawetara detik. Nanging, ing urip nyata, nalika latihan luwih sawetara jam, utawa malah dina utawa minggu, wektu tambahan iki dadi ora pati penting, utamané ing latar mburi kinerja luwih dhuwur sing kluster komputasi bisa nyedhiyani.

Apa sabanjuré?

Muga-muga sawise maca artikel iki, sampeyan bisa nggunakake Azure ML ing karya kanggo mbukak skrip, ngatur sumber daya, lan nyimpen asil ing tengah. Nanging, Azure ML bisa menehi keuntungan luwih akeh!

Sampeyan bisa nyimpen data ing ruang kerja, saéngga nggawe repositori terpusat kanggo kabeh tugas sing gampang diakses. Kajaba iku, sampeyan bisa nindakake eksperimen nggunakake API tinimbang Visual Studio Code - iki bisa migunani utamané yen sampeyan kudu nindakake optimasi hyperparameter lan kudu mbukak script kaping pirang-pirang karo paramèter beda. Kajaba iku, teknologi khusus dibangun ing Azure ML drive hiper, sing ngidini telusuran lan optimasi hiperparameter sing luwih canggih. Aku bakal ngomong babagan kemungkinan kasebut ing kirim sabanjure.

Sumber daya migunani

Kanggo mangerteni sing luwih lengkap babagan Azure ML, sampeyan bisa nemokake ing ngisor iki Microsoft Sinau kursus migunani:

Source: www.habr.com

Add a comment