Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে রিয়েল-টাইম মডেল স্থাপনের সাথে শুরু করা। উল্লম্ব অনুসন্ধান. আ.

Amazon SageMaker এ রিয়েল-টাইম মডেল স্থাপনের সাথে শুরু করা

আমাজন সেজমেকার এটি একটি সম্পূর্ণ-পরিচালিত পরিষেবা যা প্রতিটি ডেভেলপার এবং ডেটা বিজ্ঞানীকে দ্রুত মেশিন লার্নিং (ML) মডেল তৈরি, প্রশিক্ষণ এবং স্থাপন করার ক্ষমতা প্রদান করে। ML অনুমানে উপলব্ধি করা হয়। সেজমেকার চারটি অনুমান বিকল্প অফার করে:

  1. রিয়েল-টাইম ইনফারেন্স
  2. সার্ভারহীন অনুমান
  3. অ্যাসিঙ্ক্রোনাস ইনফারেন্স
  4. ব্যাচ ট্রান্সফর্ম

এই চারটি বিকল্পকে বিস্তৃতভাবে অনলাইন এবং ব্যাচ অনুমান বিকল্পগুলিতে শ্রেণীবদ্ধ করা যেতে পারে। অনলাইন ইনফারেন্সে, অনুরোধগুলি পৌঁছানোর সাথে সাথে প্রক্রিয়া করা হবে বলে আশা করা হয় এবং প্রতিটি অনুরোধ প্রক্রিয়া করার পরে গ্রাহক অ্যাপ্লিকেশন একটি প্রতিক্রিয়া আশা করে। এটি হয় সিঙ্ক্রোনাসভাবে ঘটতে পারে (রিয়েল-টাইম ইনফারেন্স, সার্ভারলেস) অথবা অ্যাসিঙ্ক্রোনাসলি (অসিঙ্ক্রোনাস ইনফারেন্স)। একটি সিঙ্ক্রোনাস প্যাটার্নে, গ্রাসকারী অ্যাপ্লিকেশনটি ব্লক করা হয় এবং এটি একটি প্রতিক্রিয়া না পাওয়া পর্যন্ত এগিয়ে যেতে পারে না। এই কাজের চাপগুলি রিয়েল-টাইম অ্যাপ্লিকেশন হতে থাকে, যেমন অনলাইন ক্রেডিট কার্ড জালিয়াতি সনাক্তকরণ, যেখানে প্রতিক্রিয়াগুলি মিলিসেকেন্ড থেকে সেকেন্ডের মধ্যে প্রত্যাশিত হয় এবং অনুরোধের পেলোডগুলি ছোট (কয়েক এমবি)। অ্যাসিঙ্ক্রোনাস প্যাটার্নে, অ্যাপ্লিকেশন অভিজ্ঞতা ব্লক করা হয় না (উদাহরণস্বরূপ, একটি মোবাইল অ্যাপের মাধ্যমে একটি বীমা দাবি জমা দেওয়া), এবং সাধারণত বড় পেলোড আকার এবং/অথবা দীর্ঘ প্রক্রিয়াকরণ সময়ের প্রয়োজন হয়। অফলাইন অনুমানে, অনুমানের অনুরোধগুলির একটি সমষ্টি (ব্যাচ) একসাথে প্রক্রিয়া করা হয় এবং সম্পূর্ণ ব্যাচ প্রক্রিয়া হওয়ার পরেই প্রতিক্রিয়াগুলি প্রদান করা হয়। সাধারণত, এই কাজের চাপগুলি লেটেন্সি সংবেদনশীল নয়, এতে প্রচুর পরিমাণে (একাধিক জিবি) ডেটা অন্তর্ভুক্ত থাকে এবং নিয়মিত ক্যাডেন্সে নির্ধারিত হয় (উদাহরণস্বরূপ, দিনের শেষে সিকিউরিটি ক্যামেরা ফুটেজে অবজেক্ট ডিটেকশন চালান বা বেতনের ডেটা প্রক্রিয়া করুন) মাস শেষে).

খালি হাড়ে, সেজমেকার রিয়েল-টাইম ইনফারেন্স একটি মডেল(গুলি), ফ্রেমওয়ার্ক/কন্টেইনার যার সাথে আপনি কাজ করছেন এবং অবকাঠামো/দৃষ্টান্তগুলি যা আপনার নিয়োজিত এন্ডপয়েন্টকে সমর্থন করছে। এই পোস্টে, আমরা অন্বেষণ করব কিভাবে আপনি একটি একক মডেল এন্ডপয়েন্ট তৈরি করতে এবং আহ্বান করতে পারেন।

মডেল স্থাপনার বিকল্প নির্বাচন করা হচ্ছে

