میں بہت سے ڈیٹا سائنسدانوں کو جانتا ہوں — اور شاید میں خود ان میں سے ایک ہوں — جو جی پی یو سے لیس مشینوں پر کام کرتا ہے، یا تو مقامی یا ورچوئل، جو کلاؤڈ میں میزبانی کی جاتی ہے، یا تو Jupyter Notebook یا کچھ Python ڈیولپمنٹ ماحول کا استعمال کرتی ہے۔ ایک AI/ML ماہر ڈویلپر کے طور پر اپنے دو سالوں کے دوران، میں نے بالکل ایسا ہی کیا، باقاعدہ سرور یا ورک سٹیشن پر ڈیٹا تیار کرنا اور Azure میں GPU سے لیس ورچوئل مشین پر ٹریننگ چلانا۔
یقینا، ہم سب کے بارے میں سنا ہے - مشین لرننگ کے لیے ایک سرشار کلاؤڈ پلیٹ فارم۔ تاہم، میں پہلی نظر کے بعد ، ایسا لگتا ہے کہ Azure ML حل کرنے سے زیادہ مسائل پیدا کرے گا۔ مثال کے طور پر، مذکورہ تربیتی مثال میں، Azure ML ٹریننگ ایک Jupyter Notebook سے شروع کی گئی ہے، لیکن تربیتی اسکرپٹ خود ہی کسی ایک سیل میں ٹیکسٹ فائل کے طور پر تخلیق اور ترمیم کی جاتی ہے—بغیر خودکار تکمیل، نحو کو نمایاں کرنے، یا عام ترقیاتی ماحول کے دیگر فوائد کے۔ اس وجہ سے، ہم نے سنجیدگی سے Azure ML کو اپنے کام میں طویل عرصے تک استعمال نہیں کیا۔
تاہم، میں نے حال ہی میں اپنے کام میں Azure ML کو مؤثر طریقے سے استعمال کرنا شروع کرنے کا ایک طریقہ دریافت کیا ہے! مزید سیکھنے میں دلچسپی ہے؟

