Logz.io ایمیزون سیج میکر کے ساتھ ایم ایل کی سفارشات اور بے ضابطگی کا پتہ لگانے کے حل کو کیسے تیز کرتا ہے

ماخذ نوڈ: 1594837

Logz.io کے ساتھ AWS پارٹنر نیٹ ورک (APN) ایڈوانسڈ ٹیکنالوجی پارٹنر ہے۔ DevOps، سیکورٹی، اور ڈیٹا اور تجزیات میں AWS قابلیت. Logz.io ایک سافٹ ویئر بطور سروس (SaaS) مشاہداتی پلیٹ فارم پیش کرتا ہے جو لاگ، میٹرک، اور ٹریسنگ اینالیٹکس کے لیے بہترین اوپن سورس سافٹ ویئر حل پر مبنی ہے۔ صارفین اپنی ایپلیکیشنز اور خدمات کی صحت اور کارکردگی کو منظم کرنے کے لیے مختلف ڈیٹا ذرائع سے Logz.io کو ڈیٹا کی بڑھتی ہوئی مقدار بھیج رہے ہیں۔ یہ ان نئے صارفین کے لیے زبردست ہو سکتا ہے جو وقت کے ساتھ ساتھ بنائے گئے مختلف ڈیش بورڈز پر نیویگیٹ کرنا چاہتے ہیں، مختلف الرٹ نوٹیفیکیشنز پر کارروائی کرتے ہیں، اور پروڈکشن کے مسائل کا ازالہ کرتے وقت نقطوں کو جوڑتے ہیں۔

پتہ لگانے کے لیے اوسط وقت (MTTD) اور ریزولوشن کے لیے اوسط وقت (MTTR) ہمارے صارفین کے لیے کلیدی میٹرکس ہیں۔ ان کا شمار اس وقت کی پیمائش کرکے کیا جاتا ہے جب ہمارے پلیٹ فارم میں صارف کسی مسئلے کی تفتیش شروع کرتا ہے (جیسے پروڈکشن سروس ڈاؤن) اس مقام تک جب وہ پلیٹ فارم میں ایسی کارروائیاں کرنا بند کر دیتے ہیں جو مخصوص تفتیش سے متعلق ہیں۔

MTTD اور MTTR کو کم کرنے میں صارفین کی مدد کرنے کے لیے، Logz.io متعلقہ ڈیش بورڈز اور سوالات کے لیے سفارشات فراہم کرنے اور خود سیکھنے کے ذریعے بے ضابطگی کا پتہ لگانے کے لیے مشین لرننگ (ML) کی طرف رجوع کر رہا ہے۔ نتیجے کے طور پر، اوسط صارف اپنی پوری کمپنی کے مجموعی تجربے سے لیس ہوتا ہے، جو بہت سے لوگوں کی حکمت کا فائدہ اٹھاتا ہے۔ ہم نے پایا کہ ہمارا حل MTTR کو 20% تک کم کر سکتا ہے۔

جیسے جیسے MTTD کم ہوتا ہے، صارفین مسئلے کی شناخت کر سکتے ہیں اور اسے تیزی سے حل کر سکتے ہیں۔ ہماری ڈیٹا سیمینٹک پرت میں تفتیش شروع کرنے اور روکنے کے لیے سیمنٹکس شامل ہیں، اور صارف کی جانب سے مخصوص الرٹ کے حوالے سے کیے جانے والے ہر عمل کی مقبولیت۔

اس پوسٹ میں، ہم اشتراک کرتے ہیں کہ Logz.io کو کس طرح استعمال کیا گیا۔ ایمیزون سیج میکر ہمارے ثبوت کے تصور (POC) کے لیے وقت اور محنت کو کم کرنے کے لیے، تحقیق سے لے کر پیداوار کی تشخیص تک کے تجربات، اور ہم نے اپنی پیداواری تخمینہ لاگت کو کیسے کم کیا۔

للکار