সঠিক অনুমান টাইপ নির্বাচন করা কঠিন হতে পারে, এবং নিম্নলিখিত সহজ নির্দেশিকা আপনাকে সাহায্য করতে পারে। এটি একটি কঠোর ফ্লো চার্ট নয়, তাই আপনি যদি খুঁজে পান যে অন্য বিকল্পটি আপনার জন্য আরও ভাল কাজ করে, তাহলে নির্দ্বিধায় সেগুলি ব্যবহার করুন৷ বিশেষ করে, আপনার মডেলগুলি হোস্ট করার জন্য রিয়েল-টাইম ইনফারেন্স একটি দুর্দান্ত বিকল্প যখন আপনার কম এবং সামঞ্জস্যপূর্ণ লেটেন্সি থাকে (মিলিসেকেন্ড বা সেকেন্ডের ক্রমে) এবং থ্রুপুট সংবেদনশীল কাজের চাপ। কনফিগার করার সময় আপনি ইনস্ট্যান্স টাইপ নিয়ন্ত্রণ করতে পারেন এবং আপনার শেষ পয়েন্টের পিছনে গণনা করতে পারেন স্বয়ংক্রিয় স্কেলিং ট্রাফিক পরিচালনার নীতি। আরও দুটি সেজমেকার ইনফারেন্স বিকল্প রয়েছে যা আপনি একটি এন্ডপয়েন্ট তৈরি করতেও ব্যবহার করতে পারেন। অ্যাসিঙ্ক্রোনাস ইনফারেন্স হল যখন আপনার পেলোডের আকার বড় এবং রিয়েল-টাইম লেটেন্সি ব্যান্ডউইথের কাছাকাছি থাকে। এটি একটি ভাল বিকল্প, বিশেষ করে এনএলপি এবং কম্পিউটার ভিশন মডেলগুলির জন্য যেগুলির প্রিপ্রসেসিং সময় বেশি। যখন আপনার মাঝে মাঝে ট্র্যাফিক থাকে এবং অবকাঠামো স্কেলিং পরিচালনা করতে চান না তখন সার্ভারলেস ইনফারেন্স একটি দুর্দান্ত বিকল্প। একটি এন্ডপয়েন্ট তৈরি করার রেসিপিটি আপনার চয়ন করা অনুমান প্রকার নির্বিশেষে একই থাকে। এই পোস্টে, আমরা একটি রিয়েল-টাইম ইনস্ট্যান্স-ভিত্তিক এন্ডপয়েন্ট তৈরি করার উপর ফোকাস করব, তবে আপনি এটিকে সহজেই আপনার ব্যবহারের ক্ষেত্রের উপর ভিত্তি করে অন্য ইনফরেন্স বিকল্পগুলির সাথে মানিয়ে নিতে পারেন। সবশেষে, ব্যাচ ইনফারেন্স অফলাইনে হয়, তাই আপনি ডেটার একটি সেট প্রদান করতে পারেন যেগুলি থেকে আপনি অনুমান পেতে চান এবং আমরা এটি চালাব। এটি একইভাবে উদাহরণ-ভিত্তিক, তাই আপনি আপনার কাজের চাপের জন্য সর্বোত্তম উদাহরণ নির্বাচন করতে পারেন। যেহেতু কোন শেষ পয়েন্ট আপ এবং চলমান নেই, আপনি শুধুমাত্র কাজের সময়কালের জন্য অর্থ প্রদান করেন। এটি গিগাবাইট ডেটা প্রক্রিয়াকরণের জন্য ভাল এবং কাজের সময়কাল দিন হতে পারে। স্ট্রাকচার্ড ডেটার সাথে কাজ করা সহজ করতে এবং স্বয়ংক্রিয়ভাবে স্ট্রাকচার্ড ডেটা বিতরণ করার জন্য অপ্টিমাইজেশন করার জন্য অন্তর্নির্মিত বৈশিষ্ট্য রয়েছে। কিছু উদাহরণ ব্যবহারের ক্ষেত্রে প্রবণতা মডেলিং, ভবিষ্যদ্বাণীমূলক রক্ষণাবেক্ষণ এবং মন্থন পূর্বাভাস। এই সবগুলি অফলাইনে প্রচুর পরিমাণে হতে পারে কারণ এটি একটি নির্দিষ্ট ইভেন্টে প্রতিক্রিয়া করতে হবে না।

সেজমেকার এন্ডপয়েন্টে একটি মডেল হোস্ট করা

Crux এ, SageMaker রিয়েল-টাইম এন্ডপয়েন্ট একটি মডেল এবং পরিকাঠামো নিয়ে গঠিত যা দিয়ে আপনি এন্ডপয়েন্টকে ব্যাক করতে চান। SageMaker মডেলগুলি হোস্ট করার জন্য কন্টেইনার ব্যবহার করে, যার অর্থ হল আপনার এমন একটি ধারক প্রয়োজন যা আপনার সরবরাহ করা প্রতিটি মডেলের জন্য আপনি যে কাঠামো ব্যবহার করেন তার জন্য পরিবেশ সঠিকভাবে সেট আপ করে। উদাহরণস্বরূপ, যদি আপনি একটি Sklearn মডেলের সাথে কাজ করেন, তাহলে আপনাকে অবশ্যই আপনার মডেল স্ক্রিপ্ট/ডেটা এমন একটি পাত্রের মধ্যে পাস করতে হবে যা Sklearn সঠিকভাবে সেট আপ করে। ভাগ্যক্রমে, সেজমেকার প্রদান করে পরিচালিত ছবি জনপ্রিয় ফ্রেমওয়ার্কের জন্য, যেমন TensorFlow, PyTorch, Sklearn এবং HuggingFace। আপনি উচ্চ-স্তরের ব্যবহার করে এই ছবিগুলি পুনরুদ্ধার এবং ব্যবহার করতে পারেন সেজমেকার পাইথন এসডিকে এবং এই পাত্রে আপনার মডেল স্ক্রিপ্ট এবং ডেটা ইনজেক্ট করুন। যে ক্ষেত্রে সেজমেকারের একটি সমর্থিত ধারক নেই, আপনিও করতে পারেন আপনার নিজের ধারক তৈরি করুন এবং আপনার মডেলের জন্য প্রয়োজনীয় নির্ভরতাগুলি ইনস্টল করে আপনার নিজস্ব কাস্টম চিত্রটি পুশ করুন।

