నాకు చాలా మంది డేటా సైంటిస్ట్లు తెలుసు - మరియు నేను బహుశా వారిలో ఒకడిని - GPU మెషీన్లు, స్థానిక లేదా వర్చువల్, క్లౌడ్లో జూపిటర్ నోట్బుక్ ద్వారా లేదా ఒక రకమైన పైథాన్ డెవలప్మెంట్ ఎన్విరాన్మెంట్ ద్వారా పని చేసే వారు. AI/MLలో ఎక్స్పర్ట్ డెవలపర్గా 2 సంవత్సరాలు పని చేస్తున్నాను, సాధారణ సర్వర్ లేదా వర్క్స్టేషన్లో డేటాను సిద్ధం చేస్తున్నప్పుడు మరియు అజూర్లో GPUతో వర్చువల్ మెషీన్లో శిక్షణను నడుపుతున్నప్పుడు నేను సరిగ్గా దీన్ని చేసాను.
వాస్తవానికి, మనమందరం గురించి విన్నాము - మెషిన్ లెర్నింగ్ కోసం ప్రత్యేక క్లౌడ్ ప్లాట్ఫారమ్. అయితే, మొదటి చూపు తర్వాత , Azure ML మీకు పరిష్కరించే దానికంటే ఎక్కువ సమస్యలను సృష్టిస్తుంది. ఉదాహరణకు, పైన పేర్కొన్న శిక్షణ ఉదాహరణలో, జూపిటర్ నోట్బుక్ నుండి Azure MLపై శిక్షణ ప్రారంభించబడింది, అయితే శిక్షణ స్క్రిప్ట్ను సెల్లలో ఒకదానిలో టెక్స్ట్ ఫైల్గా సృష్టించి, సవరించాలని ప్రతిపాదించబడింది - స్వీయపూర్తి, సింటాక్స్ హైలైటింగ్ మరియు ఇతర వాటిని ఉపయోగించకుండా. సాధారణ అభివృద్ధి వాతావరణం యొక్క ప్రయోజనాలు. ఈ కారణంగా, మేము చాలా కాలం పాటు మా పనిలో Azure MLని తీవ్రంగా ఉపయోగించలేదు.
అయినప్పటికీ, నా పనిలో Azure MLని సమర్థవంతంగా ఉపయోగించడం ప్రారంభించడానికి నేను ఇటీవల ఒక మార్గాన్ని కనుగొన్నాను! వివరాలపై ఆసక్తి ఉందా?