Logz.io نے SageMaker کا استعمال کرنے تک، POC ٹیسٹنگ اور پروڈکشن پر تجربات کے درمیان کا وقت کافی لمبا تھا۔ اس کی وجہ یہ تھی کہ ہمیں ڈیٹا اکٹھا کرنے، صاف کرنے اور معمول پر لانے کے لیے Spark جابز بنانے کی ضرورت تھی۔ ڈی او اوپس کو ہر ڈیٹا سورس کو پڑھنے کے لیے اس کام کی ضرورت ہوتی ہے۔ DevOps اور ڈیٹا انجینئرنگ کی مہارتیں ہماری ML ٹیم کا حصہ نہیں ہیں، اور اس کی وجہ سے ٹیموں کے درمیان زیادہ انحصار ہوا۔

ایک اور چیلنج یہ تھا کہ ہم اپنی مصنوعات کو ML انفرنس سروس فراہم کریں جبکہ بہترین لاگت بمقابلہ کارکردگی کا تناسب حاصل کریں۔ ہمارا بہترین منظر نامہ ایک کمپیوٹنگ یونٹ کے لیے زیادہ سے زیادہ ماڈلز کی حمایت کر رہا ہے، جبکہ بہت سے ماڈلز کے ساتھ صارفین کی طرف سے اعلی ہم آہنگی فراہم کر رہا ہے۔ ہمارے قیاس وقت میں لچک تھی، کیونکہ انفرنس سروس کے لیے ڈیٹا اسٹریم کی ہماری ابتدائی ونڈو لاگز کی 5 منٹ کی بالٹی ہے۔

تحقیق کا مرحلہ

ڈیٹا سائنس ایک تکراری عمل ہے جس میں تحقیق کے لیے ایک انٹرایکٹو ڈیولپمنٹ ماحول کی ضرورت ہوتی ہے، ہر تکرار اور ڈیٹا پروسیسنگ پر ڈیٹا آؤٹ پٹ کی توثیق ہوتی ہے۔ لہذا، ہم اپنے ایم ایل محققین کو نوٹ بک استعمال کرنے کی ترغیب دیتے ہیں۔

تکرار کے چکر کو تیز کرنے کے لیے، ہم اپنی نوٹ بک کے کوڈ کو اصلی پروڈکشن ڈیٹا پر جانچنا چاہتے تھے، جبکہ اسے پیمانے پر چلاتے ہوئے۔ مزید برآں، ہم پیداوار میں ابتدائی ٹیسٹ کے دوران DevOps اور ڈیٹا انجینئرنگ کی رکاوٹ سے بچنا چاہتے تھے، جبکہ آؤٹ پٹ دیکھنے کی صلاحیت رکھتے تھے اور کوڈ کے رن ٹائم کا اندازہ لگانے کی کوشش کرتے تھے۔

اس کو نافذ کرنے کے لیے، ہم اپنی ڈیٹا سائنس ٹیم کو تحقیق سے لے کر پیداوار کے ابتدائی ٹیسٹ تک مکمل کنٹرول اور آخر سے آخر تک ذمہ داری فراہم کرنا چاہتے تھے۔ ڈیٹا تک رسائی کے انتظام کو محفوظ رکھتے ہوئے اور اس رسائی کی نگرانی کرتے ہوئے ہمیں آسانی سے ڈیٹا کھینچنے کے لیے ان کی ضرورت تھی۔ رن ٹائم اور متوقع اخراجات کی نگرانی کرتے ہوئے، انہیں اپنی مرضی کے مطابق پی او سی نوٹ بک کو آسانی سے توسیع پذیر طریقے سے پروڈکشن میں تعینات کرنے کی ضرورت ہے۔

تشخیص کا مرحلہ

اس مرحلے کے دوران، ہم نے کچھ ML پلیٹ فارمز کا جائزہ لیا تاکہ تربیت اور خدمت دونوں کی ضروریات کو پورا کیا جا سکے۔ ہم نے پایا کہ SageMaker ہمارے استعمال کے معاملات کے لیے سب سے موزوں ہے کیونکہ یہ تربیت اور تخمینہ دونوں کو سپورٹ کرتا ہے۔ مزید برآں، یہ حسب ضرورت ہے، لہذا ہم اسے اپنے ترجیحی تحقیقی عمل کے مطابق تیار کر سکتے ہیں۔