SageMaker প্রশিক্ষিত এবং প্রাক-প্রশিক্ষিত মডেল উভয় সমর্থন করে। পূর্ববর্তী অনুচ্ছেদে যখন আমরা মডেল স্ক্রিপ্ট/ডেটা সম্পর্কে কথা বলছি, আমরা এই বিষয়টি উল্লেখ করছি। আপনি হয় আপনার পাত্রে একটি স্ক্রিপ্ট মাউন্ট করতে পারেন, অথবা যদি আপনার কাছে একটি প্রাক-প্রশিক্ষিত মডেল আর্টিফ্যাক্ট থাকে (উদাহরণস্বরূপ, `মডেল.জবলিব` SKLearn এর জন্য), তাহলে আপনি SageMaker-কে আপনার ইমেজ সহ এটি প্রদান করতে পারেন। সেজমেকার ইনফারেন্স বোঝার জন্য, তিনটি প্রধান সত্তা রয়েছে যা আপনি এন্ডপয়েন্ট তৈরির প্রক্রিয়ায় তৈরি করবেন:

  1. SageMaker মডেল সত্তা - এখানে আপনি আপনার প্রশিক্ষিত মডেল ডেটা/মডেল স্ক্রিপ্ট এবং আপনার ইমেজ যেটির সাথে আপনি কাজ করছেন তা পাস করতে পারেন, এটি AWS এর মালিকানাধীন হোক বা আপনার দ্বারা নির্মিত।
  2. এন্ডপয়েন্ট কনফিগারেশন তৈরি - এখানে আপনি আপনার অবকাঠামো সংজ্ঞায়িত করেন, যার অর্থ আপনি উদাহরণের ধরন, গণনা ইত্যাদি নির্বাচন করেন।
  3. এন্ডপয়েন্ট তৈরি - এটি হল REST এন্ডপয়েন্ট যা আপনার মডেল হোস্ট করে যা আপনি একটি প্রতিক্রিয়া পেতে আহ্বান করছেন। চলুন দেখি কিভাবে আপনি একটি পরিচালিত সেজমেকার ইমেজ এবং আপনার নিজস্ব কাস্টম-বিল্ট ইমেজ একটি এন্ডপয়েন্ট স্থাপন করতে ব্যবহার করতে পারেন।

রিয়েল-টাইম এন্ডপয়েন্ট প্রয়োজনীয়তা

  1. একটি এন্ডপয়েন্ট তৈরি করার আগে, আপনাকে অবশ্যই বুঝতে হবে আপনি কোন ধরণের মডেল হোস্ট করতে চান৷ যদি এটি একটি ফ্রেমওয়ার্ক মডেল হয়, যেমন TensorFlow, PyTorch, বা MXNet, তাহলে আপনি এর একটি ব্যবহার করতে পারেন প্রিবিল্ট ফ্রেমওয়ার্ক ইমেজ.
    যদি এটি একটি কাস্টম মডেল হয়, অথবা আপনি যে ধারকটি তৈরি করতে সম্পূর্ণ নমনীয়তা চান সেজমেকার অনুমানের জন্য চালাবে, তাহলে আপনি নিজের ধারক তৈরি করতে পারেন।

সেজমেকার এন্ডপয়েন্ট একটি দ্বারা গঠিত হয় সেজমেকার মডেল এবং এন্ডপয়েন্ট কনফিগারেশন।
আপনি যদি Boto3 ব্যবহার করেন, তাহলে আপনি উভয় বস্তুই তৈরি করবেন। অন্যথায়, আপনি যদি SageMaker Python SDK ব্যবহার করেন, তাহলে আপনি যখন ব্যবহার করবেন তখন আপনার পক্ষ থেকে এন্ডপয়েন্ট কনফিগারেশন তৈরি করা হবে .deploy(..) ফাংশন.

সেজমেকার সত্তা:

  • সেজমেকার মডেল:
    • অনুমান চিত্রের বিশদ বিবরণ রয়েছে, মডেলের নিদর্শনগুলির অবস্থান অ্যামাজন সিম্পল স্টোরেজ সার্ভিস (অ্যামাজন এস৩), নেটওয়ার্ক কনফিগারেশন, এবং AWS আইডেন্টিটি অ্যান্ড অ্যাকসেস ম্যানেজমেন্ট (IAM) এন্ডপয়েন্ট দ্বারা ব্যবহৃত ভূমিকা।
      • SageMaker আপনার মডেল আর্টিফ্যাক্টগুলিকে একটি তে সংকুচিত করা প্রয়োজন৷ .tar.gz ফাইল SageMaker স্বয়ংক্রিয়ভাবে এটি নিষ্কাশন .tar.gz মধ্যে ফাইল /opt/ml/model/ আপনার ধারক মধ্যে ডিরেক্টরি. আপনি যদি টেনসরফ্লো, পাইটর্চ বা এমএক্সনেটের মতো ফ্রেমওয়ার্ক কন্টেইনারগুলির মধ্যে একটি ব্যবহার করেন, তাহলে কন্টেইনারটি আপনার 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

      • একটি ফ্রেমওয়ার্ক ইমেজ ব্যবহার করার সময়, আমরা একটি কাস্টম এন্ট্রি-পয়েন্ট স্ক্রিপ্ট প্রদান করতে পারি, যেখানে আমরা আমাদের নিজস্ব প্রাক এবং পোস্ট প্রক্রিয়াকরণ বাস্তবায়ন করতে পারি। আমাদের ক্ষেত্রে, অনুমান স্ক্রিপ্ট /code ডিরেক্টরির অধীনে model.tar.gz এ প্যাকেজ করা হয়।
    • এন্ডপয়েন্ট কনফিগারেশন
      • সেজমেকার মডেলকে এন্ডপয়েন্টে স্থাপন করার জন্য প্রয়োজনীয় অবকাঠামোগত তথ্য রয়েছে।
      • উদাহরণ স্বরূপ, আমাদের তৈরি করা SageMaker মডেলটি এখানে উল্লেখ করা হয়েছে সেইসাথে ইনস্ট্যান্সের ধরন এবং প্রাথমিক উদাহরণের সংখ্যা।

