څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ

زه ډیری ډیټا ساینس پوهان پیژنم - او زه شاید یو له دوی څخه یم - څوک چې د GPU ماشینونو کې کار کوي ، ځایی یا مجازی ، په کلاوډ کې موقعیت لري ، یا د جوپیټر نوټ بوک له لارې یا د یو ډول پیتون پرمختیا چاپیریال له لارې. په AI/ML کې د متخصص پراختیا کونکي په توګه د 2 کلونو لپاره کار کول، ما دا په سمه توګه ترسره کړل، پداسې حال کې چې په منظم سرور یا ورک سټیشن کې ډاټا چمتو کول، او په Azure کې د GPU سره په مجازی ماشین کې روزنه پرمخ وړم.

البته، موږ ټولو په اړه اوریدلي دي د Azure ماشین زده کړه - د ماشین زده کړې لپاره ځانګړی کلاوډ پلیټ فارم. په هرصورت، په لومړي نظر کې وروسته تعارفي مقالې، داسې ښکاري چې 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 کاري ځای او Azure ML پورټل

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. دا به د VS کوډ کمانډ لاین ساحه کې د ډیالوګونو لړۍ تعقیب شي: خپل ګډون او Azure ML کاري ځای تایید کړئ ، او غوره کړئ نوې تجربه جوړه کړئ:

څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ
څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ
څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ

  1. د نوي کمپیوټري سرچینې رامینځته کولو لپاره غوره کړئ نوی کمپیوټر جوړ کړئ:

    • کمپیوټري د کمپیوټر سرچینې ټاکي په کوم کې چې روزنه به ترسره شي. تاسو کولی شئ محلي کمپیوټر، یا د AmlCompute کلاوډ کلستر غوره کړئ. زه وړاندیز کوم چې د ماشینونو د توزیع وړ کلستر جوړ کړئ STANDARD_DS3_v2، د ماشینونو لږترلږه شمیر سره 0 (او اعظمي یې 1 یا ډیر کیدی شي ، ستاسو د اشتها پورې اړه لري). دا د VS کوډ انٹرفیس له لارې ترسره کیدی شي، یا مخکې له لارې ایم ایل پورټل.

    څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ

  2. بیا تاسو اړتیا لرئ یو ترتیب غوره کړئ د محاسبې ترتیب، کوم چې د روزنې لپاره رامینځته شوي کانټینر پیرامیټونه تعریفوي ، په ځانګړي توګه ټول اړین کتابتونونه. زموږ په قضیه کې، له هغه ځایه چې موږ د سکیکټ زده کړه کاروو، موږ غوره کوو SkLearn، او بیا په ساده ډول د Enter په کلیک کولو سره د کتابتونونو وړاندیز شوی لیست تایید کړئ. که تاسو کوم اضافي کتابتونونه کاروئ، دوی باید دلته مشخص شي.

    څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ
    څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ

  3. له دې وروسته، یوه کړکۍ به د JSON فایل سره پرانیزي چې تجربه بیانوي. تاسو کولی شئ پدې کې ځینې پیرامیټونه سم کړئ، د بیلګې په توګه، د تجربې نوم. له هغې وروسته په لینک کلیک وکړئ تجربه وړاندې کړئ د دې فایل دننه:

څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ

  1. د VS کوډ له لارې په بریالیتوب سره د تجربې سپارلو وروسته، په ښي خوا کې د خبرتیا په ساحه کې تاسو به یو لینک وګورئ Azure ML پورټل، چیرې چې تاسو کولی شئ د تجربې حالت او پایلې تعقیب کړئ.

څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ
وروسته، تاسو کولی شئ دا تل په برخه کې ومومئ تجربې Azure ML پورټل، یا په برخه کې د Azure ماشین زده کړه د تجربو په لیست کې:

څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ

  1. که تاسو وروسته په کوډ کې ځینې اصالحات کړي یا پارامترونه بدل کړي، د تجربې بیا پیل کول به خورا ګړندي او اسانه وي. په فایل کې د ښیې کلیک کولو سره ، تاسو به یو نوی مینو توکي وګورئ وروستۍ منډې تکرار کړئ - یوازې دا غوره کړئ او تجربه به سمدلاسه پیل شي:

څنګه ویره لرې کړئ او د Azure ماشین زده کړې کارول پیل کړئ
تاسو کولی شئ تل د Azure ML پورټل له ټولو منډو څخه د میټریک پایلې ومومئ؛ د دوی ثبتولو ته اړتیا نشته.

اوس تاسو پوهیږئ چې د Azure ML په کارولو سره تجربې چلول اسانه ، بې درده ، او د ځینې په زړه پورې ګټو سره راځي.

مګر تاسو ممکن ځینې زیانونه لیدلي وي. د مثال په توګه، دا د سکریپټ چلولو لپاره د پام وړ ډیر وخت نیولی. البته، په کانتینر کې د سکریپټ بسته کول او سرور ته یې ځای پرځای کول وخت نیسي. که کلسټر د 0 نوډونو اندازې ته راټیټ شوی وي ، نو دا به د مجازی ماشین پیل کولو لپاره ډیر وخت ونیسي ، او دا ټول خورا د پام وړ دي کله چې موږ د MNIST په څیر ساده ستونزې تجربه کوو چې په څو ثانیو کې حل کیږي. په هرصورت، په ریښتیني ژوند کې، کله چې روزنه څو ساعته دوام کوي، یا حتی ورځې یا اونۍ، دا اضافي وخت مهم کیږي، په ځانګړې توګه د خورا لوړ فعالیت پس منظر په وړاندې چې د کمپیوټر کلستر کولی شي چمتو کړي.

څه راتلونکو؟

زه امید لرم چې د دې مقالې لوستلو وروسته ، تاسو کولی شئ د سکریپټونو چلولو ، د کمپیوټري سرچینو اداره کولو ، او په مرکزي توګه د پایلو ذخیره کولو لپاره ستاسو په کار کې Azure ML وکاروئ. په هرصورت، Azure ML کولی شي تاسو ته حتی ډیرې ګټې درکړي!

تاسو کولی شئ د کاري ځای دننه ډاټا ذخیره کړئ، په دې توګه ستاسو د ټولو دندو لپاره مرکزي ذخیره جوړه کړئ چې لاسرسی یې اسانه وي. سربیره پردې ، تاسو کولی شئ د لید سټوډیو کوډ پرځای د API په کارولو سره تجربې پرمخ وړئ - دا په ځانګړي توګه ګټور کیدی شي که تاسو د هایپرپرامیټر اصلاح کولو ته اړتیا لرئ او د مختلف پیرامیټونو سره ډیری ځله سکریپټ چلولو ته اړتیا لرئ. سربیره پردې، ځانګړې ټیکنالوژي په Azure ML کې جوړه شوې هایپرډریو، کوم چې د ډیر پیچلي لټون او د هایپرپرامیټرونو اصلاح کولو ته اجازه ورکوي. زه به زما په راتلونکي پوسټ کې د دې امکاناتو په اړه وغږیږم.

ګټورې سرچینې

د Azure ML په اړه د نورو معلوماتو لپاره، تاسو ممکن د مایکروسافټ زده کړې لاندې کورسونه ګټور ومومئ:

سرچینه: www.habr.com

Add a comment