ابتدائی طور پر، ہم نے مقامی نوٹ بک سے آغاز کیا، مختلف لائبریریوں کی جانچ کی۔ ہمیں پروڈکشن سے بڑے پیمانے پر ڈیٹا نکالنے میں دشواری کا سامنا کرنا پڑا۔ بعد میں، ہم ماڈلنگ کے ایک ایسے مرحلے میں پھنس گئے جس میں مقامی مشین پر کئی گھنٹے لگے۔

ہم نے بہت سے حلوں کا جائزہ لیا اور آخر کار درج ذیل فن تعمیر کا انتخاب کیا:

  • ڈیٹا پلیٹ - کا اوپن سورس ورژن ڈیٹا پلیٹ ہماری اسپارک کو استعمال کرکے آسانی سے اپنے ڈیٹا کو کھینچنے اور اس میں شامل ہونے میں ہماری مدد کی۔ ایمیزون ای ایم آر ڈیٹا تک رسائی کی نگرانی کرتے ہوئے، ایک سادہ SQL کے ساتھ کلسٹرز
  • سیج میکر نوٹ بک مثال اور پروسیسنگ جابز - اس نے ہمیں رن ٹائم کی توسیع پذیری اور مشین کی اقسام اور ایم ایل فریم ورک کی لچک میں مدد کی، جبکہ ہمارے کوڈ کو گٹ کنکشن کے ذریعے تعاون کیا۔

ریسرچ فیز حل فن تعمیر

مندرجہ ذیل خاکہ تحقیق کے مرحلے کے حل کے فن تعمیر کی وضاحت کرتا ہے، اور مندرجہ ذیل اجزاء پر مشتمل ہے:

  • سیج میکر نوٹ بک - ڈیٹا سائنسدان ان کا استعمال کرتے ہیں۔ نوٹ بک ان کی تحقیق کرنے کے لئے.
  • AWS لیمبڈا فنکشن - او ڈبلیو ایس لامبڈا۔ ایک سرور لیس حل ہے جو ڈیمانڈ پر پروسیسنگ کا کام چلاتا ہے۔ یہ کام ایک ڈوکر کنٹینر کا استعمال کرتا ہے نوٹ بک کے ساتھ جو ہم اپنے تجربے کے دوران چلانا چاہتے ہیں، ساتھ میں اپنی تمام عام فائلوں کے ساتھ جن کو نوٹ بک کو سپورٹ کرنے کی ضرورت ہے (requirements.txt اور ایک علیحدہ نوٹ بک میں ملٹی پروسیسنگ فنکشنز کوڈ)۔
  • ایمیزون ای سی آر - ایمیزون لچکدار کنٹینر رجسٹری (ایمیزون ای سی آر) ہمارے ڈوکر کنٹینر کو اسٹور کرتا ہے۔
  • سیج میکر پروسیسنگ کا کام - ہم اسے چلا سکتے ہیں۔ ڈیٹا پروسیسنگ کا کام کسی بھی ایم ایل مشین پر، اور یہ ہماری نوٹ بک کو پیرامیٹرز کے ساتھ چلاتا ہے۔
  • ڈیٹا پلیٹ - یہ سروس ہمیں SQL استعمال کرنے اور ڈیٹا کے متعدد ذرائع میں آسانی سے شامل ہونے میں مدد کرتی ہے۔ یہ اسپارک کوڈ میں ترجمہ کرتا ہے اور اسے بہتر بناتا ہے، جبکہ ڈیٹا تک رسائی کی نگرانی کرتا ہے اور ڈیٹا کی خلاف ورزیوں کو کم کرنے میں مدد کرتا ہے۔ Xtra ورژن نے اور بھی زیادہ صلاحیتیں فراہم کیں۔
  • ایمیزون ای ایم آر - یہ سروس ہمارے ڈیٹا کے اخراج کو Spark پر کام کے بوجھ کے طور پر چلاتی ہے، ہمارے تمام ڈیٹا وسائل سے رابطہ کرتی ہے۔

سیج میکر نوٹ بک انسٹینس لائف سائیکل کے ساتھ، ہم زیادہ سے زیادہ نوٹ بک مثال کے رن ٹائم کو کنٹرول کر سکتے ہیں، autostop.py سانچے سکرپٹ.