ফ্রেমওয়ার্ক এবং BYOC

    • সেজমেকার ছবি পুনরুদ্ধার করা হচ্ছে
      • এই অংশটি সর্বদা প্রয়োজনীয় নয় এবং সেজমেকার পাইথন 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)

      • সমস্ত প্যাকেজ এবং ছবি SageMaker দ্বারা সমর্থিত নয়, এবং এই ক্ষেত্রে আপনাকে অবশ্যই করতে হবে আপনার নিজের পাত্র আনুন (BYOC) এর অর্থ একটি ডকারফাইল তৈরি করা যা আপনার মডেল পরিবেশনের জন্য উপযুক্ত পরিবেশ সেটআপ করবে। এর একটি উদাহরণ হল Spacy NLP মডিউল, এবং এই ফ্রেমওয়ার্কের জন্য কোন পরিচালিত SageMaker কন্টেইনার নেই। অতএব, আপনাকে অবশ্যই একটি ডকারফাইল প্রদান করতে হবে যা স্পেসি ইনস্টল করে। ধারক মধ্যে আপনি আপনার মডেল অনুমান স্ক্রিপ্ট মাউন্ট. আসুন দ্রুত আপনার নিজের কনটেইনার ফর্ম্যাটে যে উপাদানগুলি প্রদান করেন সেগুলি নিয়ে আলোচনা করি, কারণ এইগুলি বেশিরভাগ উদাহরণের জন্য সামঞ্জস্যপূর্ণ থাকে৷
        • "nginx.conf" nginx ফ্রন্ট-এন্ডের জন্য কনফিগারেশন ফাইল। আপনাকে এই ফাইলটি সম্পাদনা করতে হবে না, যদি না আপনি এই অংশগুলি টিউন করতে চান৷
        • "predictor.py" এমন একটি প্রোগ্রাম যা আসলে আপনার অ্যাপ্লিকেশনের জন্য ফ্লাস্ক ওয়েব সার্ভার এবং মডেল কোড প্রয়োগ করে। আপনার পাত্রে আপনার আরও পাইথন ফাইল বা ফাংশন থাকতে পারে যা আপনি এই ফাইলটিতে কল করতে পারেন।
        • "পরিষেবা" হোস্টিংয়ের জন্য কন্টেইনার শুরু হলে প্রোগ্রামটি শুরু হয়। এটি সহজভাবে gunicorn সার্ভার চালু করে, যা predictor.py-তে সংজ্ঞায়িত ফ্লাস্ক অ্যাপের একাধিক উদাহরণ চালায়। nginx.conf এর মতো, আপনাকে এই ফাইলটি সম্পাদনা করতে হবে না যদি না আপনি সম্পাদন করতে চান এমন আরও টিউনিং না থাকে।
        • "ট্রেন" প্রশিক্ষণের জন্য কন্টেইনার চালানো হলে যে প্রোগ্রামটি আহ্বান করা হয়। আপনার প্রশিক্ষণ অ্যালগরিদম বাস্তবায়নের জন্য আপনি এই প্রোগ্রামটি পরিবর্তন করবেন। আপনি যদি Spacy-এর মতো একটি প্রাক-প্রশিক্ষিত মডেল বা ফ্রেমওয়ার্ক নিয়ে আসেন, তাহলে আপনার এই ফাইলটির প্রয়োজন নেই।
        • "wsgi.py" ফ্লাস্ক অ্যাপ চালু করতে ব্যবহৃত একটি ছোট মোড়ক। আপনি আপনার predictor.py ফাইলের নাম পরিবর্তন না করা পর্যন্ত এই ফাইলটিকে যেমন আছে তেমন নিতে পারবেন৷ সেই ক্ষেত্রে, নিশ্চিত করুন যে এখানে মানচিত্র সঠিকভাবে তৈরি হয়েছে।
    • কাস্টম অনুমান স্ক্রিপ্ট
      • সেজমেকার ফ্রেমওয়ার্ক কন্টেইনারগুলি আপনাকে একটি কাস্টম এন্ট্রি পয়েন্ট স্ক্রিপ্ট/inference.py ব্যবহার করে অনুরোধের পূর্ব/পোস্ট প্রক্রিয়াকরণ এবং মডেল লোডিং পরিচালনা করার নমনীয়তা দেয়।
      • একটি কাস্টম inference.py স্ক্রিপ্ট তৈরি করার জন্য ডকুমেন্টেশন দেখুন TensorFlow, পাইটর্চ এবং এমএক্স নেট.
    • কাস্টম ধারক