ప్రధాన రహస్యం . పర్యావరణం యొక్క పూర్తి ప్రయోజనాన్ని పొందడం ద్వారా శిక్షణ స్క్రిప్ట్లను నేరుగా VS కోడ్లో అభివృద్ధి చేయడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది - మరియు మీరు స్థానికంగా స్క్రిప్ట్ను కూడా అమలు చేయవచ్చు, ఆపై కొన్ని క్లిక్లతో Azure ML క్లస్టర్లో శిక్షణకు పంపవచ్చు. అనుకూలమైనది, కాదా?
అలా చేయడం ద్వారా, మీరు Azure MLని ఉపయోగించడం ద్వారా క్రింది ప్రయోజనాలను పొందుతారు:
- మీరు మీ మెషీన్లో ఎక్కువ సమయం స్థానికంగా అనుకూలమైన IDEలో పని చేయవచ్చు మరియు మోడల్ శిక్షణ కోసం మాత్రమే GPUని ఉపయోగించండి. అదే సమయంలో, శిక్షణా వనరుల పూల్ స్వయంచాలకంగా అవసరమైన లోడ్కు సర్దుబాటు చేయగలదు మరియు కనీస నోడ్ల సంఖ్యను 0కి సెట్ చేయడం ద్వారా, శిక్షణా పనులు ఉంటే మీరు స్వయంచాలకంగా వర్చువల్ మెషీన్ను “డిమాండ్పై” ప్రారంభించవచ్చు.
- మీరు చేయవచ్చు అన్ని అభ్యాస ఫలితాలను ఒకే చోట నిల్వ చేయండి, సాధించిన కొలమానాలు మరియు ఫలిత నమూనాలతో సహా - అన్ని ఫలితాలను నిల్వ చేయడానికి ఒక రకమైన సిస్టమ్ లేదా ఆర్డర్తో ముందుకు రావాల్సిన అవసరం లేదు.
- అందువలన ఒక ప్రాజెక్ట్లో చాలా మంది వ్యక్తులు పని చేయవచ్చు - వారు ఒకే కంప్యూటింగ్ క్లస్టర్ని ఉపయోగించవచ్చు, అన్ని ప్రయోగాలు క్యూలో ఉంచబడతాయి మరియు వారు ఒకరి ప్రయోగాల ఫలితాలను కూడా చూడగలరు. అలాంటి దృశ్యం ఒకటి లోతైన అభ్యాసాన్ని బోధించడంలో అజూర్ MLని ఉపయోగించడం, ఇక్కడ ప్రతి విద్యార్థికి GPUతో కూడిన వర్చువల్ మెషీన్ను ఇవ్వడానికి బదులుగా, మీరు ఒక క్లస్టర్ని సృష్టించవచ్చు, అది ప్రతి ఒక్కరూ కేంద్రంగా ఉపయోగించబడుతుంది. అదనంగా, మోడల్ ఖచ్చితత్వంతో ఫలితాల సాధారణ పట్టిక మంచి పోటీ అంశంగా ఉపయోగపడుతుంది.
- Azure MLని ఉపయోగించి, మీరు ప్రయోగాల శ్రేణిని సులభంగా అమలు చేయవచ్చు, ఉదా. హైపర్పారామీటర్ ఆప్టిమైజేషన్ - ఇది కొన్ని పంక్తుల కోడ్తో చేయవచ్చు; మాన్యువల్గా ప్రయోగాల శ్రేణిని నిర్వహించాల్సిన అవసరం లేదు.
Azure MLని ప్రయత్నించమని నేను మిమ్మల్ని ఒప్పించానని ఆశిస్తున్నాను! ఎలా ప్రారంభించాలో ఇక్కడ ఉంది:
- మీరు ఇన్స్టాల్ చేసారని నిర్ధారించుకోండి , అలాగే పొడిగింపులు и
- రిపోజిటరీని క్లోన్ చేయండి — ఇది MNIST డేటాసెట్లో చేతితో వ్రాసిన అంకెల గుర్తింపు నమూనాకు శిక్షణ ఇవ్వడానికి కొంత డెమో కోడ్ను కలిగి ఉంది.
- విజువల్ స్టూడియో కోడ్లో క్లోన్ చేసిన రిపోజిటరీని తెరవండి.
- చదువు!
అజూర్ ML వర్క్స్పేస్ మరియు అజూర్ ML పోర్టల్
అజూర్ ML భావన చుట్టూ నిర్వహించబడింది పని చేయు స్థలం - కార్యస్థలం. వర్క్స్పేస్లో డేటాను నిల్వ చేయవచ్చు, శిక్షణ కోసం ప్రయోగాలు దానికి పంపబడతాయి మరియు శిక్షణ ఫలితాలు-ఫలితంగా వచ్చే కొలమానాలు మరియు నమూనాలు-అక్కడ కూడా నిల్వ చేయబడతాయి. మీరు ఉపయోగించి వర్క్స్పేస్ లోపల ఏముందో చూడవచ్చు - మరియు అక్కడ నుండి మీరు డేటాను లోడ్ చేయడం నుండి ప్రయోగాలను పర్యవేక్షించడం మరియు నమూనాలను అమలు చేయడం వరకు అనేక కార్యకలాపాలను నిర్వహించవచ్చు.
మీరు వెబ్ ఇంటర్ఫేస్ ద్వారా కార్యస్థలాన్ని సృష్టించవచ్చు (Cm. ), లేదా అజూర్ CLI కమాండ్ లైన్ ఉపయోగించి ():
az extension add -n azure-cli-ml
az group create -n myazml -l northeurope
az ml workspace create -w myworkspace -g myazmlకార్యస్థలానికి సంబంధించి కొన్ని కూడా ఉన్నాయి కంప్యూటింగ్ వనరులు (కంప్యూట్) మోడల్కు శిక్షణ ఇవ్వడానికి మీరు స్క్రిప్ట్ను సృష్టించిన తర్వాత, మీరు చేయవచ్చు అమలు కోసం ఒక ప్రయోగాన్ని పంపండి పని ప్రాంతానికి, మరియు పేర్కొనండి లక్ష్యాన్ని లెక్కించండి - ఈ సందర్భంలో, స్క్రిప్ట్ ప్యాక్ చేయబడుతుంది, కావలసిన కంప్యూటింగ్ వాతావరణంలో ప్రారంభించబడుతుంది, ఆపై ప్రయోగం యొక్క అన్ని ఫలితాలు తదుపరి విశ్లేషణ మరియు ఉపయోగం కోసం వర్క్స్పేస్లో సేవ్ చేయబడతాయి.
MNIST కోసం శిక్షణ స్క్రిప్ట్
శాస్త్రీయ సమస్యను పరిశీలిద్దాం MNIST డేటాసెట్ ఉపయోగించి. అదేవిధంగా, భవిష్యత్తులో మీరు మీ శిక్షణ స్క్రిప్ట్లలో దేనినైనా అమలు చేయగలరు.
మా రిపోజిటరీలో స్క్రిప్ట్ ఉంది train_local.py, ఇది SkLearn లైబ్రరీని ఉపయోగించి సరళమైన లీనియర్ రిగ్రెషన్ మోడల్కు శిక్షణ ఇస్తుంది. వాస్తవానికి, సమస్యను పరిష్కరించడానికి ఇది ఉత్తమ మార్గం కాదని నేను అర్థం చేసుకున్నాను - మేము దానిని సరళమైనదిగా ఉదాహరణగా ఉపయోగిస్తాము.
స్క్రిప్ట్ మొదట OpenML నుండి MNIST డేటాను డౌన్లోడ్ చేసి, ఆపై తరగతిని ఉపయోగిస్తుంది LogisticRegression మోడల్కు శిక్షణ ఇవ్వడానికి, ఆపై ఫలిత ఖచ్చితత్వాన్ని ముద్రిస్తుంది:
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)మీరు మీ కంప్యూటర్లో స్క్రిప్ట్ను అమలు చేయవచ్చు మరియు కొన్ని సెకన్లలో మీరు ఫలితాన్ని పొందుతారు.
Azure MLలో స్క్రిప్ట్ రన్ అవుతోంది
మేము Azure ML ద్వారా శిక్షణ స్క్రిప్ట్ను అమలు చేస్తే, మాకు రెండు ప్రధాన ప్రయోజనాలు ఉంటాయి:
- స్థానిక కంప్యూటర్ కంటే సాధారణంగా ఎక్కువ ఉత్పాదకత కలిగిన ఏకపక్ష కంప్యూటింగ్ వనరుపై రన్నింగ్ శిక్షణ. ఈ సందర్భంలో, Azure ML దానంతట అదే మా స్క్రిప్ట్ను ప్రస్తుత డైరెక్టరీ నుండి అన్ని ఫైల్లతో డాకర్ కంటైనర్లో ప్యాక్ చేయడం, అవసరమైన డిపెండెన్సీలను ఇన్స్టాల్ చేయడం మరియు దానిని అమలు చేయడానికి పంపడం వంటి వాటిపై శ్రద్ధ వహిస్తుంది.
- అజూర్ ML వర్క్స్పేస్లోని ఒకే రిజిస్ట్రీకి ఫలితాలను వ్రాయండి. ఈ ఫీచర్ యొక్క ప్రయోజనాన్ని పొందడానికి, ఫలిత ఖచ్చితత్వాన్ని రికార్డ్ చేయడానికి మేము మా స్క్రిప్ట్కి రెండు కోడ్ లైన్లను జోడించాలి:
from azureml.core.run import Run
...
try:
run = Run.get_submitted_run()
run.log('accuracy', acc)
except:
passస్క్రిప్ట్ యొక్క సంబంధిత వెర్షన్ అంటారు train_universal.py (ఇది పైన వివరించిన దానికంటే కొంచెం ఎక్కువ చాకచక్యంగా రూపొందించబడింది, కానీ ఎక్కువ కాదు). ఈ స్క్రిప్ట్ స్థానికంగా మరియు రిమోట్ కంప్యూటింగ్ రిసోర్స్లో అమలు చేయబడుతుంది.
VS కోడ్ నుండి Azure MLలో దీన్ని అమలు చేయడానికి, మీరు ఈ క్రింది వాటిని చేయాలి:
అజూర్ ఎక్స్టెన్షన్ మీ సబ్స్క్రిప్షన్కి కనెక్ట్ చేయబడిందని నిర్ధారించుకోండి. ఎడమ మెను నుండి అజూర్ చిహ్నాన్ని ఎంచుకోండి. మీరు కనెక్ట్ కాకపోతే, దిగువ కుడి మూలలో నోటిఫికేషన్ కనిపిస్తుంది (), మీరు బ్రౌజర్ ద్వారా లాగిన్ చేయగల దానిపై క్లిక్ చేయడం ద్వారా. మీరు కూడా క్లిక్ చేయవచ్చు Ctrl-Shift-P VS కోడ్ కమాండ్ లైన్ని తెరవడానికి మరియు టైప్ చేయండి అజూర్ సైన్ ఇన్.
ఆ తర్వాత, అజూర్ విభాగంలో (ఎడమవైపు ఉన్న చిహ్నం), విభాగాన్ని కనుగొనండి యంత్ర అభ్యాస:

ఇక్కడ మీరు వర్క్స్పేస్ లోపల వివిధ రకాల వస్తువుల సమూహాలను చూడాలి: కంప్యూటింగ్ వనరులు, ప్రయోగాలు మొదలైనవి.
- ఫైల్ల జాబితాకు వెళ్లి, స్క్రిప్ట్పై కుడి క్లిక్ చేయండి
train_universal.pyమరియు ఎంచుకోండి అజూర్ ML: అజూర్లో ప్రయోగంగా అమలు చేయండి.

- దీని తర్వాత VS కోడ్ కమాండ్ లైన్ ప్రాంతంలో డైలాగ్ల శ్రేణి ఉంటుంది: మీ సబ్స్క్రిప్షన్ మరియు Azure ML వర్క్స్పేస్ని నిర్ధారించి, ఎంచుకోండి కొత్త ప్రయోగాన్ని సృష్టించండి:



కొత్త కంప్యూటింగ్ వనరును సృష్టించడానికి ఎంచుకోండి కొత్త కంప్యూట్ సృష్టించండి:
- కంప్యూట్ శిక్షణ జరిగే కంప్యూటింగ్ వనరును నిర్ణయిస్తుంది. మీరు స్థానిక కంప్యూటర్ లేదా AmlCompute క్లౌడ్ క్లస్టర్ని ఎంచుకోవచ్చు. మెషీన్ల స్కేలబుల్ క్లస్టర్ను రూపొందించాలని నేను సిఫార్సు చేస్తున్నాను
STANDARD_DS3_v2, కనిష్ట సంఖ్యలో యంత్రాలు 0 (మరియు మీ ఆకలిని బట్టి గరిష్టంగా 1 లేదా అంతకంటే ఎక్కువ ఉండవచ్చు). ఇది VS కోడ్ ఇంటర్ఫేస్ ద్వారా లేదా గతంలో ద్వారా చేయవచ్చు .

