Amazon S3 অবজেক্ট Lambda PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে ML প্রিপ্রসেসিংয়ের খরচ এবং জটিলতা হ্রাস করুন। উল্লম্ব অনুসন্ধান. আ.

Amazon S3 অবজেক্ট Lambda এর সাথে ML প্রিপ্রসেসিং এর খরচ এবং জটিলতা হ্রাস করুন

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

এই ট্রেড-অফগুলি বিস্তৃতভাবে অনেক মেশিন লার্নিং (ML) পাইপলাইনগুলিতে প্রযোজ্য যা অন্যান্য উত্সগুলির মধ্যে অসংগঠিত ডেটা, যেমন অডিও, ভিডিও এবং ফ্রি-ফর্ম পাঠ্যের উপর প্রশিক্ষণ দেয়। প্রতিটি উদাহরণে, প্রশিক্ষণের কাজকে অবশ্যই S3 বালতি থেকে ডেটা ডাউনলোড করতে হবে, একটি অ্যাপ্লিকেশন-নির্দিষ্ট দৃশ্য প্রস্তুত করতে হবে এবং তারপরে একটি AI অ্যালগরিদম ব্যবহার করতে হবে। এই পোস্টটি খরচ, জটিলতা এবং কেন্দ্রীয়ভাবে এই দ্বিতীয় ধাপটি পরিচালনা করার জন্য একটি নকশা প্যাটার্ন প্রদর্শন করে। এটি কংক্রিট ব্যবহার করে চিত্র প্রক্রিয়াকরণের উদাহরণ, যদিও পদ্ধতিটি যেকোন কাজের চাপে ব্যাপকভাবে প্রযোজ্য। অর্থনৈতিক সুবিধাগুলিও সবচেয়ে বেশি উচ্চারিত হয় যখন রূপান্তর পদক্ষেপের জন্য GPU এর প্রয়োজন হয় না, কিন্তু AI অ্যালগরিদম করে।

প্রস্তাবিত সমাধানটি ডেটা ট্রান্সফরমেশন কোডকে কেন্দ্রীভূত করে এবং জাস্ট-ইন-টাইম (JIT) রূপান্তরকে সক্ষম করে। তদ্ব্যতীত, পদ্ধতিটি অপারেশনাল ওভারহেড এবং অপরিবর্তিত ভারী উত্তোলন কমাতে একটি সার্ভারহীন অবকাঠামো ব্যবহার করে।

সমাধান ওভারভিউ

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

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

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

নিম্নলিখিত চিত্রটি সমাধানের স্থাপত্যকে চিত্রিত করে।

মেশিন লার্নিং মডেলকে প্রশিক্ষণ দিতে ব্যবহৃত ডেটাসেটগুলিকে স্বাভাবিক করুন

এই সমাধানে, আপনার কাছে একটি S3 বালতি রয়েছে যাতে প্রক্রিয়াকরণের জন্য কাঁচা চিত্র রয়েছে। পরবর্তী, আপনি একটি তৈরি করুন S3 অ্যাক্সেস পয়েন্ট এই ইমেজ জন্য. আপনি যদি একাধিক ML মডেল তৈরি করেন, আপনি প্রতিটি মডেলের জন্য আলাদা S3 অ্যাক্সেস পয়েন্ট তৈরি করতে পারেন। বিকল্পভাবে, এডাব্লুএস আইডেন্টিটি এবং অ্যাক্সেস ম্যানেজমেন্ট (আমি) অ্যাক্সেস পয়েন্টের জন্য নীতি ML পাইপলাইন জুড়ে পুনঃব্যবহারযোগ্য ফাংশন শেয়ারিং সমর্থন করে। তারপর আপনি S3 অ্যাক্সেস পয়েন্টে আপনার প্রিপ্রসেসিং ব্যবসার যুক্তিযুক্ত একটি Lambda ফাংশন সংযুক্ত করুন। আপনি ডেটা পুনরুদ্ধার করার পরে, আপনি JIT ডেটা রূপান্তর সম্পাদন করতে S3 অ্যাক্সেস পয়েন্টে কল করবেন। অবশেষে, আপনি নতুন ব্যবহার করতে আপনার এমএল মডেল আপডেট করুন S3 অবজেক্ট ল্যাম্বডা অ্যাক্সেস পয়েন্ট Amazon S3 থেকে ডেটা পুনরুদ্ধার করতে।

