Amazon SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ریئل ٹائم ماڈلز کی تعیناتی کے ساتھ شروع کرنا۔ عمودی تلاش۔ عی

Amazon SageMaker پر ریئل ٹائم ماڈلز کی تعیناتی کے ساتھ شروع کرنا

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

  1. ریئل ٹائم انفرنس
  2. سرور کے بغیر اندازہ
  3. غیر مطابقت پذیر اندازہ
  4. بیچ ٹرانسفارم

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

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

ماڈل کی تعیناتی کا اختیار منتخب کرنا

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

سیج میکر اینڈ پوائنٹس پر ایک ماڈل کی میزبانی کرنا

Crux میں، SageMaker ریئل ٹائم اینڈ پوائنٹس ایک ماڈل اور انفراسٹرکچر پر مشتمل ہوتا ہے جس کے ساتھ آپ اینڈ پوائنٹ کو بیک کرنے کا انتخاب کرتے ہیں۔ SageMaker ماڈلز کی میزبانی کے لیے کنٹینرز کا استعمال کرتا ہے، جس کا مطلب ہے کہ آپ کو ایک ایسے کنٹینر کی ضرورت ہے جو آپ کے فراہم کردہ ہر ماڈل کے لیے استعمال کیے جانے والے فریم ورک کے لیے ماحول کو مناسب طریقے سے ترتیب دے۔ مثال کے طور پر، اگر آپ Sklearn ماڈل کے ساتھ کام کر رہے ہیں، تو آپ کو اپنے ماڈل کے اسکرپٹس/ڈیٹا کو ایک کنٹینر میں پاس کرنا ہوگا جو Sklearn کو صحیح طریقے سے ترتیب دیتا ہے۔ خوش قسمتی سے، SageMaker فراہم کرتا ہے منظم تصاویر مشہور فریم ورکس کے لیے، جیسے TensorFlow، PyTorch، Sklearn، اور HuggingFace۔ آپ اعلی سطح کا استعمال کرتے ہوئے ان تصاویر کو بازیافت اور استعمال کرسکتے ہیں۔ SageMaker Python SDK اور اپنے ماڈل اسکرپٹس اور ڈیٹا کو ان کنٹینرز میں داخل کریں۔ اس صورت میں کہ سیج میکر کے پاس معاون کنٹینر نہیں ہے، آپ بھی کر سکتے ہیں۔ اپنا کنٹینر خود بنائیں اور اپنی مرضی کے مطابق امیج کو آگے بڑھاتے ہوئے ان انحصارات کو انسٹال کریں جو آپ کے ماڈل کے لیے ضروری ہیں۔

سیج میکر تربیت یافتہ اور پہلے سے تربیت یافتہ دونوں ماڈلز کی حمایت کرتا ہے۔ پچھلے پیراگراف میں جب ہم ماڈل اسکرپٹس/ڈیٹا کے بارے میں بات کر رہے ہیں، ہم اس معاملے کا حوالہ دے رہے ہیں۔ آپ یا تو اپنے کنٹینر پر اسکرپٹ لگا سکتے ہیں، یا اگر آپ کے پاس پہلے سے تربیت یافتہ نمونہ ہے (مثال کے طور پر، `model.joblib` SKLearn کے لیے)، پھر آپ اسے اپنی تصویر کے ساتھ SageMaker کو فراہم کر سکتے ہیں۔ SageMaker Inference کو سمجھنے کے لیے، تین اہم ادارے ہیں جو آپ Endpoint تخلیق کے عمل میں تخلیق کریں گے:

  1. SageMaker Model Entity - یہاں آپ اپنے تربیت یافتہ ماڈل ڈیٹا/ماڈل اسکرپٹ اور اپنی تصویر جس کے ساتھ آپ کام کر رہے ہیں پاس کر سکتے ہیں، چاہے وہ AWS کی ملکیت ہو یا آپ کی بنائی ہوئی ہو۔
  2. اینڈ پوائنٹ کنفیگریشن تخلیق - یہاں آپ اپنے انفراسٹرکچر کی وضاحت کرتے ہیں، یعنی آپ مثال کی قسم، شمار وغیرہ کو منتخب کرتے ہیں۔
  3. اختتامی نقطہ تخلیق - یہ REST اختتامی نقطہ ہے جو آپ کے ماڈل کی میزبانی کرتا ہے جسے آپ جواب حاصل کرنے کے لیے کہہ رہے ہیں۔ آئیے دیکھتے ہیں کہ آپ کس طرح ایک مینیجڈ سیج میکر امیج اور اپنی مرضی کے مطابق بنائی گئی تصویر کو اینڈ پوائنٹ کو تعینات کرنے کے لیے استعمال کر سکتے ہیں۔