- కంప్యూట్ శిక్షణ జరిగే కంప్యూటింగ్ వనరును నిర్ణయిస్తుంది. మీరు స్థానిక కంప్యూటర్ లేదా AmlCompute క్లౌడ్ క్లస్టర్ని ఎంచుకోవచ్చు. మెషీన్ల స్కేలబుల్ క్లస్టర్ను రూపొందించాలని నేను సిఫార్సు చేస్తున్నాను
తర్వాత మీరు కాన్ఫిగరేషన్ను ఎంచుకోవాలి కంప్యూట్ కాన్ఫిగరేషన్, ఇది శిక్షణ కోసం సృష్టించబడిన కంటైనర్ యొక్క పారామితులను నిర్వచిస్తుంది, ప్రత్యేకించి, అన్ని అవసరమైన లైబ్రరీలు. మా విషయంలో, మేము స్కికిట్ లెర్న్ని ఉపయోగిస్తున్నాము కాబట్టి, మేము ఎంచుకుంటాము SkLearn, ఆపై ఎంటర్ నొక్కడం ద్వారా ప్రతిపాదిత లైబ్రరీల జాబితాను నిర్ధారించండి. మీరు ఏవైనా అదనపు లైబ్రరీలను ఉపయోగిస్తుంటే, వాటిని తప్పనిసరిగా ఇక్కడ పేర్కొనాలి.


దీని తర్వాత, ప్రయోగాన్ని వివరించే JSON ఫైల్తో విండో తెరవబడుతుంది. మీరు దానిలోని కొన్ని పారామితులను సరిచేయవచ్చు, ఉదాహరణకు, ప్రయోగం పేరు. ఆ తర్వాత లింక్పై క్లిక్ చేయండి ప్రయోగాన్ని సమర్పించండి ఈ ఫైల్ లోపల కుడివైపు:

- VS కోడ్ ద్వారా ప్రయోగాన్ని విజయవంతంగా సమర్పించిన తర్వాత, కుడివైపు నోటిఫికేషన్ ప్రాంతంలో మీకు లింక్ కనిపిస్తుంది , ఇక్కడ మీరు ప్రయోగం యొక్క స్థితి మరియు ఫలితాలను ట్రాక్ చేయవచ్చు.

తదనంతరం, మీరు దీన్ని ఎల్లప్పుడూ విభాగంలో కనుగొనవచ్చు ప్రయోగాలు , లేదా విభాగంలో అజూర్ మెషిన్ లెర్నింగ్ ప్రయోగాల జాబితాలో:

- మీరు తదనంతరం కోడ్కు కొన్ని దిద్దుబాట్లు చేసినట్లయితే లేదా పారామీటర్లను మార్చినట్లయితే, ప్రయోగాన్ని మళ్లీ అమలు చేయడం చాలా వేగంగా మరియు సులభంగా ఉంటుంది. ఫైల్పై కుడి-క్లిక్ చేయడం ద్వారా, మీరు కొత్త మెను ఐటెమ్ను చూస్తారు చివరి పరుగును పునరావృతం చేయండి - దీన్ని ఎంచుకోండి మరియు ప్రయోగం వెంటనే ప్రారంభించబడుతుంది:

మీరు ఎల్లప్పుడూ Azure ML పోర్టల్లో అన్ని పరుగుల నుండి కొలమానాల ఫలితాలను కనుగొనవచ్చు; వాటిని రికార్డ్ చేయవలసిన అవసరం లేదు.
Azure MLని ఉపయోగించి ప్రయోగాలు చేయడం సులభం, నొప్పిలేకుండా ఉంటుంది మరియు కొన్ని ఉత్తేజకరమైన ప్రయోజనాలతో వస్తుందని ఇప్పుడు మీకు తెలుసు.
కానీ మీరు కొన్ని ప్రతికూలతలను గమనించి ఉండవచ్చు. ఉదాహరణకు, స్క్రిప్ట్ని అమలు చేయడానికి చాలా ఎక్కువ సమయం పట్టింది. వాస్తవానికి, స్క్రిప్ట్ను కంటైనర్లో ప్యాక్ చేయడం మరియు దానిని సర్వర్లో అమర్చడం సమయం పడుతుంది. క్లస్టర్ 0 నోడ్ల పరిమాణానికి తగ్గించబడితే, వర్చువల్ మెషీన్ను ప్రారంభించడానికి ఇంకా ఎక్కువ సమయం పడుతుంది మరియు కొన్ని సెకన్లలో పరిష్కరించబడే MNIST వంటి సాధారణ సమస్యలపై మేము ప్రయోగాలు చేసినప్పుడు ఇవన్నీ చాలా గుర్తించదగినవి. అయితే, నిజ జీవితంలో, శిక్షణ చాలా గంటలు లేదా రోజులు లేదా వారాలు కూడా ఉన్నప్పుడు, ఈ అదనపు సమయం చాలా తక్కువగా ఉంటుంది, ప్రత్యేకించి కంప్యూటింగ్ క్లస్టర్ అందించగల అధిక పనితీరు నేపథ్యంలో.
తరువాత ఏమిటి?
ఈ కథనాన్ని చదివిన తర్వాత, మీరు స్క్రిప్ట్లను అమలు చేయడానికి, గణన వనరులను నిర్వహించడానికి మరియు ఫలితాలను కేంద్రీయంగా నిల్వ చేయడానికి మీ పనిలో Azure MLని ఉపయోగించవచ్చని మరియు ఉపయోగించవచ్చని నేను ఆశిస్తున్నాను. అయితే, Azure ML మీకు మరిన్ని ప్రయోజనాలను అందిస్తుంది!
మీరు వర్క్స్పేస్లో డేటాను నిల్వ చేయవచ్చు, తద్వారా మీ అన్ని పనుల కోసం సులభంగా యాక్సెస్ చేయగల కేంద్రీకృత రిపోజిటరీని సృష్టించవచ్చు. అదనంగా, మీరు విజువల్ స్టూడియో కోడ్కు బదులుగా APIని ఉపయోగించి ప్రయోగాలను అమలు చేయవచ్చు - మీరు హైపర్పారామీటర్ ఆప్టిమైజేషన్ను నిర్వహించాల్సిన అవసరం ఉన్నట్లయితే మరియు వివిధ పారామితులతో స్క్రిప్ట్ను చాలాసార్లు అమలు చేయాల్సి వస్తే ఇది చాలా ఉపయోగకరంగా ఉంటుంది. అంతేకాకుండా, అజూర్ MLలో ప్రత్యేక సాంకేతికత నిర్మించబడింది , ఇది హైపర్పారామీటర్ల యొక్క మరింత అధునాతన శోధన మరియు ఆప్టిమైజేషన్ను అనుమతిస్తుంది. నేను నా తదుపరి పోస్ట్లో ఈ అవకాశాల గురించి మాట్లాడతాను.
ఉపయోగకరమైన వనరులు
Azure ML గురించి మరింత తెలుసుకోవడానికి, మీరు క్రింది Microsoft Learn కోర్సులు ఉపయోగకరంగా ఉండవచ్చు:
మూలం: www.habr.com