ML فریم ورک کی جانچ کے بعد، ہم نے اپنے کلسٹرنگ اور درجہ بندی کے مراحل کے لیے SageMaker MXNet کرنل کا انتخاب کیا۔

اپنے پروڈکشن ڈیٹا پر نوٹ بک کوڈ کو جانچنے کے لیے، ہم نے نوٹ بک کو Docker کے ذریعے Amazon ECS میں انکیپسول کر کے چلایا اور مختلف قسم کی مشینوں پر زیادہ سے زیادہ رن ٹائم کی توثیق کرنے کے لیے اسے ایک پروسیسنگ جاب کے طور پر چلایا۔

ڈاکر کنٹینر نوٹ بک کے ٹیسٹوں کے درمیان وسائل کا اشتراک کرنے میں بھی ہماری مدد کرتا ہے۔ کچھ صورتوں میں، ایک نوٹ بک دوسرے نوٹ بکوں کو بڑے ڈیٹا فریموں کو چھوٹے ڈیٹا فریموں میں تقسیم کر کے ملٹی پروسیس استعمال کرنے کے لیے کال کرتی ہے، جو کہ ایک بڑی مشین کی قسم میں ہر vCPU پر بیک وقت چل سکتی ہے۔

ریئل ٹائم پروڈکشن انفرنس حل

تحقیق کے مرحلے میں، ہم نے Parquet کا استعمال کیا۔ ایمیزون سادہ اسٹوریج سروس (ایمیزون S3) فائلیں ہماری سفارشات کو برقرار رکھنے کے لیے۔ یہ ہماری انجینئرنگ پائپ لائن سے دن میں ایک بار استعمال ہوتے ہیں تاکہ سفارشات کو ہمارے الرٹس کے طریقہ کار سے منسلک کیا جا سکے۔

تاہم، ہمارے روڈ میپ کو زیادہ ریفریش ریٹ حل کی ضرورت ہے اور دن میں ایک بار کھینچنا طویل مدت میں کافی نہیں ہے، کیونکہ ہم تحقیقات کے دوران بھی سفارشات فراہم کرنا چاہتے ہیں۔

اس حل کو پیمانے پر لاگو کرنے کے لیے، ہم نے اپنی بے ضابطگی کا پتہ لگانے والی تحقیق میں SageMaker اینڈ پوائنٹ کے بیشتر حلوں کا تجربہ کیا۔ ہم نے مختلف اقسام کی واحد اینڈ پوائنٹ مشین کے ساتھ پہلے سے بنائے گئے 500 ماڈلز کا تجربہ کیا اور اختتامی نقطہ پر درخواستوں کو انجام دینے کے لیے کنکرنٹ ملٹی تھریڈڈ کلائنٹس کا استعمال کیا۔ ہم نے جوابی وقت، CPU، میموری، اور دیگر میٹرکس کی پیمائش کی (مزید معلومات کے لیے، دیکھیں Amazon CloudWatch کے ساتھ Amazon SageMaker کی نگرانی کریں۔)۔ ہم نے پایا کہ ملٹی ماڈل اینڈ پوائنٹ ہمارے استعمال کے معاملات کے لیے بالکل موزوں ہے۔

فلاسک (یا دیگر ازگر) ویب سروسز کو استعمال کرنے کے لیے ایک ملٹی ماڈل اینڈ پوائنٹ ہماری لاگت کو ڈرامائی طور پر کم کر سکتا ہے، کسی ایک اینڈ پوائنٹ یا یہاں تک کہ Kubernetes کے مقابلے میں۔ ہمارا پہلا مفروضہ یہ تھا کہ ہمیں ہر گاہک کے لیے 4-vCPU چھوٹی مشین کا استعمال کرتے ہوئے، ایک واحد اختتامی نقطہ فراہم کرنا چاہیے، اور اوسطاً چار مخصوص ماڈلز سے استفسار کرنا چاہیے، کیونکہ ہر vCPU ایک ماڈل پیش کرتا ہے۔ ملٹی ماڈل اینڈ پوائنٹ کے ساتھ، ہم ایک ہی ملٹی اینڈ پوائنٹ مشین پر زیادہ سے زیادہ صارفین کو جمع کر سکتے ہیں۔

