Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

Tá aithne agam ar go leor Eolaithe Sonraí - agus b'fhéidir go bhfuil mé ar cheann acu - a oibríonn ar mheaisíní GPU, áitiúil nó fíorúil, atá lonnaithe sa scamall, trí Leabhar Nótaí Jupyter nó trí thimpeallacht forbartha Python de chineál éigin. Ag obair ar feadh 2 bhliain mar fhorbróir saineolach in AI/ML, rinne mé é seo go díreach, agus sonraí á n-ullmhú agam ar fhreastalaí rialta nó ar stáisiún oibre, agus ag rith oiliúint ar mheaisín fíorúil le GPU in Azure.

Ar ndóigh, chuala muid go léir faoi Foghlaim Meaisín Azure — ardán néil speisialta don mheaisínfhoghlaim. Mar sin féin, tar éis an chéad amharc ar ailt tosaigh, is cosúil go gcruthóidh Azure ML níos mó fadhbanna duit ná mar a réiteoidh sé. Mar shampla, sa sampla oiliúna a luaitear thuas, seoltar oiliúint ar Azure ML ó Jupyter Notebook, agus tá sé beartaithe an script oiliúna féin a chruthú agus a chur in eagar mar chomhad téacs i gceann de na cealla - gan úsáid a bhaint as uathchríochnú, béim ar chomhréir agus eile. buntáistí a bhaineann le timpeallacht forbartha gnáth. Ar an gcúis seo, níor úsáideamar Azure ML go dáiríre inár gcuid oibre ar feadh i bhfad.

Mar sin féin, fuair mé amach le déanaí bealach chun Azure ML a úsáid go héifeachtach i mo chuid oibre! Spéis agat i sonraí?

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

Is é an príomh-rún Síneadh Cód Visual Studio le haghaidh Azure ML. Ligeann sé duit scripteanna oiliúna a fhorbairt go díreach i gCód VS, ag baint tairbhe iomlán as an gcomhshaol - agus is féidir leat fiú script a reáchtáil go háitiúil, agus ansin é a sheoladh go simplí chun oiliúint a dhéanamh ar bhraisle Azure ML le cúpla cad a tharlaíonn. Áisiúil, nach bhfuil?

Agus é sin á dhéanamh agat, gheobhaidh tú na buntáistí seo a leanas as Azure ML a úsáid:

  • Is féidir leat an chuid is mó den am a oibriú go háitiúil ar do mheaisín i IDE áisiúil, agus úsáid GPU amháin le haghaidh oiliúint mhúnla. Ag an am céanna, is féidir leis an linn acmhainní oiliúna a choigeartú go huathoibríoch chuig an ualach riachtanach, agus trí íoslíon na nóid a shocrú go 0, is féidir leat an meaisín fíorúil a sheoladh go huathoibríoch “ar éileamh” má tá tascanna oiliúna i gceist.
  • is féidir leat gach toradh foghlama a stóráil in aon áit amháin, lena n-áirítear na méadrachtaí a baineadh amach agus na samhlacha mar thoradh air - ní gá teacht suas le córas nó ordú de chineál éigin chun na torthaí go léir a stóráil.
  • Sa chás seo, Is féidir le roinnt daoine oibriú ar thionscadal amháin - is féidir leo an braisle ríomhaireachta céanna a úsáid, cuirfear na turgnaimh ar fad i scuaine, agus beidh siad in ann torthaí thurgnaimh a chéile a fheiceáil freisin. Tá cás amháin den sórt sin ag baint úsáide as Azure ML chun Deep Learning a theagasc, áit in ionad meaisín fíorúil a thabhairt do gach mac léinn le GPU, is féidir leat braisle amháin a chruthú a úsáidfidh gach duine go lárnach. Ina theannta sin, is féidir le tábla torthaí ginearálta le cruinneas múnla feidhmiú mar ghné iomaíoch maith.
  • Ag baint úsáide as Azure ML, is féidir leat sraith turgnaimh a reáchtáil go héasca, m.sh. leas iomlán a bhaint hyperparameter - is féidir é seo a dhéanamh le cúpla líne de chód; ní gá sraith turgnaimh a dhéanamh de láimh.

Tá súil agam gur chuir mé ina luí ort triail a bhaint as Azure ML! Seo an chaoi le tosú:

Spás Oibre Azure ML agus Tairseach Azure ML

Tá Azure ML eagraithe thart ar an gcoincheap limistéar oibre - Spás oibre. Is féidir sonraí a stóráil sa spás oibre, is féidir turgnaimh le haghaidh oiliúna a sheoladh chuige, agus torthaí oiliúna - na méadrachtaí agus na samhlacha a thagann as - a stóráil ann freisin. Is féidir leat a fheiceáil cad atá taobh istigh den spás oibre ag baint úsáide as Tairseach Azure ML - agus uaidh sin is féidir leat go leor oibríochtaí a dhéanamh, ó lódáil sonraí go monatóireacht a dhéanamh ar thurgnaimh agus samhlacha a imscaradh.