স্বাভাবিকীকরণ অ্যাক্সেস পয়েন্ট তৈরি করুন

এই বিভাগটি S3 অবজেক্ট ল্যাম্বডা অ্যাক্সেস পয়েন্ট তৈরি করার ধাপগুলির মধ্য দিয়ে চলে।

কাঁচা ডেটা একটি S3 বালতিতে সংরক্ষণ করা হয়। অন্য অ্যাপ্লিকেশনে অপ্রত্যাশিত প্রভাব ফেলতে পারে এমন জটিল বালতি নীতিগুলি এড়িয়ে চলার সময় ব্যবহারকারীকে এই ডেটা অ্যাক্সেস করার জন্য অনুমতির সঠিক সেট প্রদান করতে, আপনাকে S3 অ্যাক্সেস পয়েন্ট তৈরি করতে হবে। S3 অ্যাক্সেস পয়েন্ট হল অনন্য হোস্ট নাম যা আপনি S3 বালতিতে পৌঁছানোর জন্য ব্যবহার করতে পারেন। S3 অ্যাক্সেস পয়েন্টের সাহায্যে, আপনি সহজেই এবং নিরাপদে ভাগ করা ডেটাসেটের অ্যাক্সেস নিয়ন্ত্রণ করতে প্রতিটি অ্যাক্সেস পয়েন্টের জন্য পৃথক অ্যাক্সেস নিয়ন্ত্রণ নীতি তৈরি করতে পারেন।

  1. আপনার অ্যাক্সেস পয়েন্ট তৈরি করুন.
  2. একটি Lambda ফাংশন তৈরি করুন যা চিত্রের আকার পরিবর্তন এবং রূপান্তর সম্পাদন করে। নিম্নলিখিত পাইথন কোড দেখুন:
import boto3
import cv2
import numpy as np
import requests
import io def lambda_handler(event, context): print(event) object_get_context = event["getObjectContext"] request_route = object_get_context["outputRoute"] request_token = object_get_context["outputToken"] s3_url = object_get_context["inputS3Url"] # Get object from S3 response = requests.get(s3_url) nparr = np.fromstring(response.content, np.uint8) img = cv2.imdecode(nparr, flags=1) # Transform object new_shape=(256,256) resized = cv2.resize(img, new_shape, interpolation= cv2.INTER_AREA) gray_scaled = cv2.cvtColor(resized,cv2.COLOR_BGR2GRAY) # Transform object is_success, buffer = cv2.imencode(".jpg", gray_scaled) if not is_success: raise ValueError('Unable to imencode()') transformed_object = io.BytesIO(buffer).getvalue() # Write object back to S3 Object Lambda s3 = boto3.client('s3') s3.write_get_object_response( Body=transformed_object, RequestRoute=request_route, RequestToken=request_token) return {'status_code': 200}
  1. তৈরি একটি অবজেক্ট ল্যাম্বডা অ্যাক্সেস পয়েন্ট ধাপ 1 থেকে সমর্থনকারী অ্যাক্সেস পয়েন্ট ব্যবহার করে।

Lambda ফাংশন মূল বস্তুগুলি ডাউনলোড করতে সমর্থনকারী অ্যাক্সেস পয়েন্ট ব্যবহার করে।

  1. আপডেট আমাজন সেজমেকার Amazon S3 থেকে ডেটা পুনরুদ্ধার করতে নতুন S3 অবজেক্ট Lambda অ্যাক্সেস পয়েন্ট ব্যবহার করতে। নিম্নলিখিত ব্যাশ কোড দেখুন:
aws s3api get-object --bucket arn:aws:s3-object-lambda:us-west-2:12345678901:accesspoint/image-normalizer --key images/test.png

খরচ সঞ্চয় বিশ্লেষণ