ہمارے پاس فی گاہک ایک ماڈل اور انکوڈنگ فائلیں تھیں، اور لوڈ ٹیسٹ کرنے کے بعد، ہم نے طے کیا کہ ہم 50 کسٹمرز کی خدمت کر سکتے ہیں، ہر ایک 10 ماڈلز کا استعمال کرتا ہے اور یہاں تک کہ اپنے حل کے لیے سب سے چھوٹی ml.t2.medium مثال استعمال کر سکتا ہے۔

اس مرحلے میں، ہم نے استعمال کرنے پر غور کیا۔ ملٹی ماڈل اینڈ پوائنٹس. ملٹی ماڈل اینڈ پوائنٹس ماڈلز کی ایک بڑی تعداد کو تعینات کرنے کے لیے ایک قابل توسیع اور لاگت سے موثر حل فراہم کرتے ہیں، جس سے آپ کو ایک ہی انفرنس کنٹینر کے ساتھ متعدد ماڈلز کی میزبانی کرنے کا اہل بناتا ہے۔ یہ ایک سے زیادہ چھوٹے سنگل ماڈل اینڈ پوائنٹس کے استعمال کے مقابلے میں اختتامی نقطہ کے استعمال کو بہتر بنا کر ہوسٹنگ کے اخراجات کو کم کرتا ہے جو ہر ایک ایک صارف کو پیش کرتا ہے۔ یہ تعیناتی اوور ہیڈ کو بھی کم کرتا ہے کیونکہ SageMaker ماڈلز کو میموری میں لوڈ کرنے اور ان پر ٹریفک پیٹرن کی بنیاد پر اسکیلنگ کا انتظام کرتا ہے۔

مزید برآں، ملٹی ماڈل اینڈ پوائنٹ کا فائدہ یہ ہے کہ اگر آپ کے پاس مخصوص کسٹمرز کی جانب سے اعلیٰ تخمینہ کی شرح ہے، تو اس کا فریم ورک بہتر کارکردگی کے لیے آخری سرونگ ماڈلز کو میموری میں محفوظ رکھتا ہے۔

ملٹی ماڈل اینڈ پوائنٹس بمقابلہ معیاری اختتامی پوائنٹس کا استعمال کرتے ہوئے لاگت کا تخمینہ لگانے کے بعد، ہمیں پتہ چلا کہ یہ ممکنہ طور پر تقریباً 80% کی لاگت میں کمی کا باعث بن سکتا ہے۔

نتیجہ

اس سیکشن میں، ہم اقدامات اور عمل کے نتائج کا جائزہ لیتے ہیں۔

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