Is féidir leat spás oibre a chruthú tríd an gcomhéadan gréasáin Tairseach Azure (Féach treoracha céim ar chéim), nó ag baint úsáide as an líne ordaithe Azure CLI (treoracha):

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

Tá roinnt a bhaineann leis an spás oibre freisin acmhainní ríomhaireachta (Ríomh). Nuair a bheidh script cruthaithe agat chun an tsamhail a oiliúint, is féidir leat seol turgnamh le cur i gcrích chuig an limistéar oibre, agus sonraigh sprioc a ríomh - sa chás seo, déanfar an script a phacáistiú, a sheoladh sa timpeallacht ríomhaireachta atá ag teastáil, agus ansin déanfar torthaí uile an turgnaimh a shábháil sa spás oibre le haghaidh tuilleadh anailíse agus úsáide.

Íoslódáil scripteanna oiliúna do MNIST

Déanaimis machnamh ar an bhfadhb clasaiceach aithint dhigit lámhscríofa ag baint úsáide as an tacar sonraí MNIST. Mar an gcéanna, sa todhchaí beidh tú in ann aon cheann de do scripteanna oiliúna a fhorghníomhú.

Tá script inár stór train_local.py, a chuireann oiliúint ar an tsamhail aischéimniúcháin líneach is simplí ag baint úsáide as leabharlann SkLearn. Ar ndóigh, tuigim nach é seo an bealach is fearr chun an fhadhb a réiteach - úsáidimid é mar shampla, mar an ceann is simplí.

Íoslódálann an script sonraí MNIST ó OpenML ar dtús agus ansin úsáideann an rang LogisticRegression chun an tsamhail a oiliúint, agus ansin an cruinneas mar thoradh air a phriontáil:

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)

Is féidir leat an script a rith ar do ríomhaire agus i gceann cúpla soicind gheobhaidh tú an toradh.

Rith an script in Azure ML

Má ritheann muid an script oiliúna trí Azure ML, beidh dhá phríomhbhuntáiste againn:

  • Oiliúint a reáchtáil ar acmhainn ríomhaireachta treallach, a bhíonn níos táirgiúla de ghnáth ná ríomhaire áitiúil. Sa chás seo, tabharfaidh Azure ML féin aire dár script a phacáil leis na comhaid go léir ón eolaire reatha isteach i gcoimeádán docker, na spleáchais riachtanacha a shuiteáil, agus é a sheoladh lena fhorghníomhú.
  • Scríobh torthaí chuig clárlann amháin laistigh de spás oibre Azure ML. Chun leas a bhaint as an ngné seo, ní mór dúinn cúpla líne de chód a chur lenár script chun an cruinneas mar thoradh air a thaifeadadh:

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

Tugtar an leagan comhfhreagrach den script train_universal.py (tá sé beagán níos cunningly deartha ná mar a thuairiscítear thuas, ach ní i bhfad). Is féidir an script seo a rith go háitiúil agus ar acmhainn cianríomhaireachta.