اصل راز یہ ہے۔ یہ آپ کو ماحول کا پورا فائدہ اٹھاتے ہوئے براہ راست VS کوڈ میں تربیتی اسکرپٹ تیار کرنے کی اجازت دیتا ہے۔ یہاں تک کہ آپ اسکرپٹ کو مقامی طور پر چلا سکتے ہیں اور پھر اسے صرف چند کلکس کے ساتھ تربیت کے لیے Azure ML کلسٹر میں بھیج سکتے ہیں۔ آسان، ٹھیک ہے؟
ایک ہی وقت میں، Azure ML کے استعمال سے آپ کو درج ذیل فوائد حاصل ہوتے ہیں:
- آپ اپنی مشین پر زیادہ تر وقت مقامی طور پر ایک آسان IDE میں کام کر سکتے ہیں، اور GPU صرف ماڈل ٹریننگ کے لیے استعمال کریں۔تربیتی وسائل کا پول خودکار طور پر مطلوبہ کام کے بوجھ کے مطابق ہو سکتا ہے، اور نوڈس کی کم از کم تعداد کو 0 پر سیٹ کر کے، جب تربیتی کام دستیاب ہوں تو آپ خود بخود ورچوئل مشین "آن ڈیمانڈ" لانچ کر سکتے ہیں۔
- آپ کر سکتے ہیں سیکھنے کے تمام نتائج کو ایک جگہ پر محفوظ کریں۔حاصل شدہ میٹرکس اور نتیجے میں آنے والے ماڈلز سمیت - تمام نتائج کو ذخیرہ کرنے کے لیے کسی نظام یا آرڈر کے ساتھ آنے کی ضرورت نہیں ہے۔
- اس صورت میں، ایک پروجیکٹ پر کئی لوگ کام کر سکتے ہیں۔ - وہ ایک ہی کمپیوٹنگ کلسٹر کا استعمال کر سکتے ہیں، تمام تجربات قطار میں ہوں گے، اور وہ ایک دوسرے کے تجربات کے نتائج بھی دیکھ سکتے ہیں۔ ایسا ہی ایک منظر ہے۔ ڈیپ لرننگ ٹیچنگ میں Azure ML کا استعمالہر طالب علم کو GPU کے ساتھ ایک ورچوئل مشین دینے کے بجائے، آپ ایک واحد کلسٹر بنا سکتے ہیں جسے ہر کوئی مرکزی طور پر استعمال کر سکتا ہے۔ مزید برآں، ماڈل کی درستگی کے ساتھ مشترکہ سکور بورڈ ایک اچھے مسابقتی عنصر کے طور پر کام کر سکتا ہے۔
- Azure ML کے ساتھ، آپ آسانی سے تجربات کی ایک سیریز چلا سکتے ہیں، جیسے ہائپر پیرامیٹر کی اصلاح - یہ کوڈ کی چند سطروں کے ساتھ کیا جا سکتا ہے، تجربات کی ایک سیریز کو دستی طور پر کرنے کی ضرورت نہیں ہے۔
مجھے امید ہے کہ میں نے آپ کو Azure ML کو آزمانے کے لیے قائل کر لیا ہے! شروع کرنے کا طریقہ یہاں ہے:
- یقینی بنائیں کہ آپ نے اسے انسٹال کر لیا ہے۔ ، نیز ایکسٹینشنز и
- ذخیرہ کلون کریں۔ — اس میں MNIST ڈیٹاسیٹ پر ہاتھ سے لکھے ہندسے کی شناخت کے ماڈل کی تربیت کے لیے کچھ ڈیمو کوڈ شامل ہیں۔
- کلون شدہ ذخیرہ کو بصری اسٹوڈیو کوڈ میں کھولیں۔
- پڑھیں!
Azure ML ورک اسپیس اور Azure ML پورٹل
Azure ML تصور کے ارد گرد منظم کیا جاتا ہے کام کے علاقے - کام کی جگہ۔ ورک اسپیس ڈیٹا کو اسٹور کر سکتی ہے، اس پر ٹریننگ کے لیے تجربات بھیجے جاتے ہیں، اور ٹریننگ کے نتائج—نتیجے میں آنے والے میٹرکس اور ماڈلز—بھی وہاں محفوظ کیے جاتے ہیں۔ آپ دیکھ سکتے ہیں کہ ورک اسپیس کے اندر کیا ہے۔ - اور وہاں سے آپ ڈیٹا لوڈ کرنے سے لے کر تجربات کی نگرانی اور ماڈلز کی تعیناتی تک مختلف قسم کے آپریشنز انجام دے سکتے ہیں۔
آپ ویب انٹرفیس کے ذریعے ایک ورک اسپیس بنا سکتے ہیں۔ (ملاحظہ کریں )، یا 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 لائبریری کا استعمال کرتے ہوئے ایک سادہ لکیری ریگریشن ماڈل کو تربیت دیتا ہے۔ بلاشبہ، میں سمجھتا ہوں کہ یہ مسئلہ حل کرنے کا بہترین طریقہ نہیں ہے- ہم اسے بطور مثال استعمال کر رہے ہیں کیونکہ یہ سب سے آسان ہے۔
اسکرپٹ پہلے اوپن ایم ایل سے 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 خود بخود ہماری اسکرپٹ کو موجودہ ڈائرکٹری کی تمام فائلوں کے ساتھ ایک Docker کنٹینر میں پیک کرے گا، مطلوبہ انحصار انسٹال کرے گا، اور اسے عمل درآمد کے لیے بھیجے گا۔
- 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 میں چلانے کے لیے، آپ کو درج ذیل کام کرنے ہوں گے۔
یقینی بنائیں کہ Azure ایکسٹینشن آپ کے سبسکرپشن سے منسلک ہے۔ بائیں مینو میں Azure آئیکن کو منتخب کریں۔ اگر آپ منسلک نہیں ہیں تو، نیچے دائیں کونے میں ایک اطلاع ظاہر ہوگی ()، جس پر کلک کرکے آپ براؤزر کے ذریعے لاگ ان کرسکتے ہیں۔ آپ کلک بھی کر سکتے ہیں۔ Ctrl-Shift-P VS کوڈ کمانڈ لائن کھولنے کے لیے، اور ٹائپ کریں۔ Azure سائن ان کریں۔.
اس کے بعد، Azure سیکشن میں (بائیں طرف آئیکن)، سیکشن تلاش کریں۔ مشین سیکھنا:

یہاں آپ کو ورک اسپیس کے اندر اشیاء کے مختلف گروپ دیکھنا چاہئے: کمپیوٹنگ کے وسائل، تجربات وغیرہ۔
- فائل لسٹ پر جائیں، اسکرپٹ پر دائیں کلک کریں۔
train_universal.pyاور منتخب کریں Azure ML: Azure میں بطور تجربہ چلائیں۔.

- یہ پھر آپ کو VS Code کمانڈ پرامپٹ ایریا میں ڈائیلاگ کی ایک سیریز کے ساتھ اشارہ کرے گا: Azure ML سبسکرپشن اور ورک اسپیس کی تصدیق کریں جسے آپ استعمال کر رہے ہیں، اور منتخب کریں۔ ایک نیا تجربہ بنائیں:



ایک نیا کمپیوٹنگ وسیلہ بنانے کے لیے منتخب کریں۔ نیا کمپیوٹ بنائیں:
- کمپیوٹنگ کمپیوٹنگ کے وسائل کا تعین کرتا ہے جس پر تربیت ہوگی۔ آپ مقامی کمپیوٹر یا AmlCompute کلاؤڈ کلسٹر کا انتخاب کر سکتے ہیں۔ میں مشینوں کا ایک توسیع پذیر کلسٹر بنانے کی تجویز کرتا ہوں۔
STANDARD_DS3_v2، مشینوں کی کم از کم تعداد کے ساتھ 0 (اور زیادہ سے زیادہ 1 یا اس سے زیادہ ہو سکتی ہے، آپ کی بھوک پر منحصر ہے)۔ یہ VS کوڈ انٹرفیس کے ذریعے، یا پیشگی کے ذریعے کیا جا سکتا ہے۔ .

- کمپیوٹنگ کمپیوٹنگ کے وسائل کا تعین کرتا ہے جس پر تربیت ہوگی۔ آپ مقامی کمپیوٹر یا AmlCompute کلاؤڈ کلسٹر کا انتخاب کر سکتے ہیں۔ میں مشینوں کا ایک توسیع پذیر کلسٹر بنانے کی تجویز کرتا ہوں۔
اگلا آپ کو کنفیگریشن کو منتخب کرنے کی ضرورت ہے۔ کمپیوٹ کنفیگریشن، جو تربیت کے لیے بنائے گئے کنٹینر کے پیرامیٹرز کی وضاحت کرتا ہے، خاص طور پر، تمام ضروری لائبریریوں کو۔ ہمارے معاملے میں، چونکہ ہم Scikit Learn استعمال کر رہے ہیں، ہم منتخب کرتے ہیں۔ SkLearn، اور پھر صرف Enter دبا کر لائبریریوں کی تجویز کردہ فہرست کی تصدیق کریں۔ اگر آپ کوئی اضافی لائبریری استعمال کرتے ہیں، تو آپ کو ان کی یہاں وضاحت کرنی چاہیے۔


تجربے کی وضاحت کرنے والی JSON فائل کے ساتھ ایک ونڈو کھلے گی۔ آپ یہاں کچھ پیرامیٹرز میں ترمیم کر سکتے ہیں، جیسے کہ تجربہ کا نام۔ اس کے بعد، لنک پر کلک کریں۔ تجربہ جمع کروائیں۔ بالکل اس فائل کے اندر:

- ایک بار جب آپ نے کامیابی کے ساتھ اپنا تجربہ VS کوڈ کے ذریعے جمع کرادیا، تو آپ کو ایک لنک نظر آئے گا۔ ، جہاں آپ تجربے کی حیثیت اور نتائج کو ٹریک کرسکتے ہیں۔