বিভিন্ন উপায়ে আপনি সেজমেকার এন্ডপয়েন্টের সাথে ইন্টারঅ্যাক্ট করতে পারেন

SageMaker প্রোগ্রাম্যাটিকভাবে ব্যবহার করার জন্য অনেকগুলি বিকল্প রয়েছে যাতে আপনি অনুমান পেতে আপনার স্থাপন করা মডেলগুলিকে কল করতে পারেন। দ্য AWS কমান্ড লাইন ইন্টারফেস (AWS CLI), REST API, এডাব্লুএস ক্লাউডফর্মেশন, AWS ক্লাউড ডেভেলপমেন্ট কিট (AWS CDK), এবং AWS SDKগুলি হল AWS দ্বারা অফার করা সাধারণ সরঞ্জাম এবং অন্যান্য AWS পরিষেবাগুলির দ্বারা ব্যাপকভাবে সমর্থিত৷ সেজমেকারের জন্য, আমাদের কাছে একটি সেজমেকার পাইথন এসডিকেও রয়েছে। এখন, SageMaker এন্ডপয়েন্ট তৈরি, আহ্বান এবং পরিচালনা করার জন্য বিভিন্ন বিকল্পের তুলনা করা যাক।

এ ছাড়াও সেজমেকার সিএলআই, প্রোগ্রামগতভাবে দুটি উপায় রয়েছে যে আপনি SDK-এর মাধ্যমে SageMaker-এর এন্ডপয়েন্টগুলির সাথে ইন্টারঅ্যাক্ট করতে পারেন৷ এর মধ্যে কিছু পার্থক্য তাকান সেজমেকার পাইথন এসডিকে এবং Boto3 পাইথন SDK:

  1. উচ্চ-স্তরের সেজমেকার "পাইথন" SDK - এই SDK হল একটি ওপেন-সোর্স লাইব্রেরি যা পাইথন ব্যবহার করে প্রোগ্রাম্যাটিকভাবে SageMaker API-কে কল করার জন্য বিশেষভাবে উচ্চ স্তরের বিমূর্ততা প্রদান করে। এই SDK-এর ভাল দিক হল যে এটিকে সেজমেকার API কল করা খুব সহজ, অনেক ভারী উত্তোলন ইতিমধ্যেই সম্পন্ন হয়েছে যেমন API গুলিকে সিঙ্ক্রোনাসভাবে কল করা/অ্যাসিঙ্ক মোড (পোলিং এড়াতে সাহায্য করে), সহজ অনুরোধ/প্রতিক্রিয়া স্কিমা, অনেক কম কোড, এবং অনেক কিছু সহজ কোড। SageMaker Python SDK সেজমেকারের সাথে কাজ করার জন্য বেশ কয়েকটি উচ্চ-স্তরের বিমূর্ততা প্রদান করে। প্যাকেজটি সেজমেকারে বিভিন্ন এমএল প্রক্রিয়া সহজ করার জন্য বোঝানো হয়েছে।
  2. নিম্ন-স্তরের AWS SDK (Boto3 SDK) – এই SDK ব্যবহারকারীকে সমর্থিত প্রোগ্রামিং ভাষা থেকে বেছে নিতে এবং যেকোন AWS পরিষেবাকে প্রোগ্রামগতভাবে কল করার অনুমতি দিয়ে নিম্ন স্তরে কাজ করে। এটি কেবল সেজমেকারের জন্য নির্দিষ্ট নয় তবে সমস্ত AWS পরিষেবার জন্য সাধারণভাবে ব্যবহার করা যেতে পারে। নিম্ন-স্তরের AWS SDKগুলি বিভিন্ন প্রোগ্রামিং ভাষায় পাওয়া যায়, যেমন .NET, Python, Java, Node.js, ইত্যাদি। ব্যবহৃত জনপ্রিয় SDKগুলির মধ্যে একটি হল boto3 পাইথন SDK, যা ML-এর জন্য ডেটা বিজ্ঞানী সম্প্রদায়ে জনপ্রিয়৷ এই SDK-এর ভাল অংশ হল এটি খুব হালকা এবং ডিফল্টরূপে ইনস্টল করা উপলব্ধ এডাব্লুএস ল্যাম্বদা রানটাইম উপরন্তু, আপনি SageMaker এর বাইরে যেকোন AWS পরিষেবার সাথে ইন্টারঅ্যাক্ট করতে এই SDK ব্যবহার করতে পারেন।

এই দুটি SDK একই কাজের জন্য ব্যবহার করা যেতে পারে, তবে কিছু ক্ষেত্রে এটি অন্যটির চেয়ে একটি ব্যবহার করা আরও স্বজ্ঞাত। SageMaker Python SDK সহজ পরীক্ষার জন্য সুপারিশ করা হয় যখন AWS SDK/Boto3 উত্পাদন ব্যবহারের ক্ষেত্রে পারফরম্যান্সের উপর ভাল নিয়ন্ত্রণের জন্য সুপারিশ করা হয়। উদাহরণস্বরূপ, Sklearn, PyTorch, এবং TensorFlow-এর মতো জনপ্রিয় ফ্রেমওয়ার্কগুলির জন্য একটি পরিষেবা হিসাবে সেজমেকার পূর্ব-নির্মিত এবং রক্ষণাবেক্ষণ করা ছবিগুলি সরবরাহ করে। ডিপ লার্নিং ইমেজ, ট্রেন মডেলগুলি পুনরুদ্ধার করতে সেজমেকার এসডিকে ব্যবহার করা বিশেষভাবে কার্যকর হতে পারে অনুমানকারী, এবং সহজে একটি সাধারণ API কল ব্যবহার করে মডেলটি স্থাপন করুন। কর্মে এটি প্রদর্শনের একটি উদাহরণ পাওয়া যেতে পারে এখানে.

