خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

مان ڪيترن ئي ڊيٽا سائنسدانن کي سڃاڻان ٿو - ۽ مان شايد پاڻ انهن مان هڪ آهيان - جيڪي GPU مشينن تي ڪم ڪن ٿا، مقامي يا ورچوئل، ڪلائوڊ ۾ واقع، يا ته Jupyter Notebook ذريعي يا ڪنهن قسم جي Python ڊولپمينٽ ماحول ذريعي. 2 سالن تائين هڪ ماهر AI/ML ڊولپر جي حيثيت سان ڪم ڪندي، مون بلڪل ائين ڪيو، جڏهن ته باقاعده سرور يا ورڪ اسٽيشن تي ڊيٽا تيار ڪندي، ۽ Azure ۾ GPU سان گڏ ورچوئل مشين تي ٽريننگ هلائيندي.

يقينن، اسان سڀني بابت ٻڌو آهي آزور مشين سکڻ - مشين لرننگ لاءِ هڪ خاص ڪلائوڊ پليٽ فارم. بهرحال، پهرين نظر کان پوء تعارفي مضمون، اهو لڳي ٿو Azure ML توهان جي حل ڪرڻ کان وڌيڪ مسئلا پيدا ڪندو. مثال طور، مٿي ذڪر ڪيل سبق ۾، Azure ML تي ٽريننگ هڪ Jupyter نوٽ بڪ مان شروع ڪئي وئي آهي، جڏهن ته ٽريننگ اسڪرپٽ پاڻ کي تجويز ڪيو ويو آهي ته هڪ سيلز مان هڪ ٽيڪسٽ فائل جي طور تي ٺاهي ۽ ايڊٽ ڪيو وڃي - جڏهن ته خودڪار مڪمل ڪرڻ، نحو استعمال نه ڪندي. نمايان ڪرڻ، ۽ عام ترقي واري ماحول جا ٻيا فائدا. انهي سبب لاء، اسان هڪ ڊگهي وقت تائين اسان جي ڪم ۾ Azure ML کي سنجيدگي سان استعمال نه ڪيو آهي.

بهرحال، مون تازو دريافت ڪيو ته Azure ML استعمال ڪرڻ شروع ڪرڻ جو طريقو مؤثر طريقي سان منهنجي ڪم ۾! تفصيل ۾ دلچسپي وٺندا؟

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

مکيه راز آهي Azure ML لاءِ بصري اسٽوڊيو ڪوڊ جي واڌ. اهو توهان کي VS ڪوڊ ۾ تربيتي اسڪرپٽ تيار ڪرڻ جي اجازت ڏئي ٿو، ماحول جو پورو فائدو وٺندي - ۽ توهان پڻ اسڪرپٽ کي مقامي طور تي هلائي سگهو ٿا ۽ پوءِ بس ان کي ڪجهه ڪلڪن سان Azure ML ڪلسٽر ۾ ٽريننگ لاءِ موڪليو. آسان، اهو ناهي؟