ریئل ٹائم اینڈ پوائنٹ کی ضروریات

  1. اینڈ پوائنٹ بنانے سے پہلے، آپ کو یہ سمجھنا چاہیے کہ آپ کس قسم کے ماڈل کی میزبانی کرنا چاہتے ہیں۔ اگر یہ ایک فریم ورک ماڈل ہے، جیسے TensorFlow، PyTorch، یا MXNet، تو آپ ان میں سے کسی ایک کو استعمال کر سکتے ہیں۔ پہلے سے تعمیر شدہ فریم ورک کی تصاویر.
    اگر یہ ایک حسب ضرورت ماڈل ہے، یا آپ کنٹینر بنانے میں مکمل لچک چاہتے ہیں جسے SageMaker اندازہ لگانے کے لیے چلائے گا، تو آپ اپنا کنٹینر خود بنا سکتے ہیں۔

سیج میکر اینڈ پوائنٹس سے بنا ہوا ہے a سیج میکر ماڈل اور اختتامی نقطہ کی ترتیب۔
اگر آپ Boto3 استعمال کر رہے ہیں، تو آپ دونوں اشیاء بنائیں گے۔ بصورت دیگر، اگر آپ SageMaker Python SDK استعمال کر رہے ہیں، تو آپ کی طرف سے اختتامی کنفیگریشن بن جاتی ہے جب آپ استعمال کرتے ہیں۔ .deploy(..) تقریب.

سیج میکر ادارے:

  • سیج میکر ماڈل:
    • انفرنس امیج کی تفصیلات پر مشتمل ہے، اس میں ماڈل کے نمونے کا مقام ایمیزون سادہ اسٹوریج سروس (ایمیزون S3)، نیٹ ورک کی ترتیب، اور AWS شناخت اور رسائی کا انتظام (IAM) اینڈ پوائنٹ کے ذریعے استعمال کیا جانے والا کردار۔
      • سیج میکر کو آپ کے ماڈل کے نمونے کو ایک میں کمپریس کرنے کی ضرورت ہے۔ .tar.gz فائل سیج میکر خود بخود اسے نکالتا ہے۔ .tar.gz میں فائل /opt/ml/model/ آپ کے کنٹینر میں ڈائریکٹری۔ اگر آپ فریم ورک کنٹینرز میں سے کسی ایک کو استعمال کر رہے ہیں، جیسے کہ TensorFlow، PyTorch، یا MXNet، تو کنٹینر آپ کی TAR کی ساخت کی توقع کرتا ہے:
        • TensorFlow
          model.tar.gz/
          |--[model_version_number]/
          |--variables
          |--saved_model.pb
          code/
          |--inference.py
          |--requirements.txt

        • پی ٹورچ
          model.tar.gz/
          |- model.pth
          |- code/
          |- inference.py
          |- requirements.txt # only for versions 1.3.1 and higher

        • ایم ایکس نیٹ
          model.tar.gz/
          |- model-symbol.json
          |- model-shapes.json
          |- model-0000.params
          |- code/
              |- inference.py
              |- requirements.txt # only for versions 1.6.0 and higher

        • سکلیرن
          model.tar.gz/
          |- model.joblib
          | code/ 
          |- inference.py

      • فریم ورک امیج کا استعمال کرتے وقت، ہم ایک حسب ضرورت انٹری پوائنٹ اسکرپٹ فراہم کر سکتے ہیں، جہاں ہم اپنی پری اور پوسٹ پروسیسنگ کو لاگو کر سکتے ہیں۔ ہمارے معاملے میں، inference اسکرپٹ /code ڈائریکٹری کے تحت model.tar.gz میں پیک کیا جاتا ہے۔
    • اختتامی نقطہ کی ترتیب
      • SageMaker ماڈل کو اینڈ پوائنٹ پر تعینات کرنے کے لیے درکار بنیادی ڈھانچے کی معلومات پر مشتمل ہے۔
      • مثال کے طور پر، ہم نے جو SageMaker ماڈل بنایا ہے اس کے ساتھ ساتھ مثال کی قسم اور ابتدائی مثال کی گنتی بھی یہاں بیان کی گئی ہے۔