অন্যদিকে, কখনও কখনও আপনার কাছে প্রাক-প্রশিক্ষিত মডেল বা বিভিন্ন ফ্রেমওয়ার্ক থাকে যা আপনি ব্যবহার করছেন। এর জন্য অনেক বেশি কাস্টমাইজেশন প্রয়োজন এবং SageMaker SDK সবসময় এটি অফার করে না। আমাদের কাছে তিনটি গুরুত্বপূর্ণ পদক্ষেপ এবং সংশ্লিষ্ট boto3 API কল রয়েছে যা আমাদের একটি এন্ডপয়েন্ট স্থাপন করতে কার্যকর করতে হবে: মডেল সৃষ্টি, এন্ডপয়েন্ট কনফিগারেশন সৃষ্টি, এবং শেষ বিন্দু সৃষ্টি. প্রথম দুটি সত্তা আমাদের সমর্থিত ফ্রেমওয়ার্ক সহ SageMaker SDK এর সাথে বিমূর্ত করা হয়েছিল, কিন্তু আমরা Boto3 SDK এর সাথে সেই বিবরণগুলি দেখতে পাই। একটি এন্ডপয়েন্ট তৈরি এবং পরিচালনা করতে Boto3 SDK ব্যবহারে জড়িত পদক্ষেপগুলি প্রদর্শনের একটি বিস্তৃত উদাহরণ পাওয়া যেতে পারে এখানে.

SageMaker হোস্টিং বিবেচনা

সেজমেকার রিয়েল-টাইম ইনফারেন্সের দুটি প্রধান অপ্টিমাইজেশান রয়েছে যা আপনি বিবেচনা করতে পারেন: 1/ পারফরম্যান্স অপ্টিমাইজেশান, এবং 2/ খরচ অপ্টিমাইজেশান৷ চলুন প্রথমে তাকান কর্মক্ষমতা অপ্টিমাইজেশন, যেমন আমরা যখন লেটেন্সি সংবেদনশীল কাজের চাপ নিয়ে কাজ করি, তখন প্রতিটি মিলিসেকেন্ড গুরুত্বপূর্ণ। আপনার লেটেন্সি এবং থ্রুপুট অপ্টিমাইজ করতে আপনি টিউন করতে পারেন এমন বিভিন্ন নব রয়েছে। উদাহরণ স্তরে, আপনি ব্যবহার করতে পারেন অনুমান সুপারিশকারী, আমাদের অন্তর্নির্মিত লোড টেস্টিং টুল, আপনাকে সঠিক উদাহরণের ধরন নির্বাচন করতে এবং আপনার কাজের চাপের জন্য গণনা করতে সহায়তা করতে। কম্পিউটের সঠিক সংমিশ্রণ ব্যবহার করা আপনাকে কর্মক্ষমতা এবং খরচ উভয় ক্ষেত্রেই সাহায্য করবে। আপনি কন্টেইনার এবং ফ্রেমওয়ার্ক লেভেলেও টিউন করতে পারেন।
নিজেকে জিজ্ঞাসা করার প্রশ্নগুলির মধ্যে রয়েছে:

  1. আপনি কি ফ্রেমওয়ার্ক ব্যবহার করছেন?
  2. কোন পরিবেশের ভেরিয়েবল আছে যা আপনি আপনার পাত্রের মধ্যে টিউন করতে পারেন?

এর একটি উদাহরণ সর্বাধিক করা SageMaker পাত্রে টেনসরফ্লো পারফরম্যান্স। কন্টেইনার লেভেল অপ্টিমাইজেশনের আরেকটি উদাহরণ হল জিআরপিসি ব্যবহার করা আপনার শেষ পয়েন্টের পিছনে বিশ্রাম না করে। শেষ অবধি, আপনি স্ক্রিপ্ট স্তরেও অপ্টিমাইজ করতে পারেন। আপনার অনুমান কোড নির্দিষ্ট ব্লকে অতিরিক্ত সময় নিচ্ছে? আপনার স্ক্রিপ্টের প্রতিটি লাইনের সময় নির্ধারণ করা আপনাকে আপনার কোডের মধ্যে যেকোন প্রতিবন্ধকতা ধরতে সাহায্য করবে।