#!/bin/bash # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"). You
# may not use this file except in compliance with the License. A copy of
# the License is located at
#
# http://aws.amazon.com/apache2.0/
#
# or in the "license" file accompanying this file. This file is
# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
# ANY KIND, either express or implied. See the License for the specific
# language governing permissions and limitations under the License. set -e # OVERVIEW
# This script installs the sagemaker_run_notebook extension package in SageMaker Notebook Instance
#
# There are two parameters you need to set:
# 1. S3_LOCATION is the place in S3 where you put the extension tarball
# 2. TARBALL is the name of the tar file that you uploaded to S3. You should just need to check
# that you have the version right.
sudo -u ec2-user -i <<'EOF'
# PARAMETERS
VERSION=0.18.0
EXTENSION_NAME=sagemaker_run_notebook
# Set up the user setting and workspace directories
mkdir -p /home/ec2-user/SageMaker/.jupyter-user/{workspaces,user-settings}
# Run in the conda environment that the Jupyter server uses so that our changes are picked up
source /home/ec2-user/anaconda3/bin/activate JupyterSystemEnv
# Install the extension and rebuild JupyterLab so it picks up the new UI
aws s3 cp s3://aws-emr-resources-11111111-us-east-1/infra-sagemaker/sagemaker_run_notebook-0.18.0-Logz-latest.tar.gz ./sagemaker_run_notebook-0.18.0-Logz-latest.tar.gz
pip install sagemaker_run_notebook-0.18.0-Logz-latest.tar.gz jupyter lab build
source /home/ec2-user/anaconda3/bin/deactivate
EOF # sudo -u ec2-user -i <<'EOF'
# PARAMETERS
for PACKAGE in pandas dataplate awswrangler==2.0.0 ipynb==0.5.1 prison==0.1.3 PyMySQL==0.10.1 requests==2.25.0 scipy==1.5.4 dtaidistance joblib sagemaker_run_notebook-0.18.0-Logz-latest.tar.gz fuzzywuzzy==0.18.0; do echo $PACKAGE # Note that "base" is special environment name, include it there as well. for env in base /home/ec2-user/anaconda3/envs/*; do source /home/ec2-user/anaconda3/bin/activate $(basename "$env") if [ $env = 'JupyterSystemEnv' ]; then continue fi pip install --upgrade "$PACKAGE" source /home/ec2-user/anaconda3/bin/deactivate done
done
jupyter lab build # Tell Jupyter to use the user-settings and workspaces directory on the EBS
# volume.
echo "export JUPYTERLAB_SETTINGS_DIR=/home/ec2-user/SageMaker/.jupyter-user/user-settings" >> /etc/profile.d/jupyter-env.sh
echo "export JUPYTERLAB_WORKSPACES_DIR=/home/ec2-user/SageMaker/.jupyter-user/workspaces" >> /etc/profile.d/jupyter-env.sh # The Jupyter server needs to be restarted to pick up the server part of the
# extension. This needs to be done as root.
initctl restart jupyter-server --no-wait # OVERVIEW
# This script stops a SageMaker notebook once it's idle for more than 2 hour (default time)
# You can change the idle time for stop using the environment variable below.
# If you want the notebook the stop only if no browsers are open, remove the --ignore-connections flag
#
# Note that this script will fail if either condition is not met
# 1. Ensure the Notebook Instance has internet connectivity to fetch the example config
# 2. Ensure the Notebook Instance execution role permissions to SageMaker:StopNotebookInstance to stop the notebook
# and SageMaker:DescribeNotebookInstance to describe the notebook.
# PARAMETERS
IDLE_TIME=3600 echo "Fetching the autostop script"
wget https://raw.githubusercontent.com/aws-samples/amazon-sagemaker-notebook-instance-lifecycle-config-samples/master/scripts/auto-stop-idle/autostop.py echo "Starting the SageMaker autostop script in cron" (crontab -l 2>/dev/null; echo "*/5 * * * * /usr/bin/python $PWD/autostop.py --time $IDLE_TIME --ignore-connections") | crontab -

ہم کلون sagemaker-رن-نوٹ بک GitHub پروجیکٹ، اور کنٹینر میں درج ذیل شامل کریں:

  • ہماری پائپ کی ضروریات
  • ایک نوٹ بک کے اندر سے نوٹ بک چلانے کی صلاحیت، جو ہمیں تمام ml.m5.12xlarge مثال کے کور کو استعمال کرنے کے لیے ملٹی پروسیسنگ رویے کے قابل بناتی ہے۔

یہ ہمیں ورک فلو کو چلانے کے قابل بناتا ہے جس میں کوڈ کی ایک لائن میں پروسیسنگ جابز کے طور پر چلنے والی بہت سی نوٹ بکس پر مشتمل ہوتا ہے، جبکہ چلانے کے لیے مثال کی قسم کی وضاحت کرتا ہے۔

چونکہ ہم نوٹ بک میں پیرامیٹرز شامل کر سکتے ہیں، اس لیے ہم ڈیٹا کو کھینچنے اور اس پر کارروائی کرنے کے لیے مختلف گھنٹوں، دنوں یا مہینوں میں ایک ساتھ چل کر اپنی پروسیسنگ کو پیمانہ بنا سکتے ہیں۔

ہم شیڈولنگ جابز بھی بنا سکتے ہیں جو نوٹ بک چلاتے ہیں (اور رن ٹائم کو بھی محدود کرتے ہیں)۔

ہم آخری رنز اور ان کی تفصیلات جیسے پروسیسنگ کا وقت بھی دیکھ سکتے ہیں۔

