Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

Mahafantatra mpahay siansa data maro aho - ary mety anisan'izy ireo aho - miasa amin'ny milina GPU, eo an-toerana na virtoaly, hita ao amin'ny rahona, na amin'ny alΓ lan'ny Jupyter Notebook na amin'ny karazana tontolo fampandrosoana Python. Niasa nandritra ny 2 taona amin'ny maha-mpamolavola AI / ML manam-pahaizana manokana aho, nanao izany tokoa aho, raha nanomana angon-drakitra amin'ny mpizara mahazatra na toeram-piasana, ary manao fiofanana amin'ny milina virtoaly misy GPU ao Azure.

Mazava ho azy fa efa nandre momba izany isika rehetra Fianarana milina azure - sehatra rahona manokana ho an'ny fianarana milina. Na izany aza, rehefa avy nijery voalohany lahatsoratra fampidirana, toa ny Azure ML dia hamorona olana bebe kokoa ho anao noho ny famahana azy. Ohatra, ao amin'ny lesona voalaza etsy ambony, ny fampiofanana momba ny Azure ML dia natomboka avy amin'ny Jupyter Notebook, raha toa kosa ny script fanofanana dia atolotra ho noforonina sy ovaina ho rakitra lahatsoratra ao amin'ny iray amin'ireo sela - raha tsy mampiasa auto-completion, syntax. fanasongadinana, ary tombontsoa hafa amin'ny tontolo fampandrosoana ara-dalΓ na. Noho izany antony izany dia efa ela no tsy nampiasa Azure ML tamin'ny asantsika.

Na izany aza, vao haingana aho no nahita fomba hanombohana mampiasa Azure ML amin'ny asako! Liana amin'ny antsipiriany?

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

Ny zava-miafina lehibe dia Visual Studio Code extension ho an'ny Azure ML. Mamela anao hamolavola script fanofanana ao amin'ny VS Code izy io, manararaotra tanteraka ny tontolo iainana - ary azonao atao mihitsy aza ny mampandeha ny script eo an-toerana ary avy eo mandefa azy fotsiny amin'ny fiofanana amin'ny cluster Azure ML miaraka amin'ny kitiho vitsivitsy. Mety, sa tsy izany?

Amin'ny fanaovana izany dia mahazo ireto tombony manaraka ireto ianao amin'ny fampiasana Azure ML:

  • Azonao atao ny miasa matetika eo an-toerana amin'ny milinanao amin'ny IDE mety, ary mampiasa GPU ho an'ny fanofanana modely ihany. Mandritra izany fotoana izany, ny dobo ny fanofanana loharanon-karena dia afaka mandeha ho azy hanitsy ny ilaina entana, ary amin'ny fametrahana ny kely indrindra isan'ny nodes ho 0, dia afaka mandeha ho azy ny virtoaly milina "amin'ny fangatahana" eo anatrehan'ny asa fanofanana.
  • ianao dia azo atao ihany tehirizo amin'ny toerana iray ny vokatry ny fianarana rehetra, ao anatin'izany ny metrika tratra sy ny maodely vokarina - tsy ilaina ny mamorona karazana rafitra na baiko hitahirizana ny vokatra rehetra.
  • Noho izany Olona maro no afaka miasa amin'ny tetikasa iray ihany - afaka mampiasa cluster computing mitovy izy ireo, milahatra ny andrana rehetra, ary afaka mahita ny vokatry ny andrana ihany koa izy ireo. Iray amin'izany ny scenario mampiasa Azure ML amin'ny fampianarana Deep Learningraha tokony hanome milina virtoaly misy GPU ny mpianatra tsirairay, dia azonao atao ny mamorona cluster iray izay hampiasain'ny rehetra afovoany. Fanampin'izany, ny tabilao ankapoben'ny valiny miaraka amin'ny fahamarinan'ny modely dia mety ho singa mifaninana tsara.
  • Miaraka amin'ny Azure ML, azonao atao mora foana ny manao andiany fanandramana, ohatra, ho an'ny fanatsarana ny hyperparameter - izany dia azo atao amin'ny andalana vitsivitsy kaody, tsy ilaina ny manao andiana andrana amin'ny tanana.

Manantena aho fa nandresy lahatra anao hanandrana Azure ML aho! Toy izao ny fomba hanombohana:

Azure ML Workspace sy Azure ML Portal

Azure ML dia nalamina manodidina ny foto-kevitra faritra miasa - toeram-piasana. Ny angona dia azo tehirizina ao amin'ny toeram-piasana, ny andrana dia alefa any amin'ny fanofanana, ny vokatra fanofanana dia voatahiry ao ihany koa - ny vokatra sy ny modely. Azonao atao ny mahita izay ao anatin'ny sehatry ny asa Azure ML vavahadin-tserasera - ary avy eo dia afaka manao asa maro ianao, manomboka amin'ny fametrahana angon-drakitra ka hatramin'ny fanaraha-maso ny andrana sy ny fametrahana modely.