দেখতে তিনটি উপায় আছে ব্যবহার উন্নত করা আপনার রিয়েল টাইম এন্ডপয়েন্টের:

  1. মাল্টি-মডেল এন্ডপয়েন্ট (MME)
    • আপনি একটি একক শেষ পয়েন্টের পিছনে হাজার হাজার মডেল হোস্ট করতে পারেন। এটি ব্যবহারের ক্ষেত্রে উপযুক্ত যেখানে আপনার প্রতিটি মডেলের জন্য একটি ডেডিকেটেড এন্ডপয়েন্টের প্রয়োজন নেই। MME ভাল কাজ করে যখন মডেলগুলি একই আকারের এবং লেটেন্সি এবং একই ML ফ্রেমওয়ার্কের অন্তর্গত। এইগুলি সাধারণত ব্যবহার করা যেতে পারে যখন আপনাকে সব সময়ে একই মডেল কল করার প্রয়োজন হয় না। আপনার অনুরোধ পূরণ করতে আপনি গতিশীলভাবে সেজমেকার এন্ডপয়েন্টে সংশ্লিষ্ট মডেলটি লোড করতে পারেন. এমএমইকে কর্মে প্রদর্শন করে এমন একটি উদাহরণ পাওয়া যাবে এখানে. আপনি যদি MME তে মডেল হোস্ট করার জন্য বিভিন্ন সতর্কতা এবং সর্বোত্তম অনুশীলন সম্পর্কে আরও জানতে চান, তাহলে পোস্টটি পড়ুন এখানে.
  2. মাল্টি-কন্টেইনার এন্ডপয়েন্ট (MCE)
    • একাধিক কন্টেইনার হোস্ট করার জন্য একাধিক এন্ডপয়েন্ট ব্যবহার করার পরিবর্তে, আপনি একটি একক এন্ডপয়েন্টে 15টি পর্যন্ত কন্টেইনার হোস্ট করার দিকে নজর দিতে পারেন। এই পাত্রে প্রতিটি এক সরাসরি আহ্বান করা যেতে পারে. অতএব, আপনি একটি একক এন্ডপয়েন্টে বিভিন্ন ফ্রেমওয়ার্কের ভিন্ন ভিন্ন মডেলের হোস্টিং দেখতে পারেন। এই বিকল্পটি সর্বোত্তম যখন কন্টেইনারগুলি একই রকম ব্যবহার এবং কার্যকারিতা বৈশিষ্ট্যগুলি প্রদর্শন করে৷ MCE প্রদর্শন করে এমন একটি উদাহরণ পাওয়া যাবে এখানে. আপনি যদি MCE-তে মডেল হোস্ট করার জন্য বিভিন্ন সতর্কতা এবং সর্বোত্তম অনুশীলন সম্পর্কে আরও জানতে চান, তাহলে পোস্টটি পড়ুন এখানে.
  3. সিরিয়াল ইনফারেন্স পাইপলাইন (SIP)
    • যদি আপনার অনুমান যুক্তিতে ধাপগুলির একটি পাইপলাইন থাকে, তাহলে আপনি সিরিয়াল ইনফারেন্স পাইপলাইন (SIP) ব্যবহার করতে পারেন। SIP আপনাকে একটি একক শেষ পয়েন্টের পিছনে 2-15 কন্টেইনার একসাথে চেইন করতে দেয়। যখন আপনার প্রি-প্রসেসিং এবং পোস্ট-প্রসেসিং ধাপ থাকে তখন SIP ভাল কাজ করে। আপনি যদি সিরিয়াল ইনফরেন্স পাইপলাইনগুলির ডিজাইন প্যাটার্ন সম্পর্কে আরও জানতে চান, তাহলে পোস্টটি পড়ুন এখানে.

দ্বিতীয় প্রধান অপ্টিমাইজেশন মনে রাখা হয় মূল্য. রিয়েল-টাইম ইনফারেন্স হল সেজমেকার এন্ডপয়েন্ট তৈরির মধ্যে তিনটি বিকল্পের মধ্যে একটি। সেজমেকার এন্ডপয়েন্টগুলি মোছা না হওয়া পর্যন্ত সর্বদা চলছে। অতএব, আপনাকে অবশ্যই শেষ পয়েন্টের ব্যবহার উন্নত করার দিকে নজর দিতে হবে যা ফলস্বরূপ একটি খরচ সুবিধা প্রদান করে।

সেজমেকারও অফার করে সঞ্চয় পরিকল্পনা. সেভিংস প্ল্যান আপনার খরচ কমাতে পারে 64% পর্যন্ত। এটি একটি 1 বা 3-বছর মেয়াদী প্রতিশ্রুতি একটি সামঞ্জস্যপূর্ণ পরিমাণ ব্যবহার ($/ঘন্টা)। এটা দেখ লিংক আরও তথ্যের জন্য. এবং এই দেখুন লিংক Amazon SageMaker-এ অনুমানের জন্য খরচ অপ্টিমাইজ করার জন্য সর্বোত্তম।

উপসংহার

এই পোস্টে, আমরা আপনাকে সেজমেকারে বিভিন্ন মডেল হোস্টিং বিকল্পগুলির মধ্যে বেছে নেওয়ার জন্য সেরা কিছু অনুশীলন দেখিয়েছি। আমরা সেজমেকার এন্ডপয়েন্ট প্রয়োজনীয়তা নিয়ে আলোচনা করেছি, এবং ফ্রেমওয়ার্ক এবং BYOC প্রয়োজনীয়তা এবং কার্যকারিতাও বিপরীত করেছি। উপরন্তু, আমরা বিভিন্ন উপায় সম্পর্কে কথা বলেছি যা আপনি উত্পাদনে আপনার ML মডেলগুলি হোস্ট করার জন্য রিয়েল-টাইম এন্ডপয়েন্টগুলি ব্যবহার করতে পারেন। একটি খরচ কার্যকর উপায়ে, এবং উচ্চ কর্মক্ষমতা আছে.