آپ اسے بعد میں ہمیشہ سیکشن میں تلاش کر سکتے ہیں۔ تجربات ، یا سیکشن میں Azure مشین لرننگ تجربات کی فہرست میں:

- اگر آپ نے کوڈ میں کوئی تبدیلی کی ہے یا اس کے بعد سے کوئی پیرامیٹر تبدیل کیا ہے، تو تجربہ کو دوبارہ چلانا بہت تیز اور آسان ہوگا۔ فائل پر دائیں کلک کرنے سے ایک نیا مینو آئٹم ظاہر ہوگا۔ آخری رن کو دہرائیں۔ - بس اسے منتخب کریں، اور تجربہ فوری طور پر شروع کیا جائے گا:

آپ Azure ML پورٹل میں تمام رنز سے میٹرکس کے نتائج ہمیشہ تلاش کر سکتے ہیں۔ انہیں ریکارڈ کرنے کی ضرورت نہیں ہے۔
اب آپ جانتے ہیں کہ Azure ML کے ساتھ تجربات کرنا آسان اور تکلیف دہ ہے، اور آپ کو بہت سے اچھے فوائد ملتے ہیں۔
لیکن آپ نے شاید کچھ کمی دیکھی ہوگی۔ مثال کے طور پر، اسکرپٹ کو چلانے میں کافی زیادہ وقت لگا۔ بلاشبہ، اسکرپٹ کو کنٹینر میں پیک کرنے اور اسے سرور پر تعینات کرنے میں وقت لگتا ہے۔ اگر کلسٹر کو 0 نوڈس تک چھوٹا کیا گیا تو، ورچوئل مشین کو لانچ کرنے میں اور بھی زیادہ وقت لگے گا۔ یہ خاص طور پر اس وقت نمایاں ہوتا ہے جب ہم MNIST جیسے سادہ مسائل کے ساتھ تجربہ کر رہے ہوتے ہیں، جنہیں حل کرنے میں چند سیکنڈ لگتے ہیں۔ تاہم، حقیقی زندگی میں، جب تربیت میں گھنٹے، یا دن یا ہفتے لگتے ہیں، تو یہ اضافی وقت غیر اہم ہو جاتا ہے، خاص طور پر اس نمایاں طور پر اعلیٰ کارکردگی کے مقابلے جو کمپیوٹنگ کلسٹر فراہم کر سکتا ہے۔
اس کے بعد کیا ہے؟
مجھے امید ہے کہ اس مضمون کو پڑھنے کے بعد، آپ Azure ML کو اسکرپٹ چلانے، کمپیوٹنگ کے وسائل کا نظم کرنے اور نتائج کو مرکزی بنانے کے لیے اپنے ورک فلو میں استعمال کر سکیں گے۔ تاہم، Azure ML آپ کو اور بھی زیادہ فوائد پیش کر سکتا ہے!
آپ اپنے کام کی جگہ کے اندر ڈیٹا ذخیرہ کر سکتے ہیں، اپنے تمام کاموں کے لیے ایک مرکزی، آسانی سے قابل رسائی ذخیرہ بنا کر۔ آپ بصری اسٹوڈیو کوڈ کے بجائے API کا استعمال کرتے ہوئے تجربات بھی چلا سکتے ہیں— یہ خاص طور پر مفید ہو سکتا ہے اگر آپ کو ہائپر پیرامیٹر کو بہتر بنانے اور مختلف پیرامیٹرز کے ساتھ ایک اسکرپٹ کو متعدد بار چلانے کی ضرورت ہو۔ مزید برآں، Azure ML کے پاس اس کے لیے بلٹ ان ٹیکنالوجی ہے۔ ، جو زیادہ نفیس ہائپر پیرامیٹر تلاش اور اصلاح کی اجازت دیتا ہے۔ میں اپنی اگلی پوسٹ میں ان صلاحیتوں پر بات کروں گا۔
کارآمد وسائل
Azure ML کی مزید گہرائی سے تفہیم کے لیے، آپ کو درج ذیل Microsoft Learn کورسز مددگار معلوم ہو سکتے ہیں:
ماخذ: www.habr.com