Chun é a rith in Azure ML ó VS Code, ní mór duit an méid seo a leanas a dhéanamh:

  1. Bí cinnte go bhfuil an Síneadh Azure ceangailte le do shíntiús. Roghnaigh an deilbhín Azure ón roghchlár ar chlé. Mura bhfuil tú ceangailte, beidh fógra le feiceáil sa chúinne íochtair ar dheis (mar seo), trí chliceáil ar ar féidir leat logáil isteach tríd an mbrabhsálaí. Is féidir leat cliceáil freisin Ctrl-Shift-P chun an líne ordaithe Cód VS a oscailt, agus cineál Azure Sínigh isteach.

  2. Tar éis sin, sa chuid Azure (deilbhín ar chlé), faigh an t-alt FOGHLAIM INNEALRA:

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid
Anseo ba cheart duit grúpaí éagsúla rudaí a fheiceáil taobh istigh den spás oibre: acmhainní ríomhaireachta, turgnaimh, etc.

  1. Téigh go dtí an liosta comhad, cliceáil ar dheis ar an script train_universal.py agus roghnaigh Azure ML: Rith mar thurgnamh in Azure.

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

  1. Ina dhiaidh seo beidh sraith dialóga i limistéar líne ordaithe an Chóid VS: deimhnigh do shíntiús agus spás oibre Azure ML, agus roghnaigh Cruthaigh turgnamh nua:

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid
Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid
Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

  1. Roghnaigh chun acmhainn ríomhaireachta nua a chruthú Cruthaigh Ríomh Nua:

    • Ríomh cinneann an acmhainn ríomhaireachta ar a mbeidh an oiliúint ar siúl. Is féidir leat ríomhaire áitiúil, nó braisle scamall AmlCompute a roghnú. Molaim braisle meaisíní inscálaithe a chruthú STANDARD_DS3_v2, le líon íosta meaisíní 0 (agus is féidir an t-uasmhéid a bheith 1 nó níos mó, ag brath ar do chuid goile). Is féidir é seo a dhéanamh tríd an gcomhéadan VS Code, nó roimhe sin trí Tairseach ML.

    Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

  2. Ansin ní mór duit cumraíocht a roghnú Cumraíocht Ríomh, a shainíonn paraiméadair an choimeádáin a cruthaíodh le haghaidh oiliúna, go háirithe, na leabharlanna go léir is gá. Inár gcás, ós rud é go bhfuil Scikit Learn á úsáid againn, roghnaímid SkLearn, agus ansin deimhnigh an liosta leabharlanna atá beartaithe ach brúigh Iontráil. Má úsáideann tú aon leabharlanna breise, ní mór iad a shonrú anseo.

    Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid
    Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

  3. Tar éis seo, osclófar fuinneog le comhad JSON ag cur síos ar an turgnamh. Is féidir leat roinnt paraiméadair a cheartú ann, mar shampla, ainm an turgnaimh. Ina dhiaidh sin cliceáil ar an nasc Cuir Turgnamh taobh istigh den chomhad seo:

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

  1. Tar éis duit turgnamh a chur isteach go rathúil trí Chód VS, sa limistéar fógra ar dheis feicfidh tú nasc chuige Tairseach Azure ML, áit ar féidir leat stádas agus torthaí an turgnaimh a rianú.

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid
Ina dhiaidh sin, is féidir leat é a fháil i gcónaí sa rannóg Turgnaimh Tairseach Azure ML, nó sa rannóg Foghlaim Meaisín Azure i liosta na dturgnaimh:

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid

  1. Má rinne tú roinnt ceartúcháin ar an gcód ina dhiaidh sin nó má d'athraigh tú paraiméadair, beidh sé i bhfad níos tapúla agus níos éasca an turgnamh a athreáchtáil. Le cliceáil ar dheis ar an gcomhad, feicfidh tú mír roghchláir nua Déan an rith dheireanach arís - roghnaigh é agus seolfar an turgnamh láithreach:

Conas eagla a shárú agus tús a chur le Azure Machine Learning a úsáid
Is féidir leat i gcónaí na torthaí méadrachta ó gach rith ar an Tairseach Azure ML a fháil; ní gá iad a thaifeadadh.

Anois tá a fhios agat go bhfuil sé éasca, gan phian, turgnaimh a reáchtáil ag baint úsáide as Azure ML, agus go bhfuil roinnt buntáistí spreagúla ann.

Ach b'fhéidir gur thug tú faoi deara roinnt míbhuntáistí. Mar shampla, thóg sé i bhfad níos faide an script a rith. Ar ndóigh, tógann sé am a phacáistiú an script isteach i gcoimeádán agus é a imscaradh chuig an bhfreastalaí. Má laghdaíodh an braisle go dtí méid 0 nóid, tógfaidh sé níos mó ama chun an meaisín fíorúil a thosú, agus tá sé seo go léir an-suntasach nuair a dhéanaimid turgnamh ar fhadhbanna simplí cosúil le MNIST, a réitítear i gceann cúpla soicind. Mar sin féin, sa saol fíor, nuair a mhaireann an oiliúint roinnt uaireanta an chloig, nó fiú laethanta nó seachtainí, éiríonn an t-am breise seo neamhshuntasach, go háirithe i gcomhthéacs na feidhmíochta i bhfad níos airde is féidir le braisle ríomhaireachta a sholáthar.

Cad atá romhainn?

Tá súil agam, tar éis duit an t-alt seo a léamh, gur féidir leat agus go mbainfidh tú úsáid as Azure ML i do chuid oibre chun scripteanna a rith, acmhainní a ríomh a bhainistiú, agus torthaí a stóráil go lárnach. Mar sin féin, is féidir le Azure ML níos mó buntáistí a thabhairt duit!

Is féidir leat sonraí a stóráil laistigh de spás oibre, rud a chruthaíonn stór láraithe le haghaidh do thascanna go léir atá éasca a rochtain. Ina theannta sin, is féidir leat turgnaimh a reáchtáil ag baint úsáide as an API in ionad Visual Studio Code - is féidir é seo a bheith úsáideach go háirithe más gá duit leas iomlán a bhaint hyperparameter a dhéanamh agus go gcaithfidh tú an script a reáchtáil go leor uaireanta le paraiméadair éagsúla. Ina theannta sin, tá teicneolaíocht speisialta ionsuite in Azure ML tiomáint hyper, a cheadaíonn cuardach níos sofaisticiúla agus leas iomlán a bhaint as hipearpharaiméadair. Labhróidh mé faoi na féidearthachtaí seo i mo chéad phost eile.

Acmhainní úsáideacha

Chun tuilleadh a fhoghlaim faoi Azure ML, b’fhéidir go mbeidh na cúrsaí Microsoft Learn seo a leanas úsáideach duit:

Foinse: will.com

Add a comment