ائين ڪرڻ ۾، توهان Azure ML استعمال ڪرڻ مان هيٺيان فائدا حاصل ڪندا:

  • توهان تمام گهڻو وقت مقامي طور تي توهان جي مشين تي هڪ آسان IDE ۾ ڪم ڪري سگهو ٿا، ۽ صرف ماڊل ٽريننگ لاءِ GPU استعمال ڪريو. ساڳئي وقت، تربيتي وسيلن جو پول خودڪار طريقي سان گهربل لوڊ کي ترتيب ڏئي سگھي ٿو، ۽ نوڊس جي گھٽ ۾ گھٽ تعداد کي 0 تائين مقرر ڪندي، توھان خودڪار طور تي ورچوئل مشين کي "مطالبو تي" تربيتي ڪمن جي موجودگي ۾ شروع ڪري سگھو ٿا.
  • توهان ڪري سگهون ٿا سڀني سکيا جا نتيجا هڪ جاءِ تي محفوظ ڪريوحاصل ڪيل ميٽرڪس ۽ نتيجن جا ماڊل شامل آهن - سڀني نتيجن کي ذخيرو ڪرڻ لاء ڪنهن قسم جي سسٽم يا ترتيب سان اچڻ جي ڪا ضرورت ناهي.
  • اهڙيء طرح هڪ ئي پروجيڪٽ تي ڪيترائي ماڻهو ڪم ڪري سگهن ٿا - اهي ساڳيا ڪمپيوٽنگ ڪلسٽر استعمال ڪري سگهن ٿا، سڀئي تجربا قطار ۾ رکيا ويندا، ۽ اهي هڪ ٻئي جي تجربن جا نتيجا پڻ ڏسي سگهندا. اهڙو ئي هڪ منظر آهي ڊيپ لرننگ سيکارڻ ۾ Azure ML استعمال ڪنديجڏهن هر شاگرد کي هڪ GPU سان هڪ ورچوئل مشين ڏيڻ جي بدران، توهان هڪ ڪلستر ٺاهي سگهو ٿا جيڪو سڀني مرڪزي طور تي استعمال ڪيو ويندو. ان کان علاوه، ماڊل جي درستگي سان نتيجن جو هڪ عام جدول هڪ سٺي مقابلي واري عنصر طور ڪم ڪري سگهي ٿو.
  • Azure ML سان، توهان آساني سان تجربن جو هڪ سلسلو منظم ڪري سگهو ٿا، مثال طور، لاء hyperparameter جي اصلاح - اهو ڪم ڪري سگهجي ٿو ڪوڊ جي چند لائينن سان، دستي طور تي تجربن جو سلسلو هلائڻ جي ڪا ضرورت ناهي.

مون کي اميد آهي ته مون توهان کي قائل ڪيو ته Azure ML جي ڪوشش ڪريو! هتي ڪيئن شروع ڪجي:

Azure ML Workspace ۽ Azure ML Portal

Azure ML تصور جي چوڌاري منظم ڪيو ويو آهي ڪم ڪندڙ علائقو - ڪم جي جڳهه. ڊيٽا کي ڪم جي جڳهه ۾ محفوظ ڪري سگهجي ٿو، تجربا ان کي تربيت لاء موڪليا ويا آهن، تربيت جا نتيجا پڻ محفوظ ڪيا ويا آهن - نتيجن جي ماپ ۽ ماڊل. توهان ڏسي سگهو ٿا ته ڪم اسپيس جي اندر اندر ڇا آهي Azure ML پورٽل - ۽ اتان کان توهان ڪيترائي آپريشن ڪري سگهو ٿا، ڊيٽا لوڊ ڪرڻ کان وٺي نگراني تجربن ۽ ماڊلز کي ترتيب ڏيڻ تائين.