کنٹینر میں استعمال ہونے والی پیپرمل کے ساتھ، ہم ہر رن کی آؤٹ پٹ دیکھ سکتے ہیں، جس سے ہمیں پروڈکشن میں ڈیبگ کرنے میں مدد ملتی ہے۔

ہمارا نوٹ بک آؤٹ پٹ کا جائزہ معیاری صرف پڑھنے والی نوٹ بک کی شکل میں ہے۔

ملٹی پروسیسنگ کا استعمال ہمیں ہر نوٹ بک کی پروسیسنگ پر پیمائش کرنے اور اس کے تمام کور کو استعمال کرنے میں مدد کرتا ہے۔ ہم نے دوسری نوٹ بک میں ایسے فنکشنز بنائے ہیں جو بھاری پروسیسنگ کر سکتے ہیں، جیسے کہ درج ذیل:

  • JSONs کو پھٹنا
  • ڈیٹا فریم میں متعلقہ قطاریں تلاش کریں جب کہ مرکزی نوٹ بک ڈیٹا فریم کو اس میں تقسیم کرتی ہے۔ #cpu-cores عناصر
  • کلسٹرنگ فی الرٹ قسم کی کارروائیوں کو ایک ساتھ چلائیں۔

پھر ہم ان فنکشنل نوٹ بکس کو کنٹینر میں شامل کرتے ہیں جو نوٹ بک کو پروسیسنگ کے کام کے طور پر چلاتا ہے۔ مندرجہ ذیل ڈوکر فائل دیکھیں (کاپی کمانڈز پر غور کریں):

ARG BASE_IMAGE=need_an_image
FROM $BASE_IMAGE ENV JUPYTER_ENABLE_LAB yes
ENV PYTHONUNBUFFERED TRUE COPY requirements.txt /tmp/requirements.txt
RUN pip install papermill jupyter nteract-scrapbook boto3 requests==2.20.1
RUN pip install -r /tmp/requirements.txt ENV PYTHONUNBUFFERED=TRUE
ENV PATH="/opt/program:${PATH}" # Set up the program in the image
COPY multiprocessDownloadNormalizeFunctions.ipynb /tmp/multiprocessDownloadNormalizeFunctions.ipynb
COPY multiprocessFunctions.ipynb /tmp/multiprocessFunctions.ipynb
COPY run_notebook execute.py /opt/program/
ENTRYPOINT ["/bin/bash"] # because there is a bug where you have to be root to access the directories
USER root

نتائج کی نمائش

تحقیق کے مرحلے کے دوران، ہم نے اپنی نوٹ بک چلانے کے اختیار کا جائزہ لیا جیسا کہ تجربہ کرنے اور جانچنے کے لیے کہ ہمارا کوڈ ہمارے تمام متعلقہ ڈیٹا پر کیسے کارکردگی کا مظاہرہ کرتا ہے، نہ کہ صرف ڈیٹا کا نمونہ۔ ہم نے پایا کہ پروسیسنگ جابز کا استعمال کرتے ہوئے اپنی نوٹ بک کو انکیپسول کرنا ہمارے لیے بہت موزوں ہو سکتا ہے، کیونکہ ہمیں کوڈ کو دوبارہ لکھنے کی ضرورت نہیں ہے اور ہم AWS کمپیوٹ آپٹمائزڈ اور میموری آپٹیمائزڈ مثالوں کی طاقت کو استعمال کر سکتے ہیں اور عمل کی حالت کو آسانی سے فالو کر سکتے ہیں۔

تخمینہ کی تشخیص کے دوران، ہم نے SageMaker کے اختتامی نقطہ کے مختلف حلوں کا جائزہ لیا۔ ہم نے پایا کہ ملٹی ماڈل اینڈ پوائنٹ استعمال کرنے سے ہمیں تقریباً 50 کسٹمرز کی خدمت میں مدد مل سکتی ہے، ہر ایک کے پاس ایک ہی مثال میں متعدد (تقریباً 10) ماڈلز ہیں، جو ہماری کم تاخیر کی رکاوٹوں کو پورا کر سکتے ہیں، اور اس وجہ سے ہمیں لاگت کا 80% تک بچا سکتا ہے۔ .