Azonao atao ny mamorona toeram-piasana amin'ny alΓ lan'ny interface interface Azure Portal (Cm. torolalana tsikelikely), na mampiasa ny andalana baiko Azure CLI (toromarika):

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

Misy ihany koa mifandray amin'ny sehatry ny asa loharanon-karena informatika (Compute). Rehefa avy namorona script hanofanana ny modely ianao dia afaka mandefa andrana ho fanatanterahana mankany amin'ny toeram-piasana, ary mamaritra kajy tanjona - Amin'ity tranga ity, ny script dia hofonosina, mihazakazaka ao amin'ny tontolo informatika tiana, ary avy eo ny vokatry ny andrana rehetra dia ho voatahiry ao amin'ny toeram-piasana ho an'ny fanadihadiana sy fampiasana bebe kokoa.

Mianara script ho an'ny MNIST

Diniho ny olana mahazatra fanekena isa sora-tanana mampiasa ny angona MNIST. Toy izany koa, amin'ny ho avy, azonao atao ny mampandeha ny sora-baventy fanofananao.

Misy script ao amin'ny tahiry train_local.py, izay mampiofanay ny maodely fihemorana tsipika tsotra indrindra amin'ny fampiasana ny tranomboky SkLearn. Mazava ho azy fa azoko fa tsy ity no fomba tsara indrindra hamahana ny olana - ampiasaintsika ho ohatra, ho tsotra indrindra.

Ny script dia misintona voalohany ny angona MNIST avy amin'ny OpenML ary avy eo dia mampiasa ny kilasy LogisticRegression hampiofana ny modely, ary avy eo manonta ny marina vokatra:

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)

Azonao atao ny mihazakazaka ny script amin'ny solosainao ary mahazo ny valiny ao anatin'ny segondra vitsy.

Alefaso amin'ny Azure ML ny script

Raha mihazakazaka ny script fanofanana amin'ny alΓ lan'ny Azure ML isika dia hanana tombony lehibe roa:

  • Ny fanofanana amin'ny loharanon-kajy tsy misy dikany, izay, amin'ny ankapobeny, dia mamokatra kokoa noho ny solosaina eo an-toerana. Mandritra izany fotoana izany, ny Azure ML mihitsy no hikarakara ny famenoana ny scripty miaraka amin'ireo rakitra rehetra avy amin'ny lahatahiry amin'izao fotoana izao ho ao anaty fitoeran-docker, mametraka ny fiankinan-doha ilaina, ary mandefa azy hovonoina.
  • Manorata valiny amin'ny rejisitra tokana ao anatin'ny toeram-piasana Azure ML. Mba hanararaotra an'io endri-javatra io, dia mila manampy andalana roa amin'ny kaody ao amin'ny scripty izahay mba hanoratana ny valiny azo:

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

Ny dikan-teny mifanaraka amin'ny script dia antsoina hoe train_universal.py (fetsy kokoa noho ny voasoratra etsy ambony fa tsy dia be loatra). Ity script ity dia azo atao eo an-toerana sy amin'ny loharanon-tserasera lavitra.