ঐতিহ্যগতভাবে, ML পাইপলাইনগুলি Amazon S3 থেকে SageMaker দৃষ্টান্তে চিত্র এবং অন্যান্য ফাইলগুলি অনুলিপি করে এবং তারপর স্বাভাবিককরণ সম্পাদন করে। যাইহোক, প্রশিক্ষণের দৃষ্টান্তে এই কর্মগুলিকে রূপান্তর করার অদক্ষতা রয়েছে। প্রথমে, ল্যাম্বডা বিস্ফোরণটি পরিচালনা করতে অনুভূমিকভাবে স্কেল করে তারপর স্থিতিস্থাপকভাবে সঙ্কুচিত হয়, শুধুমাত্র মিলিসেকেন্ড প্রতি চার্জিং যখন কোড চলছে। অনেক প্রিপ্রসেসিং ধাপে জিপিইউর প্রয়োজন হয় না এবং এমনকি ARM64 ব্যবহার করতে পারে। যে প্রক্রিয়াকরণ যেমন আরো অর্থনৈতিক কম্পিউটে সরানোর জন্য একটি উদ্দীপনা তৈরি করে AWS Graviton2 প্রসেসর দ্বারা চালিত Lambda ফাংশন.

থেকে একটি উদাহরণ ব্যবহার করে ল্যাম্বদা প্রাইসিং ক্যালকুলেটর, আপনি 256 MB মেমরি দিয়ে ফাংশনটি কনফিগার করতে পারেন এবং x86 এবং Graviton (ARM64) উভয়ের খরচ তুলনা করতে পারেন। আমরা এই আকারটি বেছে নিয়েছি কারণ এটি অনেক একক-চিত্র ডেটা প্রস্তুতির জন্য যথেষ্ট। পরবর্তী, ব্যবহার করুন সেজমেকার প্রাইসিং ক্যালকুলেটর একটি ml.p2.xlarge উদাহরণের জন্য খরচ গণনা করতে। এটি GPU সমর্থন সহ সবচেয়ে ছোট সমর্থিত SageMaker প্রশিক্ষণ উদাহরণ। এই ফলাফলগুলি GPU ব্যবহার করে না এবং Lambda-তে স্থানান্তরিত হতে পারে এমন অপারেশনগুলির জন্য 90% পর্যন্ত গণনা সঞ্চয় দেখায়। নিম্নলিখিত সারণী এই ফলাফলগুলি সংক্ষিপ্ত করে।

 

x86 সহ ল্যাম্বডা Lambda with Graviton2 (ARM) SageMaker ml.p2.xlarge
মেমরি (জিবি) 0.25 0.25 61
সিপিইউ  -  - 4
জিপিইউ  -  - 1
খরচ/ঘন্টা $0.061 $0.049 $0.90

উপসংহার

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

এটি কেবল নকলের প্রয়োজনীয়তা দূর করে না, তবে এটি অনুভূমিকভাবে কম ব্যয়বহুল গণনা জুড়ে এই ক্রিয়াগুলিকে স্কেল করার একটি পথও গঠন করে! এমনকি ml.p2.xlarge ইন্সট্যান্সের জন্য রূপান্তর কোড অপ্টিমাইজ করা এখনও নিষ্ক্রিয় GPU-এর কারণে উল্লেখযোগ্যভাবে বেশি ব্যয়বহুল হবে।

সার্ভারহীন এবং ML ব্যবহার সম্পর্কে আরও ধারণার জন্য, দেখুন AWS সার্ভারহীন ব্যবহার করে স্কেলে মেশিন লার্নিং ইনফারেন্স এবং সার্ভারহীন টেমপ্লেট সহ মেশিন লার্নিং মডেল স্থাপন করা.


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

Amazon S3 অবজেক্ট Lambda PlatoBlockchain ডেটা ইন্টেলিজেন্সের সাথে ML প্রিপ্রসেসিংয়ের খরচ এবং জটিলতা হ্রাস করুন। উল্লম্ব অনুসন্ধান. আ.Nate Bachmeier একজন AWS সিনিয়র সলিউশন আর্কিটেক্ট যাযাবরভাবে নিউ ইয়র্ক অন্বেষণ করেন, এক সময়ে একটি ক্লাউড ইন্টিগ্রেশন। তিনি গ্রাহকদের কাজের চাপকে স্থানান্তরিত এবং আধুনিকীকরণে বিশেষজ্ঞ। এটি ছাড়াও, ন্যাট একজন পূর্ণকালীন ছাত্র এবং তার দুটি সন্তান রয়েছে।

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

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

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

অ্যামাজন সেজমেকার ক্যানভাসের সাথে কোনও কোড এমএল মডেল তৈরি করার সময় সাধারণ ডেটা সমস্যাগুলি সনাক্ত করা এবং এড়ানো

উত্স নোড: 1753344
সময় স্ট্যাম্প: নভেম্বর 10, 2022