সংশ্লিষ্ট দেখুন GitHub সংগ্রহস্থল এবং উদাহরণ চেষ্টা করে দেখুন।


লেখক সম্পর্কে

Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে রিয়েল-টাইম মডেল স্থাপনের সাথে শুরু করা। উল্লম্ব অনুসন্ধান. আ.রঘু রমেশা অ্যামাজন সেজমেকার সার্ভিস টিমের সাথে একজন এমএল সলিউশন আর্কিটেক্ট। তিনি গ্রাহকদের এমএল উৎপাদন কাজের লোডগুলিকে সেজমেকারে স্কেলে তৈরি, স্থাপন এবং স্থানান্তর করতে সহায়তা করার দিকে মনোনিবেশ করেন। তিনি মেশিন লার্নিং, এআই, এবং কম্পিউটার ভিশন ডোমেনে বিশেষজ্ঞ এবং UT ডালাস থেকে কম্পিউটার সায়েন্সে স্নাতকোত্তর ডিগ্রি অর্জন করেছেন। তার অবসর সময়ে, তিনি ভ্রমণ এবং ফটোগ্রাফি উপভোগ করেন।

Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে রিয়েল-টাইম মডেল স্থাপনের সাথে শুরু করা। উল্লম্ব অনুসন্ধান. আ.রাম ভেগিরাজু সেজমেকার সার্ভিস টিমের সাথে একজন এমএল আর্কিটেক্ট। তিনি গ্রাহকদের Amazon SageMaker-এ তাদের AI/ML সমাধানগুলি তৈরি এবং অপ্টিমাইজ করতে সাহায্য করার দিকে মনোনিবেশ করেন৷ অবসর সময়ে তিনি ভ্রমণ এবং লেখালেখি পছন্দ করেন।

Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে রিয়েল-টাইম মডেল স্থাপনের সাথে শুরু করা। উল্লম্ব অনুসন্ধান. আ.মার্ক কার্প সেজমেকার সার্ভিস টিমের সাথে একজন এমএল আর্কিটেক্ট। তিনি গ্রাহকদের স্কেলে এমএল ওয়ার্কলোড ডিজাইন, স্থাপন এবং পরিচালনা করতে সহায়তা করার উপর ফোকাস করেন। তার অবসর সময়ে, তিনি ভ্রমণ এবং নতুন জায়গা অন্বেষণ উপভোগ করেন।

Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে রিয়েল-টাইম মডেল স্থাপনের সাথে শুরু করা। উল্লম্ব অনুসন্ধান. আ.ধাওয়াল প্যাটেল AWS-এর একজন প্রধান মেশিন লার্নিং আর্কিটেক্ট। তিনি ডিস্ট্রিবিউটেড কম্পিউটিং এবং কৃত্রিম বুদ্ধিমত্তা সংক্রান্ত সমস্যা নিয়ে বড় উদ্যোগ থেকে শুরু করে মাঝারি আকারের স্টার্টআপ পর্যন্ত সংস্থাগুলির সাথে কাজ করেছেন। তিনি এনএলপি এবং কম্পিউটার ভিশন ডোমেন সহ গভীর শিক্ষার উপর মনোনিবেশ করেন। তিনি গ্রাহকদের Amazon SageMaker-এ উচ্চ-পারফরম্যান্স মডেল অনুমান অর্জনে সহায়তা করেন।

Amazon SageMaker PlatoBlockchain ডেটা ইন্টেলিজেন্সে রিয়েল-টাইম মডেল স্থাপনের সাথে শুরু করা। উল্লম্ব অনুসন্ধান. আ.সৌরভ ত্রিকন্দে অ্যামাজন সেজমেকার ইনফারেন্সের একজন সিনিয়র প্রোডাক্ট ম্যানেজার। তিনি গ্রাহকদের সাথে কাজ করার জন্য উত্সাহী এবং মেশিন লার্নিংকে গণতান্ত্রিক করার লক্ষ্য দ্বারা অনুপ্রাণিত৷ তিনি জটিল এমএল অ্যাপ্লিকেশন স্থাপন, মাল্টি-টেন্যান্ট এমএল মডেল, খরচ অপ্টিমাইজেশান, এবং গভীর শিক্ষার মডেলগুলিকে আরও অ্যাক্সেসযোগ্য করে তোলার সাথে সম্পর্কিত মূল চ্যালেঞ্জগুলিতে মনোনিবেশ করেন। অবসর সময়ে, সৌরভ হাইকিং, উদ্ভাবনী প্রযুক্তি সম্পর্কে শেখা, টেকক্রাঞ্চ অনুসরণ করা এবং তার পরিবারের সাথে সময় কাটানো উপভোগ করেন।

সময় স্ট্যাম্প:

থেকে আরো এডাব্লুএস মেশিন লার্নিং

AWS-এ ডিপ লার্নিং-ভিত্তিক অ্যাডভান্সড ড্রাইভার অ্যাসিস্ট্যান্স সিস্টেমের জন্য অটো-লেবেলিং মডিউল আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1855364
সময় স্ট্যাম্প: জুলাই 3, 2023

মেন্ডিক্স কিভাবে জেনারেটিভ এআই এবং অ্যামাজন বেডরক এর সাথে গ্রাহকদের অভিজ্ঞতা পরিবর্তন করছে আমাজন ওয়েব সার্ভিসেস

উত্স নোড: 1943843
সময় স্ট্যাম্প: জানুয়ারী 31, 2024