Mba hampandehanana azy amin'ny Azure ML avy amin'ny VS Code dia mila manao izao manaraka izao ianao:

  1. Ataovy azo antoka fa mifandray amin'ny famandrihanao ny Azure Extension. Safidio ny kisary Azure avy amin'ny sakafo eo ankavia. Raha tsy mifandray ianao dia hisy fampandrenesana hiseho eo amin'ny zoro havanana ambany (toa izao), amin'ny fipihana izay ahafahanao miditra amin'ny alΓ lan'ny navigateur. Azonao atao koa ny manindry Ctrl-Shift-P hiantso ny tsipika baiko VS Code, ary soraty Midira Azure.

  2. Avy eo, ao amin'ny fizarana Azure (kisary eo ankavia), tadiavo ilay fizarana FAMPIANARANA MESINY:

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning
Eto ianao dia tokony hahita vondrona zavatra samihafa ao anatin'ny toeram-piasana: loharanon-karena informatika, andrana, sns.

  1. Mandehana any amin'ny lisitry ny rakitra, tsindrio havanana amin'ny script train_universal.py ary safidio Azure ML: Mihazakazaka toy ny fanandramana amin'ny Azure.

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

  1. Izany dia arahin'ny andiana fifanakalozan-kevitra ao amin'ny faritry ny baikon'ny VS Code: hamafiso ny famandrihana sy ny toeram-piasana Azure ML ampiasainao, ary safidio Mamorona andrana vaovao:

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning
Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning
Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

  1. Safidio ny hamorona loharanon-kajy vaovao Mamorona kajy vaovao:

    • Compute mamaritra ny loharanon-karena informatika izay hanaovana fiofanana. Afaka misafidy solosaina eo an-toerana ianao, na cluster cloud AmlCompute. Manoro hevitra aho ny hamorona vondrona milina azo scalable STANDARD_DS3_v2, miaraka amin'ny milina farafahakeliny 0 (ary ambony indrindra 1 na mihoatra, arakaraka ny filanao). Izany dia azo atao amin'ny alalan'ny VS Code interface tsara, na teo aloha ML Portal.

    Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

  2. Manaraka izany dia mila misafidy config ianao Compute Configuration, izay mamaritra ny mari-pamantarana ny kaontenera noforonina ho an'ny fanofanana, indrindra ny tranomboky ilaina rehetra. Amin'ny tranga misy anay, satria mampiasa Scikit Learn izahay dia misafidy SkLearn, ary hamafiso fotsiny ny lisitry ny tranomboky natolotra amin'ny fanindriana ny Enter. Raha mampiasa trano famakiam-boky fanampiny ianao dia tokony hofaritana eto.

    Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning
    Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

  3. Hanokatra varavarankely misy rakitra JSON mamaritra ny fanandramana izany. Ao anatin'izany dia azonao atao ny manitsy ny masontsivana sasany - ohatra, ny anaran'ny fanandramana. Avy eo tsindrio ny rohy Alefaso andrana ao anatin'ity rakitra ity:

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

  1. Rehefa vita ny fandefasana fanandramana amin'ny alΓ lan'ny VS Code, eo amin'ny ilany havanana amin'ny faritra fampahafantarana, dia hahita rohy mankany ianao Azure ML Portal, izay ahafahanao manara-maso ny sata sy ny vokatry ny andrana.

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning
Aorian'izay dia afaka mahita izany foana ianao ao amin'ny fizarana fanandramana Azure ML Portal, na ao amin'ny fizarana Fianarana milina azure ao amin'ny lisitry ny fanandramana:

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning

  1. Raha toa ka nanao fanitsiana vitsivitsy tamin'ny kaody ianao na nanova ny mari-pamantarana, dia ho haingana sy mora kokoa ny famerenana ny andrana. Amin'ny fipihana havanana amin'ny rakitra iray dia hahita singa menu vaovao ianao Avereno ny hazakazaka farany - safidio fotsiny, dia hanomboka avy hatrany ny andrana:

Ahoana ny fomba handresena ny tahotra ary manomboka mampiasa Azure Machine Learning
Azonao atao foana ny mahita ny valin'ny metrika amin'ny fandefasana rehetra ao amin'ny Azure ML Portal, tsy ilaina ny manoratra azy ireo.

Fantatrao izao fa tsotra sy tsy misy fanaintainana ny fampandehanana andrana miaraka amin'ny Azure ML, ary mahazo tombony tsara ianao amin'ny fanaovana izany.

Hitanao koa anefa ny fatiantoka. Ohatra, naharitra ela kokoa ny fampandehanana ny script. Mazava ho azy fa mila fotoana ny famenoana ny script ao anaty fitoeran-javatra iray ary ny fametrahana azy amin'ny server. Raha toa ka tapaka amin'ny haben'ny 0 nodes ny cluster, dia mila fotoana bebe kokoa hanombohana ny milina virtoaly, ary izany rehetra izany dia tena tsikaritra rehefa manandrana asa tsotra toy ny MNIST isika, izay voavaha ao anatin'ny segondra vitsy. . Na izany aza, amin'ny tena fiainana, rehefa maharitra ora maromaro, na andro na herinandro maromaro aza ny fiofanana, dia lasa tsinontsinona io fotoana fanampiny io, indrindra manoloana ny zava-bita avo kokoa azon'ny cluster computing.

Inona ny manaraka?

Manantena aho fa rehefa avy mamaky ity lahatsoratra ity ianao dia afaka mampiasa Azure ML amin'ny asanao mba hampandehanana script, hitantana ny loharanon-karena ary hitahiry vokatra eo afovoany. Na izany aza, ny Azure ML dia afaka manome anao tombony bebe kokoa!

Ao anatin'ny sehatry ny asa dia afaka mitahiry angon-drakitra ianao, ka mamorona tahiry foibe ho an'ny asanao rehetra, izay mora idirana. Ho fanampin'izay, afaka manao andrana tsy avy amin'ny Visual Studio Code ianao, fa mampiasa ny API - tena ilaina tokoa izany raha mila manao optimization hyperparameter ianao ary mila mampandeha imbetsaka ny script miaraka amin'ny paramètre samihafa. Ankoatr'izay, ny teknolojia manokana dia natsangana ao amin'ny Azure ML hyper drive, izay ahafahanao manao fikarohana sarotra kokoa sy fanatsarana ny hyperparameters. Hiresaka momba ireo fahafaha-manao ireo aho amin'ny lahatsoratro manaraka.

Loharano ilaina

Raha mila fahatakarana bebe kokoa momba ny Azure ML dia mety ho hitanao fa mahasoa ireto taranja Microsoft Learn manaraka ireto:

Source: www.habr.com

Add a comment