اس حل فن تعمیر کے ساتھ، ہم اپنے صارفین کے MTTR کو کم کرنے میں کامیاب ہو گئے، جو ہمارے پلیٹ فارم کا استعمال کرتے ہوئے کامیابی کی پیمائش کے لیے ایک اہم میٹرک ہے۔ یہ ہمارے الرٹ لنک پر جواب دینے کے نقطہ سے کل وقت کو کم کر دیتا ہے، جو آپ کے سسٹمز میں کسی مسئلے کی وضاحت کرتا ہے، جب تک کہ آپ ہمارے پلیٹ فارم کا استعمال کرتے ہوئے مسئلہ کی تحقیقات مکمل کر لیتے ہیں۔ تفتیشی مرحلے کے دوران، ہم اپنے ML سفارشی حل کے ساتھ اور اس کے بغیر صارفین کے اعمال کی پیمائش کرتے ہیں۔ اس سے ہمیں مخصوص مسئلے کو تیزی سے حل کرنے اور مسئلے کی اصل وجہ کی نشاندہی کرنے کے لیے بے ضابطگیوں کی نشاندہی کرنے کے لیے بہترین کارروائی کے لیے سفارشات فراہم کرنے میں مدد ملتی ہے۔

نتیجہ اور اگلے اقدامات

اس پوسٹ میں، ہم نے اشتراک کیا کہ Logz.io نے کس طرح MTTD اور MTTR کو بہتر بنانے کے لیے SageMaker کا استعمال کیا۔

اگلے قدم کے طور پر، ہم درج ذیل خصوصیات کے ساتھ حل کو بڑھانے پر غور کر رہے ہیں:

ہم آپ کو آزمانے کی ترغیب دیتے ہیں۔ سیج میکر نوٹ بک. مزید مثالوں کے لیے، چیک کریں۔ سیج میکر کی مثالیں گٹ ہب ریپو.


مصنفین کے بارے میں

امیت گراس Logz.io کے ریسرچ ڈیپارٹمنٹ کی قیادت کر رہا ہے، جو کہ تمام Logz.io پروڈکٹس کے AI حل کے لیے ذمہ دار ہے، تحقیق کے مرحلے سے انضمام کے مرحلے تک۔ Logz.io سے پہلے امیت نے Here inc میں ڈیٹا سائنس اور سیکیورٹی ریسرچ گروپس کا انتظام کیا ہے۔ اور Cellebrite inc. امیت نے تل ابیب یونیورسٹی سے کمپیوٹر سائنس میں M.Sc کیا ہے۔

یانیو وکنین ایمیزون ویب سروسز میں مشین لرننگ کا ماہر ہے۔ AWS سے پہلے، Yaniv AI سٹارٹ اپس اور انٹرپرائز کے ساتھ قائدانہ عہدوں پر فائز تھے بشمول Dipsee.ai کے شریک بانی اور CEO۔ Yaniv حقیقی دنیا کے کاموں کو حل کرنے اور قدر حاصل کرنے کے لیے مشین لرننگ کی طاقت کو بروئے کار لانے کے لیے AWS صارفین کے ساتھ کام کرتا ہے۔ اپنے فارغ وقت میں، Yaniv اپنے لڑکوں کے ساتھ فٹ بال کھیلنا پسند کرتا ہے۔

ایتان سیلا ایمیزون ویب سروسز کے ساتھ مشین لرننگ اسپیشلسٹ سولیوشن آرکیٹیکٹ ہے۔ وہ AWS صارفین کے ساتھ رہنمائی اور تکنیکی مدد فراہم کرنے کے لیے کام کرتا ہے، AWS پر مشین لرننگ سلوشنز بنانے اور چلانے میں ان کی مدد کرتا ہے۔ اپنے فارغ وقت میں، Eitan جاگنگ اور جدید ترین مشین لرننگ آرٹیکلز پڑھنے سے لطف اندوز ہوتا ہے۔

ماخذ: https://aws.amazon.com/blogs/machine-learning/how-logz-io-accelerates-ml-recommendations-and-anomaly-detection-solutions-with-amazon-sagemaker/

ٹائم اسٹیمپ:

سے زیادہ AWS مشین لرننگ بلاگ