توهان ويب انٽرفيس ذريعي ڪم اسپيس ٺاهي سگهو ٿا Azure Portal (ڏسو قدم قدم هدايتون)، يا Azure 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 پاڻ اسان جي اسڪرپٽ کي موجوده ڊاريڪٽري مان سڀني فائلن سان گڏ هڪ ڊاکر ڪنٽينر ۾ پيڪنگ ڪرڻ جو خيال رکندو، گهربل انحصار کي نصب ڪرڻ، ۽ ان کي عمل ڪرڻ لاء موڪلڻ.
  • هڪ Azure 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 ۾ ان کي هلائڻ لاءِ، توھان کي ھيٺين ڪم ڪرڻ جي ضرورت آھي:

  1. پڪ ڪريو ته Azure ايڪسٽينشن توهان جي رڪنيت سان ڳنڍيل آهي. کاٻي پاسي واري مينيو مان Azure آئڪن کي منتخب ڪريو. جيڪڏهن توهان ڳنڍيل نه آهيو، هڪ نوٽيفڪيشن هيٺئين ساڄي ڪنڊ ۾ ظاهر ٿيندو (هن وانگر)، جنهن تي ڪلڪ ڪندي توهان برائوزر ذريعي داخل ڪري سگهو ٿا. توھان پڻ ڪلڪ ڪري سگھو ٿا Ctrl-Shift-P ڪال ڪرڻ لاءِ VS ڪوڊ ڪمانڊ لائن، ۽ ٽائپ ڪريو Azure سائن ان.

  2. ان کان پوء، Azure سيڪشن ۾ (کاٻي پاسي آئڪن)، سيڪشن ڳولھيو مشين پڙهائي:

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي
هتي توهان کي ڏسڻ گهرجي مختلف گروپن جي شين جي اندر ڪم جي جڳهه: ڪمپيوٽنگ وسيلن، تجربا، وغيره.

  1. فائلن جي لسٽ ڏانھن وڃو، اسڪرپٽ تي صحيح ڪلڪ ڪريو train_universal.py ۽ چونڊيو Azure ML: Azure ۾ تجربو طور هلائي.

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

  1. ان کان پوءِ وي ايس ڪوڊ جي ڪمانڊ لائن واري علائقي ۾ ڊائلاگ جو هڪ سلسلو هوندو: تصديق ڪريو رڪنيت ۽ Azure ML ڪم اسپيس جيڪا توهان استعمال ڪري رهيا آهيو، ۽ چونڊيو نئون تجربو ٺاهيو:

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي
خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي
خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

  1. ھڪڙو نئون ڪمپيوٽ وسيلو ٺاھڻ لاءِ چونڊيو نئون Compute ٺاهيو:

    • مرڪب ڪمپيوٽنگ جو وسيلو طئي ڪري ٿو جنهن تي تربيت ٿيندي. توھان چونڊي سگھوٿا مقامي ڪمپيوٽر، يا ھڪڙو AmlCompute ڪلائوڊ ڪلستر. مان سفارش ڪريان ٿو مشينن جي اسپيبلبل ڪلستر ٺاهڻ STANDARD_DS3_v2, مشينن جي گھٽ ۾ گھٽ تعداد سان 0 (۽ وڌ ۾ وڌ 1 يا وڌيڪ، توھان جي خواهش تي منحصر آھي). اهو ٿي سگهي ٿو VS ڪوڊ انٽرفيس ذريعي، يا اڳ ۾ ذريعي ايم ايل پورٽل.

    خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

  2. اڳيون، توهان کي هڪ ترتيب چونڊڻ جي ضرورت آهي ڪمپيوٽنگ ڪنفيگريشن، جيڪو تربيت لاءِ ٺاهيل ڪنٽينر جي پيراگرافن کي بيان ڪري ٿو، خاص طور تي، تمام ضروري لائبريريون. اسان جي صورت ۾، جيئن ته اسان استعمال ڪري رهيا آهيون اسڪيٽ سکيا، اسان چونڊيو ٿا SkLearn، ۽ پوءِ صرف انٽر کي دٻائي لائبريرين جي تجويز ڪيل فهرست جي تصديق ڪريو. جيڪڏهن توهان ڪي اضافي لائبريريون استعمال ڪندا آهيو، انهن کي هتي بيان ڪيو وڃي.

    خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي
    خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

  3. اهو هڪ ونڊو کوليندو هڪ JSON فائل سان تجربو بيان ڪندي. ان ۾، توھان ڪجھ پيٽرولر کي درست ڪري سگھو ٿا - مثال طور، تجربو جو نالو. ان کان پوء لنڪ تي ڪلڪ ڪريو تجربو پيش ڪريو هن فائل اندر صحيح:

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

  1. ڪاميابيءَ سان وي ايس ڪوڊ ذريعي هڪ تجربو جمع ڪرائڻ کان پوءِ، اطلاع واري علائقي جي ساڄي پاسي، توهان کي هڪ لنڪ نظر ايندي. Azure ML Portal, جتي توهان ٽريڪ ڪري سگهو ٿا حالت ۽ تجربن جا نتيجا.

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي
تنهن کان پوء، توهان هميشه ان کي سيڪشن ۾ ڳولي سگهو ٿا تجربا Azure ML Portal، يا سيڪشن ۾ آزور مشين سکڻ تجربن جي فهرست ۾:

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي

  1. جيڪڏهن ان کان پوءِ توهان ڪوڊ ۾ ڪجهه سڌارا ڪيا يا پيٽرول تبديل ڪيو، تجربو ٻيهر شروع ڪرڻ تمام تيز ۽ آسان ٿيندو. ھڪڙي فائل تي صحيح ڪلڪ ڪندي، توھان ڏسندا ھڪڙو نئون مينيو شيون آخري رن کي ورجايو - بس ان کي چونڊيو، ۽ تجربو فوري طور تي شروع ٿيندو:

خوف کي ڪيئن ختم ڪجي ۽ Azure مشين لرننگ استعمال ڪرڻ شروع ڪجي
توهان هميشه ڳولي سگهو ٿا ميٽرڪس جا نتيجا سڀني لانچن مان Azure ML پورٽل تي، انهن کي لکڻ جي ڪا ضرورت ناهي.

ھاڻي توھان ڄاڻو ٿا ته Azure ML سان ھلندڙ تجربو سادو ۽ بي درد آھي، ۽ ائين ڪرڻ سان توھان کي ڪيترائي سٺا فائدا ملن ٿا.

پر توهان پڻ نقصانات ڏسي سگهو ٿا. مثال طور، اسڪرپٽ کي هلائڻ ۾ گهڻو وقت لڳي ويو. يقينن، اسڪرپٽ کي ڪنٽينر ۾ پيڪنگ ڪرڻ ۽ ان کي سرور تي ترتيب ڏيڻ وقت وٺندو آهي. جيڪڏهن ساڳئي وقت ڪلسٽر کي 0 نوڊس جي سائيز ۾ ڪٽيو ويو ته ان کي ورچوئل مشين کي شروع ڪرڻ ۾ اڃا به وڌيڪ وقت لڳندو، ۽ اهو سڀ ڪجهه ان وقت تمام گهڻو نظر اچي ٿو جڏهن اسان MNIST وانگر سادي ڪمن تي تجربو ڪريون ٿا، جيڪي چند سيڪنڊن ۾ حل ٿي وڃن ٿا. . جڏهن ته، حقيقي زندگي ۾، جڏهن تربيت ڪيترن ئي ڪلاڪن تائين رهي ٿي، يا اڃا به ڏينهن يا هفتا، اهو اضافي وقت غير اهم ٿي وڃي ٿو، خاص طور تي تمام اعلي ڪارڪردگي جي پس منظر جي خلاف، جيڪو ڪمپيوٽنگ ڪلستر مهيا ڪري سگهي ٿو.

ايندڙ ڇا آهي؟

مون کي اميد آهي ته هي مضمون پڙهڻ کان پوءِ، توهان ڪري سگهو ٿا ۽ استعمال ڪندا Azure ML توهان جي ڪم ۾ اسڪرپٽ هلائڻ، ڪمپيوٽنگ وسيلن کي منظم ڪرڻ، ۽ نتيجن کي مرڪزي طور تي ذخيرو ڪرڻ. بهرحال، Azure ML ڏئي سگهي ٿو توهان کي اڃا به وڌيڪ فائدا!

ڪم اسپيس جي اندر، توهان ڊيٽا کي ذخيرو ڪري سگهو ٿا، انهي سان گڏ توهان جي سڀني ڪمن لاء هڪ مرڪزي مخزن ٺاهي، جنهن تائين رسائي آسان آهي. اضافي طور تي، توهان تجربا هلائي سگهو ٿا Visual Studio Code مان نه، پر API استعمال ڪندي - اهو خاص طور تي ڪارائتو ٿي سگهي ٿو جيڪڏهن توهان کي هائپرپيراميٽر اصلاح ڪرڻ جي ضرورت آهي ۽ اسڪرپٽ کي مختلف پيٽرولن سان ڪيترائي ڀيرا هلائڻ جي ضرورت آهي. ان کان علاوه، خاص ٽيڪنالاجي Azure ML ۾ ٺهيل آهي هائپر ڊرائيو، جيڪو توهان کي وڌيڪ مشڪل ڳولها ڪرڻ جي اجازت ڏئي ٿو ۽ hyperparameters جي اصلاح. آئون پنهنجي ايندڙ پوسٽ ۾ انهن امڪانن بابت ڳالهائيندس.

مددگار وسيلا

Azure ML بابت وڌيڪ سکڻ لاءِ، توھان ڳولي سگھوٿا ھيٺ ڏنل Microsoft Learn ڪورس مددگار:

جو ذريعو: www.habr.com

تبصرو شامل ڪريو