زه ډیری ډیټا ساینس پوهان پیژنم - او زه شاید یو له دوی څخه یم - څوک چې د GPU ماشینونو کې کار کوي ، ځایی یا مجازی ، په کلاوډ کې موقعیت لري ، یا د جوپیټر نوټ بوک له لارې یا د یو ډول پیتون پرمختیا چاپیریال له لارې. په AI/ML کې د متخصص پراختیا کونکي په توګه د 2 کلونو لپاره کار کول، ما دا په سمه توګه ترسره کړل، پداسې حال کې چې په منظم سرور یا ورک سټیشن کې ډاټا چمتو کول، او په Azure کې د GPU سره په مجازی ماشین کې روزنه پرمخ وړم.
البته، موږ ټولو په اړه اوریدلي دي
په هرصورت، ما پدې وروستیو کې زما په کار کې په مؤثره توګه د Azure ML کارولو پیل کولو لاره وموندله! د جزیاتو سره علاقه لرئ؟
اصلي راز دی
په دې کولو سره، تاسو د Azure ML کارولو څخه لاندې ګټې ترلاسه کوئ:
- تاسو کولی شئ ډیری وخت په محلي توګه په خپل ماشین کې په مناسب IDE کې کار وکړئ، او یوازې د ماډل روزنې لپاره GPU وکاروئ. په ورته وخت کې ، د روزنې سرچینو حوض په اوتومات ډول د اړتیا وړ بار سره تنظیم کولی شي ، او د نوډونو لږترلږه شمیر 0 ته تنظیم کولو سره ، تاسو کولی شئ په اتوماتيک ډول مجازی ماشین "په غوښتنې" پیل کړئ که چیرې د روزنې دندې شتون ولري.
- تاسو کولی شئ د زده کړې ټولې پایلې په یو ځای کې ذخیره کړئد ترلاسه شوي میټریکونو او پایله لرونکي ماډلونو په شمول - د ټولو پایلو ذخیره کولو لپاره د یو ډول سیسټم یا ترتیب سره د راتلو اړتیا نشته.
- نو ډیری خلک کولی شي په یوه پروژه کې کار وکړي - دوی کولی شي ورته کمپیوټري کلستر وکاروي، ټولې تجربې به په قطار کې وي، او دوی کولی شي د یو بل د تجربو پایلې هم وګوري. یو داسې سناریو ده د ژورې زده کړې په تدریس کې د Azure ML کارول، چیرې چې هر زده کونکي ته د GPU سره یو مجازی ماشین ورکولو پرځای ، تاسو کولی شئ یو کلستر جوړ کړئ چې د هرچا لخوا به په مرکزي توګه وکارول شي. برسېره پردې، د ماډل دقت سره د پایلو عمومي جدول کولی شي د ښه رقابتي عنصر په توګه خدمت وکړي.
- د Azure ML په کارولو سره، تاسو کولی شئ په اسانۍ سره د تجربو لړۍ پرمخ بوځي، د بیلګې په توګه. د hyperparameter اصلاح کول - دا د کوډ د څو لینونو سره ترسره کیدی شي؛ په لاسي ډول د تجربو لړۍ ترسره کولو ته اړتیا نشته.
زه امید لرم چې زه تاسو قانع کړی یم چې د Azure ML هڅه وکړئ! دلته د پیل کولو څرنګوالی دی:
- ډاډ ترلاسه کړئ چې تاسو نصب کړی دی
د ویډیو سټوډیو کوډ , همدارنګه غزولAzure ننوتل иAzureML - ذخیره کلون کړئ
https://github.com/CloudAdvocacy/AzureMLStarter - دا د MNIST ډیټاسیټ کې د لاسي لیکل شوي ډیجیټل پیژندنې ماډل روزنې لپاره ځینې ډیمو کوډ لري. - د بصری سټوډیو کوډ کې کلون شوی ذخیره خلاص کړئ.
- ولولئ!
Azure ML کاري ځای او Azure ML پورټل
Azure ML د مفهوم په شاوخوا کې تنظیم شوی کاري ساحه - د کار ځای. ډیټا په کاري ځای کې زیرمه کیدی شي، د روزنې لپاره تجربې دې ته لیږل کیدی شي، او د روزنې پایلې - پایله لرونکي میټریکونه او ماډلونه - هم هلته زیرمه شوي. تاسو کولی شئ وګورئ چې د کار ځای دننه څه دي په کارولو سره
تاسو کولی شئ د ویب انٹرفیس له لارې کاري ځای جوړ کړئ
az extension add -n azure-cli-ml
az group create -n myazml -l northeurope
az ml workspace create -w myworkspace -g myazml
ځینې د کار ځای سره تړلي هم دي کمپیوټري سرچینې (کمپیوټري). یوځل چې تاسو د ماډل روزنې لپاره سکریپټ رامینځته کړئ ، تاسو کولی شئ د اجرا لپاره یوه تجربه ولېږئ د کار ساحې ته، او مشخص کړئ هدف محاسبه کول - پدې حالت کې ، سکریپټ به بسته شي ، په مطلوب کمپیوټر چاپیریال کې پیل شي ، او بیا به د تجربې ټولې پایلې د نورو تحلیلونو او کارولو لپاره په کاري ځای کې خوندي شي.
د 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 کې د چلولو لپاره، تاسو باید لاندې کار وکړئ:
-
ډاډ ترلاسه کړئ چې د Azure توسیع ستاسو د ګډون سره وصل دی. د کیڼ مینو څخه د Azure عکس غوره کړئ. که تاسو وصل نه یاست، نو یو خبرتیا به په ښکته ښیې کونج کې ښکاره شي (
لکه دغه )، په کلیک کولو سره تاسو کولی شئ د براوزر له لارې لاګ ان شئ. تاسو هم کولی شئ کلیک وکړئ Ctrl-Shift-P د VS کوډ کمانډ لاین خلاصولو لپاره ، او ټایپ کړئ Azure ننوتل. -
له هغې وروسته، د Azure برخه کې (په چپ اړخ کې عکس)، برخه ومومئ زده کړه ترلاسه کړئ:
دلته تاسو باید د کاري ځای دننه د شیانو مختلف ګروپونه وګورئ: د کمپیوټر سرچینې، تجربې، او نور.
- د فایلونو لیست ته لاړ شئ، په سکریپټ کې ښیې کلیک وکړئ
train_universal.py
او انتخاب کړئ Azure ML: په Azure کې د تجربې په توګه چلول.
- دا به د VS کوډ کمانډ لاین ساحه کې د ډیالوګونو لړۍ تعقیب شي: خپل ګډون او Azure ML کاري ځای تایید کړئ ، او غوره کړئ نوې تجربه جوړه کړئ:
-
د نوي کمپیوټري سرچینې رامینځته کولو لپاره غوره کړئ نوی کمپیوټر جوړ کړئ:
- کمپیوټري د کمپیوټر سرچینې ټاکي په کوم کې چې روزنه به ترسره شي. تاسو کولی شئ محلي کمپیوټر، یا د AmlCompute کلاوډ کلستر غوره کړئ. زه وړاندیز کوم چې د ماشینونو د توزیع وړ کلستر جوړ کړئ
STANDARD_DS3_v2
، د ماشینونو لږترلږه شمیر سره 0 (او اعظمي یې 1 یا ډیر کیدی شي ، ستاسو د اشتها پورې اړه لري). دا د VS کوډ انٹرفیس له لارې ترسره کیدی شي، یا مخکې له لارېایم ایل پورټل .
- کمپیوټري د کمپیوټر سرچینې ټاکي په کوم کې چې روزنه به ترسره شي. تاسو کولی شئ محلي کمپیوټر، یا د AmlCompute کلاوډ کلستر غوره کړئ. زه وړاندیز کوم چې د ماشینونو د توزیع وړ کلستر جوړ کړئ
-
بیا تاسو اړتیا لرئ یو ترتیب غوره کړئ د محاسبې ترتیب، کوم چې د روزنې لپاره رامینځته شوي کانټینر پیرامیټونه تعریفوي ، په ځانګړي توګه ټول اړین کتابتونونه. زموږ په قضیه کې، له هغه ځایه چې موږ د سکیکټ زده کړه کاروو، موږ غوره کوو SkLearn، او بیا په ساده ډول د Enter په کلیک کولو سره د کتابتونونو وړاندیز شوی لیست تایید کړئ. که تاسو کوم اضافي کتابتونونه کاروئ، دوی باید دلته مشخص شي.
-
له دې وروسته، یوه کړکۍ به د JSON فایل سره پرانیزي چې تجربه بیانوي. تاسو کولی شئ پدې کې ځینې پیرامیټونه سم کړئ، د بیلګې په توګه، د تجربې نوم. له هغې وروسته په لینک کلیک وکړئ تجربه وړاندې کړئ د دې فایل دننه:
- د VS کوډ له لارې په بریالیتوب سره د تجربې سپارلو وروسته، په ښي خوا کې د خبرتیا په ساحه کې تاسو به یو لینک وګورئ
Azure ML پورټل ، چیرې چې تاسو کولی شئ د تجربې حالت او پایلې تعقیب کړئ.
وروسته، تاسو کولی شئ دا تل په برخه کې ومومئ تجربې
- که تاسو وروسته په کوډ کې ځینې اصالحات کړي یا پارامترونه بدل کړي، د تجربې بیا پیل کول به خورا ګړندي او اسانه وي. په فایل کې د ښیې کلیک کولو سره ، تاسو به یو نوی مینو توکي وګورئ وروستۍ منډې تکرار کړئ - یوازې دا غوره کړئ او تجربه به سمدلاسه پیل شي:
تاسو کولی شئ تل د Azure ML پورټل له ټولو منډو څخه د میټریک پایلې ومومئ؛ د دوی ثبتولو ته اړتیا نشته.
اوس تاسو پوهیږئ چې د Azure ML په کارولو سره تجربې چلول اسانه ، بې درده ، او د ځینې په زړه پورې ګټو سره راځي.
مګر تاسو ممکن ځینې زیانونه لیدلي وي. د مثال په توګه، دا د سکریپټ چلولو لپاره د پام وړ ډیر وخت نیولی. البته، په کانتینر کې د سکریپټ بسته کول او سرور ته یې ځای پرځای کول وخت نیسي. که کلسټر د 0 نوډونو اندازې ته راټیټ شوی وي ، نو دا به د مجازی ماشین پیل کولو لپاره ډیر وخت ونیسي ، او دا ټول خورا د پام وړ دي کله چې موږ د MNIST په څیر ساده ستونزې تجربه کوو چې په څو ثانیو کې حل کیږي. په هرصورت، په ریښتیني ژوند کې، کله چې روزنه څو ساعته دوام کوي، یا حتی ورځې یا اونۍ، دا اضافي وخت مهم کیږي، په ځانګړې توګه د خورا لوړ فعالیت پس منظر په وړاندې چې د کمپیوټر کلستر کولی شي چمتو کړي.
څه راتلونکو؟
زه امید لرم چې د دې مقالې لوستلو وروسته ، تاسو کولی شئ د سکریپټونو چلولو ، د کمپیوټري سرچینو اداره کولو ، او په مرکزي توګه د پایلو ذخیره کولو لپاره ستاسو په کار کې Azure ML وکاروئ. په هرصورت، Azure ML کولی شي تاسو ته حتی ډیرې ګټې درکړي!
تاسو کولی شئ د کاري ځای دننه ډاټا ذخیره کړئ، په دې توګه ستاسو د ټولو دندو لپاره مرکزي ذخیره جوړه کړئ چې لاسرسی یې اسانه وي. سربیره پردې ، تاسو کولی شئ د لید سټوډیو کوډ پرځای د API په کارولو سره تجربې پرمخ وړئ - دا په ځانګړي توګه ګټور کیدی شي که تاسو د هایپرپرامیټر اصلاح کولو ته اړتیا لرئ او د مختلف پیرامیټونو سره ډیری ځله سکریپټ چلولو ته اړتیا لرئ. سربیره پردې، ځانګړې ټیکنالوژي په Azure ML کې جوړه شوې
ګټورې سرچینې
د Azure ML په اړه د نورو معلوماتو لپاره، تاسو ممکن د مایکروسافټ زده کړې لاندې کورسونه ګټور ومومئ:
د Azure ML خدمت پیژندنه د Azure ML خدمت سره د AI حلونه رامینځته کړئ د Azure ML خدمت په کارولو سره محلي ماډل ته روزنه ورکړئ
سرچینه: www.habr.com