فریم ورک اور BYOC

    • سیج میکر کی تصاویر کو بازیافت کرنا
      • یہ حصہ ہمیشہ ضروری نہیں ہوتا ہے اور SageMaker Python SDK کے ذریعہ تخمینوں کے ذریعے خلاصہ کیا جاتا ہے۔ تاہم، اگر آپ SageMaker کے زیر انتظام تصویر کو اس پر توسیع کے لیے بازیافت کرنا چاہتے ہیں، تو آپ وہ تصاویر حاصل کر سکتے ہیں جو SDK کے ذریعے دستیاب ہیں۔ مندرجہ ذیل ایک TF 2.2 امیج کو حاصل کرنے کی مثال ہے۔
        import sagemaker
        tf_image = sagemaker.image_uris.retreive(framework="tensorflow", region="us-east-1",
        image_scope = "inference", version = "2.2", instance_type = "ml.c5.xlarge)
        print(tf_image)

    • فریم ورک
      • اس صورت میں کہ آپ فریم ورک ماڈل، جیسے TensorFlow، PyTorch، یا MXNet کو تعینات کرنا چاہتے ہیں، تو آپ کو صرف ماڈل کے نمونے کی ضرورت ہے۔
      • ماڈل نمونے سے براہ راست ماڈلز کی تعیناتی کے لیے دستاویزات دیکھیں TensorFlow, پی ٹورچ، یا ایم ایکس نیٹ.
    • 1P اور BYOC کے درمیان انتخاب کرنا
      • SageMaker SDK بھی تصویر کو ہینڈل کرنے کا خلاصہ کرتا ہے، جیسا کہ آپ نے پچھلے فریم ورکس سیکشن میں دیکھا تھا۔ اس میں Sklearn، TensorFlow، اور PyTorch کے لیے تیار تخمینہ ہیں جو آپ کے منتخب کردہ ورژن کی بنیاد پر خود بخود آپ کے لیے تصویر کا انتخاب کرتے ہیں۔ پھر آپ ٹریننگ/انفرنس اسکرپٹ میں گزر سکتے ہیں۔ اسکرپٹ موڈ ان تخمینوں میں
        from sagemaker.pytorch import PyTorch #PyTorch Estimator within SageMaker SDK
        estimator_parameters = {"entry_point": "train_deploy_pytorch_without_dependencies.py",
        "source_dir": "pytorch_script","instance_type": train_instance_type,
        "instance_count": 1,"hyperparameters": hyperparameters,
        "role": role,"base_job_name": "pytorch-model","framework_version": "1.5",
        "py_version": "py3",}
        
        ## Model Training
        estimator = PyTorch(**estimator_parameters)estimator.fit(inputs)
        
        ## Deploy Trained model
        pytorch_predictor = estimator.deploy(initial_instance_count=1, instance_type="ml.m5.xlarge", endpoint_name=pytorch_endpoint_name)

      • تمام پیکجز اور تصاویر سیج میکر کے ذریعہ تعاون یافتہ نہیں ہیں، اور اس صورت میں آپ کو لازمی ہے۔ اپنا کنٹینر لائیں (BYOC)۔ اس کا مطلب ہے ایک Dockerfile بنانا جو آپ کے ماڈل کی خدمت کے لیے مناسب ماحول ترتیب دے گا۔ اس کی ایک مثال Spacy NLP ماڈیول ہے، اور اس فریم ورک کے لیے کوئی منظم SageMaker کنٹینرز نہیں ہیں۔ لہذا، آپ کو ایک Dockerfile فراہم کرنا چاہیے جو Spacy کو انسٹال کرے۔ کنٹینر کے اندر آپ اپنے ماڈل انفرنس اسکرپٹس کو بھی ماؤنٹ کرتے ہیں۔ آئیے فوری طور پر ان اجزاء پر تبادلہ خیال کریں جو آپ Bring Your Own Container فارمیٹ میں فراہم کرتے ہیں، کیونکہ یہ زیادہ تر مثالوں کے لیے مستقل رہتے ہیں۔
        • "nginx.conf" nginx فرنٹ اینڈ کے لیے کنفیگریشن فائل ہے۔ آپ کو اس فائل میں ترمیم کرنے کی ضرورت نہیں ہوگی، جب تک کہ آپ ان حصوں کو ٹیون نہیں کرنا چاہتے۔
        • "predictor.py" وہ پروگرام ہے جو دراصل آپ کی ایپلیکیشن کے لیے فلاسک ویب سرور اور ماڈل کوڈ کو لاگو کرتا ہے۔ آپ اپنے کنٹینر میں مزید Python فائلیں یا فنکشن رکھ سکتے ہیں جنہیں آپ اس فائل میں کال کر سکتے ہیں۔
        • "خدمت کرنا" کیا پروگرام شروع ہوتا ہے جب ہوسٹنگ کے لیے کنٹینر شروع ہوتا ہے۔ یہ آسانی سے گنی کارن سرور کو لانچ کرتا ہے، جو predictor.py میں بیان کردہ فلاسک ایپ کی متعدد مثالوں کو چلاتا ہے۔ nginx.conf کی طرح، آپ کو اس فائل میں ترمیم کرنے کی ضرورت نہیں ہے جب تک کہ مزید ٹیوننگ نہ ہو جسے آپ انجام دینا چاہتے ہیں۔
        • "ٹرین" وہ پروگرام ہے جسے تربیت کے لیے کنٹینر چلانے پر استعمال کیا جاتا ہے۔ آپ اپنے تربیتی الگورتھم کو نافذ کرنے کے لیے اس پروگرام میں ترمیم کریں گے۔ اگر آپ پہلے سے تربیت یافتہ ماڈل یا فریم ورک جیسے Spacy لا رہے ہیں، تو آپ کو اس فائل کی ضرورت نہیں ہے۔
        • "wsgi.py" فلاسک ایپ کو استعمال کرنے کے لیے استعمال ہونے والا ایک چھوٹا ریپر ہے۔ آپ کو اس فائل کو ویسے ہی لے جانے کے قابل ہونا چاہئے، جب تک کہ آپ نے اپنی predictor.py فائل کا نام تبدیل نہیں کیا ہے۔ اس صورت میں، اس بات کو یقینی بنائیں کہ نقشے یہاں صحیح طریقے سے ہیں۔
    • حسب ضرورت انفرنس اسکرپٹ
      • سیج میکر فریم ورک کنٹینرز آپ کو اپنی مرضی کے انٹری پوائنٹ اسکرپٹ/inference.py کا استعمال کرتے ہوئے درخواست کی پری/پوسٹ پروسیسنگ اور ماڈل لوڈنگ کو ہینڈل کرنے کی لچک فراہم کرتے ہیں۔
      • اپنی مرضی کے مطابق inference.py اسکرپٹ بنانے کے لیے دستاویزات دیکھیں TensorFlow, پی ٹورچ اور ایم ایکس نیٹ.
    • حسب ضرورت کنٹینر

مختلف طریقے جن سے آپ سیج میکر اینڈ پوائنٹس کے ساتھ تعامل کر سکتے ہیں۔

سیج میکر کو پروگرام کے لحاظ سے استعمال کرنے کے بہت سے اختیارات ہیں تاکہ آپ اپنے تعینات کردہ ماڈلز کو کال کر کے اندازہ حاصل کر سکیں۔ دی AWS کمانڈ لائن انٹرفیس (AWS CLI)، REST APIs، AWS کلاؤڈ فارمیشن, AWS کلاؤڈ ڈویلپمنٹ کٹ (AWS CDK)، اور AWS SDKs عام ٹولز ہیں جو AWS کے ذریعہ پیش کیے جاتے ہیں اور دیگر AWS سروسز کے ذریعہ وسیع پیمانے پر تعاون یافتہ ہیں۔ SageMaker کے لیے، ہمارے پاس SageMaker Python SDK بھی ہے۔ اب، آئیے سیج میکر اینڈ پوائنٹس بنانے، ان کو شروع کرنے اور ان کا نظم کرنے کے لیے مختلف اختیارات کا موازنہ کریں۔

کے علاوہ سیج میکر سی ایل آئی، پروگرام کے لحاظ سے دو طریقے ہیں کہ آپ SageMaker میں SDKs کے ذریعے Endpoints کے ساتھ تعامل کر سکتے ہیں۔ کے درمیان کچھ اختلافات کو دیکھتے ہیں SageMaker Python SDK اور Boto3 Python SDK:

  1. ہائی لیول SageMaker "Python" SDK - یہ SDK ایک اوپن سورس لائبریری ہے جو Python کا استعمال کرتے ہوئے پروگرامی طور پر SageMaker APIs کو کال کرنے کے لیے خاص طور پر اعلیٰ سطح کا خلاصہ فراہم کرتی ہے۔ اس SDK کا اچھا حصہ یہ ہے کہ سیج میکر APIs کو کال کرنا بہت آسان ہے، بہت ساری بھاری لفٹنگ پہلے سے ہی کی جاتی ہے جیسے APIs کو ہم وقت سازی سے کال کرنا/ async موڈ (پولنگ سے بچنے میں مدد کرتا ہے)، آسان درخواست/ رسپانس اسکیما، بہت کم کوڈ، اور بہت کچھ آسان کوڈ. SageMaker Python SDK SageMaker کے ساتھ کام کرنے کے لیے کئی اعلیٰ سطحی تجریدات فراہم کرتا ہے۔ پیکج کا مقصد سیج میکر پر مختلف ایم ایل کے عمل کو آسان بنانا ہے۔
  2. نچلی سطح کا AWS SDK (Boto3 SDK) - یہ SDK صارف کو معاون پروگرامنگ زبانوں میں سے انتخاب کرنے اور کسی بھی AWS خدمات کو پروگرام کے مطابق کال کرنے کی اجازت دے کر نچلی سطح پر کام کرتا ہے۔ یہ صرف SageMaker کے لیے مخصوص نہیں ہے بلکہ عام طور پر تمام AWS سروسز کے لیے استعمال کیا جا سکتا ہے۔ نچلے درجے کے AWS SDKs مختلف پروگرامنگ زبانوں میں دستیاب ہیں، جیسے کہ .NET، Python، Java، Node.js، وغیرہ۔ استعمال کیے جانے والے مقبول SDKs میں سے ایک boto3 python SDK ہے، جو ML کے لیے ڈیٹا سائنسدان کمیونٹی میں مقبول ہے۔ اس SDK کا اچھا حصہ یہ ہے کہ یہ بہت ہلکا پھلکا ہے اور بطور ڈیفالٹ انسٹال ہے۔ او ڈبلیو ایس لامبڈا۔ رن ٹائم۔ مزید برآں، آپ اس SDK کو SageMaker سے باہر کسی بھی AWS سروس کے ساتھ تعامل کرنے کے لیے استعمال کر سکتے ہیں۔

ان دونوں SDKs کو ایک ہی کام کے لیے استعمال کیا جا سکتا ہے، لیکن بعض صورتوں میں ایک کو دوسرے سے زیادہ استعمال کرنا زیادہ بدیہی ہے۔ SageMaker Python SDK کو آسان جانچ کے لیے تجویز کیا جاتا ہے جبکہ AWS SDK/Boto3 کی تجویز پروڈکشن کے استعمال کے معاملات کے لیے کارکردگی پر بہتر کنٹرول کے لیے کی جاتی ہے۔ مثال کے طور پر، SageMaker ایک سروس کے طور پر مقبول فریم ورکس، جیسے Sklearn، PyTorch، اور TensorFlow کے لیے پہلے سے تعمیر شدہ اور دیکھ بھال کی گئی تصاویر فراہم کرتا ہے۔ یہ خاص طور پر مفید ہو سکتا ہے SageMaker SDK کا استعمال کرتے ہوئے گہری سیکھنے کی تصاویر، ٹرین ماڈلز کو بازیافت کرنے کے لیے تخمینے لگانے والے، اور ایک سادہ API کال کا استعمال کرتے ہوئے ماڈل کو آسانی سے تعینات کریں۔ اس کو عملی جامہ پہنانے کی ایک مثال مل سکتی ہے۔ یہاں.

دوسری طرف، بعض اوقات آپ کے پاس پہلے سے تربیت یافتہ ماڈل یا مختلف فریم ورک ہوتے ہیں جنہیں آپ استعمال کر رہے ہوتے ہیں۔ اس کے لیے زیادہ سے زیادہ تخصیص کی ضرورت ہوتی ہے اور SageMaker SDK ہمیشہ اس کی پیشکش نہیں کرتا ہے۔ ہمارے پاس تین اہم مراحل اور متعلقہ boto3 API کالز ہیں جن پر ہمیں اختتامی نقطہ کی تعیناتی کے لیے عمل کرنے کی ضرورت ہے: ماڈل کی تخلیق, اینڈ پوائنٹ کنفیگریشن تخلیق، اور اختتامی نقطہ تخلیق. پہلے دو اداروں کو SageMaker SDK کے ساتھ ہمارے تعاون یافتہ فریم ورک کے ساتھ خلاصہ کیا گیا تھا، لیکن ہم ان تفصیلات کو Boto3 SDK کے ساتھ دیکھتے ہیں۔ ایک اختتامی نقطہ بنانے اور اس کا انتظام کرنے کے لیے Boto3 SDK کے استعمال میں شامل اقدامات کو ظاہر کرنے کے لیے ایک وسیع مثال مل سکتی ہے۔ یہاں.

سیج میکر ہوسٹنگ کے تحفظات

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

  1. آپ کون سا فریم ورک استعمال کر رہے ہیں؟
  2. کیا کوئی ماحولیاتی متغیرات ہیں جو آپ اپنے کنٹینر میں ٹیون کر سکتے ہیں؟

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

دیکھنے کے تین طریقے ہیں۔ استعمال کو بہتر بنانا آپ کے ریئل ٹائم اینڈ پوائنٹ کا:

  1. ملٹی ماڈل اینڈ پوائنٹس (MME)
    • آپ ایک ہی اختتامی نقطہ کے پیچھے ہزاروں ماڈلز کی میزبانی کر سکتے ہیں۔ یہ استعمال کے معاملات کے لیے بہترین ہے جہاں آپ کو اپنے ہر ایک ماڈل کے لیے وقف شدہ اختتامی نقطہ کی ضرورت نہیں ہے۔ MME بہترین کام کرتا ہے جب ماڈلز ایک جیسے سائز اور لیٹنسی ہوتے ہیں اور ایک ہی ML فریم ورک سے تعلق رکھتے ہیں۔ یہ عام طور پر استعمال کیے جا سکتے ہیں جب آپ کو ہر وقت ایک ہی ماڈل کو کال کرنے کی ضرورت نہیں ہوتی ہے۔ آپ اپنی درخواست کو پورا کرنے کے لیے متعلقہ ماڈل کو متحرک طور پر SageMaker اینڈ پوائنٹ پر لوڈ کر سکتے ہیں۔. ایک مثال جو ایم ایم ای کو عملی طور پر ظاہر کرتی ہے۔ یہاں. اگر آپ MME پر ماڈلز کی میزبانی کے لیے مختلف انتباہات اور بہترین طریقوں کے بارے میں مزید جاننا چاہتے ہیں، تو پوسٹ سے رجوع کریں۔ یہاں.
  2. ملٹی کنٹینر اینڈ پوائنٹس (MCE)
    • ایک سے زیادہ کنٹینرز کی میزبانی کے لیے متعدد اینڈ پوائنٹس استعمال کرنے کے بجائے، آپ ایک ہی اینڈ پوائنٹ پر 15 کنٹینرز تک کی میزبانی کو دیکھ سکتے ہیں۔ ان کنٹینرز میں سے ہر ایک کو براہ راست طلب کیا جاسکتا ہے۔ لہذا، آپ ایک ہی اختتامی نقطہ پر مختلف فریم ورک کے مختلف ماڈلز کی میزبانی کو دیکھ سکتے ہیں۔ یہ اختیار اس وقت بہترین ہوتا ہے جب کنٹینرز اسی طرح کے استعمال اور کارکردگی کی خصوصیات کو ظاہر کرتے ہیں۔ ایک مثال جو MCE کو ظاہر کرتی ہے۔ یہاں. اگر آپ MCE پر ماڈلز کی میزبانی کے لیے مختلف انتباہات اور بہترین طریقوں کے بارے میں مزید جاننا چاہتے ہیں، تو پوسٹ سے رجوع کریں۔ یہاں.
  3. سیریل انفرنس پائپ لائن (SIP)
    • اگر آپ کے پاس اپنی قیاس منطق میں قدموں کی پائپ لائن ہے، تو آپ سیریل انفرنس پائپ لائن (SIP) کا استعمال کر سکتے ہیں۔ SIP آپ کو ایک ہی اختتامی نقطہ کے پیچھے 2-15 کنٹینرز کو ایک ساتھ جوڑنے دیتا ہے۔ جب آپ کے پاس پری پروسیسنگ اور پوسٹ پروسیسنگ کے مراحل ہوتے ہیں تو SIP اچھی طرح کام کرتا ہے۔ اگر آپ سیریل انفرنس پائپ لائنز کے ڈیزائن پیٹرن کے بارے میں مزید جاننا چاہتے ہیں، تو پوسٹ سے رجوع کریں۔ یہاں.

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

سیج میکر بھی پیش کرتا ہے۔ بچت کے منصوبے. بچت کے منصوبے آپ کے اخراجات کو 64% تک کم کر سکتے ہیں۔ یہ 1 یا 3 سالہ مدت کے استعمال کی ایک مستقل مقدار ($/hour) کی وابستگی ہے۔ اسے دیکھو لنک مزید معلومات کے لیے. اور یہ دیکھیں لنک Amazon SageMaker پر انفرنس کے لیے اخراجات کو بہتر بنانے کے لیے۔

نتیجہ

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

متعلقہ دیکھیں GitHub ذخیرہ اور مثالیں آزمائیں.


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

Amazon SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ریئل ٹائم ماڈلز کی تعیناتی کے ساتھ شروع کرنا۔ عمودی تلاش۔ عیراگھو رمیشا۔ ایمیزون سیج میکر سروس ٹیم کے ساتھ ایم ایل سلوشنز آرکیٹیکٹ ہے۔ وہ صارفین کی ایم ایل پروڈکشن ورک بوجھ کو SageMaker پر پیمانے پر بنانے، تعینات کرنے اور منتقل کرنے میں مدد کرنے پر توجہ مرکوز کرتا ہے۔ وہ مشین لرننگ، AI، اور کمپیوٹر ویژن ڈومینز میں مہارت رکھتا ہے، اور UT Dallas سے کمپیوٹر سائنس میں ماسٹر ڈگری رکھتا ہے۔ اپنے فارغ وقت میں وہ سفر اور فوٹو گرافی سے لطف اندوز ہوتے ہیں۔

Amazon SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ریئل ٹائم ماڈلز کی تعیناتی کے ساتھ شروع کرنا۔ عمودی تلاش۔ عیرام ویگیراجو سیج میکر سروس ٹیم کے ساتھ ایم ایل آرکیٹیکٹ ہے۔ وہ ایمیزون سیج میکر پر صارفین کو ان کے AI/ML حل بنانے اور بہتر بنانے میں مدد کرنے پر توجہ مرکوز کرتا ہے۔ اپنے فارغ وقت میں، وہ سفر اور لکھنے سے محبت کرتا ہے.

Amazon SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ریئل ٹائم ماڈلز کی تعیناتی کے ساتھ شروع کرنا۔ عمودی تلاش۔ عیمارک کارپ سیج میکر سروس ٹیم کے ساتھ ایم ایل آرکیٹیکٹ ہے۔ وہ گاہک کو ML کام کے بوجھ کو پیمانے پر ڈیزائن، تعینات اور ان کا انتظام کرنے میں مدد کرنے پر توجہ مرکوز کرتا ہے۔ اپنے فارغ وقت میں، وہ سفر کرنے اور نئی جگہوں کی تلاش کا لطف اٹھاتا ہے۔

Amazon SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ریئل ٹائم ماڈلز کی تعیناتی کے ساتھ شروع کرنا۔ عمودی تلاش۔ عیدھول پٹیل AWS میں پرنسپل مشین لرننگ آرکیٹیکٹ ہے۔ انہوں نے تقسیم شدہ کمپیوٹنگ اور مصنوعی ذہانت سے متعلق مسائل پر بڑے اداروں سے لے کر درمیانے درجے کے اسٹارٹ اپس تک کی تنظیموں کے ساتھ کام کیا ہے۔ وہ گہری سیکھنے پر توجہ مرکوز کرتا ہے، بشمول NLP اور کمپیوٹر ویژن ڈومینز۔ وہ صارفین کو Amazon SageMaker پر اعلیٰ کارکردگی کے ماڈل کا اندازہ حاصل کرنے میں مدد کرتا ہے۔

Amazon SageMaker PlatoBlockchain ڈیٹا انٹیلی جنس پر ریئل ٹائم ماڈلز کی تعیناتی کے ساتھ شروع کرنا۔ عمودی تلاش۔ عیسوربھ تریکنڈے Amazon SageMaker Inference کے لیے ایک سینئر پروڈکٹ مینیجر ہے۔ وہ صارفین کے ساتھ کام کرنے کا شوق رکھتا ہے اور مشین لرننگ کو جمہوری بنانے کے مقصد سے حوصلہ افزائی کرتا ہے۔ وہ پیچیدہ ایم ایل ایپلی کیشنز، ملٹی ٹیننٹ ایم ایل ماڈلز، لاگت کی اصلاح، اور ڈیپ لرننگ ماڈلز کی تعیناتی کو مزید قابل رسائی بنانے سے متعلق بنیادی چیلنجوں پر توجہ مرکوز کرتا ہے۔ اپنے فارغ وقت میں، سوربھ کو پیدل سفر کرنا، اختراعی ٹیکنالوجیز کے بارے میں سیکھنا، TechCrunch کی پیروی کرنا، اور اپنے خاندان کے ساتھ وقت گزارنا پسند ہے۔

ٹائم اسٹیمپ:

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