মেশিন লার্নিং (ML) অ্যাপ্লিকেশনগুলি স্থাপন করা জটিল এবং প্রায়শই একটি একক অনুমান অনুরোধ পরিবেশন করার জন্য একাধিক ML মডেলের প্রয়োজন হয়। প্রিপ্রসেসিং, ডেটা ট্রান্সফরমেশন, মডেল সিলেকশন লজিক, মডেল অ্যাগ্রিগেশন এবং পোস্টপ্রসেসিংয়ের মতো ধাপ সহ একটি সাধারণ অনুরোধ একাধিক মডেল জুড়ে প্রবাহিত হতে পারে। এটি সিরিয়াল ইনফারেন্স পাইপলাইন, এনসেম্বল (স্ক্যাটার গ্যাদার) এবং ব্যবসায়িক লজিক ওয়ার্কফ্লোগুলির মতো সাধারণ নকশার প্যাটার্নগুলির বিবর্তনের দিকে পরিচালিত করেছে, যার ফলে একটি নির্দেশিত অ্যাসাইক্লিক গ্রাফ (ডিএজি) হিসাবে অনুরোধের সম্পূর্ণ ওয়ার্কফ্লো উপলব্ধি করা হয়েছে। যাইহোক, কর্মপ্রবাহগুলি আরও জটিল হওয়ার ফলে, এটি এই অ্যাপ্লিকেশনগুলির সামগ্রিক প্রতিক্রিয়ার সময় বা লেটেন্সি বৃদ্ধির দিকে পরিচালিত করে যা সার্বিক ব্যবহারকারীর অভিজ্ঞতাকে প্রভাবিত করে। তদ্ব্যতীত, যদি এই উপাদানগুলি বিভিন্ন দৃষ্টান্তে হোস্ট করা হয়, তবে এই দৃষ্টান্তগুলির মধ্যে অতিরিক্ত নেটওয়ার্ক লেটেন্সি সামগ্রিক বিলম্বকে বাড়িয়ে দেয়। গ্রাহক সমর্থনে ভার্চুয়াল সহকারীর জন্য একটি জনপ্রিয় ML ব্যবহারের ক্ষেত্রে একটি উদাহরণ বিবেচনা করুন। একটি সাধারণ অনুরোধে স্পীচ রিকগনিশন, ন্যাচারাল ল্যাঙ্গুয়েজ প্রসেসিং (NLP), ডায়ালগ স্টেট ট্র্যাকিং, ডায়ালগ পলিসি, টেক্সট জেনারেশন এবং সবশেষে টেক্সট টু স্পিচ সহ বিভিন্ন ধাপ অতিক্রম করতে হতে পারে। অধিকন্তু, ব্যবহারকারীর মিথস্ক্রিয়াকে আরও ব্যক্তিগতকৃত করতে, আপনি অত্যাধুনিক, ট্রান্সফরমার-ভিত্তিক এনএলপি মডেলগুলি ব্যবহার করতে পারেন যেমন বিভিন্ন সংস্করণ বার্ট, বার্ট, এবং GPT. শেষ ফলাফল এই মডেল ensembles জন্য দীর্ঘ প্রতিক্রিয়া সময় এবং একটি দুর্বল গ্রাহক অভিজ্ঞতা.
সামগ্রিক থ্রুপুটের সাথে আপস না করে কম প্রতিক্রিয়ার সময় চালানোর একটি সাধারণ প্যাটার্ন হল এই মডেলগুলিকে একই উদাহরণে হোস্ট করা এবং এতে এম্বেড করা লাইটওয়েট ব্যবসায়িক যুক্তি। এই মডেলগুলিকে একই দৃষ্টান্তে একক বা একাধিক পাত্রের মধ্যে এনক্যাপসুলেট করা যেতে পারে যাতে চলমান প্রক্রিয়াগুলির জন্য বিচ্ছিন্নতা প্রদান করা যায় এবং লেটেন্সি কম রাখা যায়। উপরন্তু, সামগ্রিক লেটেন্সি ইনফারেন্স অ্যাপ্লিকেশন লজিক, মডেল অপ্টিমাইজেশান, অন্তর্নিহিত অবকাঠামো (গণনা, স্টোরেজ এবং নেটওয়ার্কিং সহ), এবং অন্তর্নিহিত ওয়েব সার্ভার অনুমান অনুরোধ গ্রহণের উপর নির্ভর করে। এনভিআইডিএ ট্রাইটন ইনফারেন্স সার্ভার অতি-লো (একক-ডিজিট মিলিসেকেন্ড) ইনফারেন্স লেটেন্সি সহ থ্রুপুট এবং হার্ডওয়্যার ব্যবহার সর্বাধিক করার বৈশিষ্ট্য সহ একটি ওপেন-সোর্স ইনফারেন্স পরিবেশনকারী সফ্টওয়্যার। এতে ML ফ্রেমওয়ার্কের ব্যাপক সমর্থন রয়েছে (টেনসরফ্লো, পাইটর্চ, ONNX, XGBoost, এবং NVIDIA TensorRT সহ) এবং GPUs, CPUs সহ অবকাঠামো ব্যাকএন্ড এবং এডাব্লুএস ইনফেরেন্টিয়া. অতিরিক্তভাবে, ট্রাইটন ইনফারেন্স সার্ভারের সাথে একীভূত করা হয়েছে আমাজন সেজমেকার, একটি সম্পূর্ণরূপে পরিচালিত এন্ড-টু-এন্ড ML পরিষেবা, রিয়েল-টাইম ইনফারেন্স বিকল্পগুলি সহ প্রদান করে৷ একক এবং মাল্টি মডেল হোস্টিং এই অনুমান বিকল্পগুলির মধ্যে একটি এর পিছনে একই পাত্রের মধ্যে একাধিক মডেল হোস্ট করা অন্তর্ভুক্ত একক শেষ বিন্দু, এবং হোস্টিং একাধিক পাত্র সহ একাধিক মডেল একটি একক শেষ বিন্দুর পিছনে।
2021 সালের নভেম্বরে, আমরা ঘোষণা করেছি সেজমেকারে ট্রাইটন ইনফারেন্স সার্ভারের ইন্টিগ্রেশন. AWS NVIDIA-এর সাথে ঘনিষ্ঠভাবে কাজ করেছে যাতে আপনি উভয় জগতের সেরাটা পেতে পারেন এবং AWS-এ Triton-এর সাথে মডেল স্থাপনকে আরও সহজ করতে পারেন।
এই পোস্টে, আমরা SageMaker-এ Triton Inference সার্ভার ব্যবহার করে GPU-তে স্কেলে ট্রান্সফরমার মডেল স্থাপনের জন্য সর্বোত্তম অনুশীলনগুলি দেখি। প্রথমত, আমরা সেজমেকারে লেটেন্সি সম্পর্কে মূল ধারণাগুলির একটি সারাংশ এবং পারফরম্যান্স টিউনিং নির্দেশিকাগুলির একটি ওভারভিউ দিয়ে শুরু করি। এর পরে, আমরা ট্রাইটন এবং এর বৈশিষ্ট্যগুলির একটি ওভারভিউ এবং সেইসাথে সেজমেকারে স্থাপনের জন্য উদাহরণ কোড প্রদান করি। অবশেষে, আমরা ব্যবহার করে লোড পরীক্ষা সঞ্চালন সেজমেকার ইনফারেন্স সুপারিশকারী এবং Hugging Face দ্বারা প্রদত্ত একটি জনপ্রিয় ট্রান্সফরমার মডেলের লোড টেস্টিং থেকে অন্তর্দৃষ্টি এবং উপসংহারগুলি সংক্ষিপ্ত করুন৷
আপনি পর্যালোচনা করতে পারেন নোটবই আমরা মডেল স্থাপন করতাম এবং কোড অন ব্যবহার করে আপনার নিজেরাই লোড পরীক্ষা করতাম GitHub.
SageMaker এ মডেল পরিবেশনের জন্য পারফরম্যান্স টিউনিং এবং অপ্টিমাইজেশান
পারফরম্যান্স টিউনিং এবং অপ্টিমাইজেশন একটি অভিজ্ঞতামূলক প্রক্রিয়া যা প্রায়ই একাধিক পুনরাবৃত্তি জড়িত। টিউন করার পরামিতিগুলির সংখ্যা সমন্বিত এবং কনফিগারেশন প্যারামিটার মানগুলির সেট একে অপরের থেকে স্বাধীন নয়। বিভিন্ন কারণ সর্বোত্তম প্যারামিটার টিউনিংকে প্রভাবিত করে, যার মধ্যে পেলোডের আকার, ধরন এবং অনুমান অনুরোধের প্রবাহ গ্রাফে এমএল মডেলের সংখ্যা, স্টোরেজের ধরন, কম্পিউট ইনস্ট্যান্স টাইপ, নেটওয়ার্ক পরিকাঠামো, অ্যাপ্লিকেশন কোড, ইনফরেন্স সার্ভিং সফ্টওয়্যার রানটাইম এবং কনফিগারেশন এবং আরও অনেক কিছু।
আপনি যদি ML মডেলগুলি স্থাপনের জন্য SageMaker ব্যবহার করেন, তাহলে আপনাকে সেরা মূল্য-কর্মক্ষমতা সহ একটি গণনা উদাহরণ নির্বাচন করতে হবে, যা একটি জটিল এবং পুনরাবৃত্তিমূলক প্রক্রিয়া যা পরীক্ষা-নিরীক্ষার কয়েক সপ্তাহ সময় নিতে পারে। প্রথমত, আপনার মডেলের রিসোর্স প্রয়োজনীয়তা এবং ইনপুট ডেটার আকারের উপর ভিত্তি করে আপনাকে 70 টিরও বেশি বিকল্পের মধ্যে সঠিক ML ইনস্ট্যান্স টাইপ বেছে নিতে হবে। এর পরে, আপনাকে নির্বাচিত উদাহরণ প্রকারের জন্য মডেলটি অপ্টিমাইজ করতে হবে। সবশেষে, আপনাকে লোড পরীক্ষা চালানোর জন্য পরিকাঠামোর ব্যবস্থা এবং পরিচালনা করতে হবে এবং সর্বোত্তম কর্মক্ষমতা এবং খরচের জন্য ক্লাউড কনফিগারেশন টিউন করতে হবে। এই সব মডেল স্থাপনা এবং বাজারে সময় বিলম্ব করতে পারে. উপরন্তু, সর্বোত্তম স্থাপনার কনফিগারেশন নির্বাচন করতে আপনাকে লেটেন্সি, থ্রুপুট এবং খরচের মধ্যে ট্রেড-অফ মূল্যায়ন করতে হবে। সেজমেকার ইনফারেন্স সুপারিশকারী স্বয়ংক্রিয়ভাবে সঠিক কম্পিউট ইনস্ট্যান্স টাইপ, ইনস্ট্যান্স কাউন্ট, কন্টেইনার প্যারামিটার এবং মডেল অপটিমাইজেশন নির্বাচন করে যাতে থ্রুপুট বাড়ানো যায়, লেটেন্সি কমানো যায় এবং খরচ কমানো যায়।
সেজমেকারে রিয়েল-টাইম ইনফারেন্স এবং লেটেন্সি
সেজমেকার রিয়েল-টাইম ইনফারেন্স অনুমান কাজের চাপের জন্য আদর্শ যেখানে আপনার রিয়েল-টাইম, ইন্টারেক্টিভ, কম লেটেন্সি প্রয়োজনীয়তা রয়েছে। সেজমেকার ইনফারেন্স এন্ডপয়েন্টের জন্য অনুমান অনুরোধের বিলম্বতা নিরীক্ষণের জন্য চারটি সর্বাধিক ব্যবহৃত মেট্রিক রয়েছে
- কন্টেইনার লেটেন্সি - অনুরোধ পাঠাতে যে সময় লাগে, মডেলের কন্টেইনার থেকে প্রতিক্রিয়া আনতে এবং কন্টেইনারে সম্পূর্ণ অনুমান। এই মেট্রিকটি অ্যামাজন ক্লাউডওয়াচের অংশ হিসাবে উপলব্ধ আমন্ত্রণ মেট্রিক্স সেজমেকার দ্বারা প্রকাশিত।
- মডেল লেটেন্সি - সমস্ত সেজমেকার কন্টেইনারের মোট সময় একটিতে অনুমান পাইপলাইন. এই মেট্রিকটি অ্যামাজন ক্লাউডওয়াচের অংশ হিসাবে উপলব্ধ আমন্ত্রণ মেট্রিক্স সেজমেকার দ্বারা প্রকাশিত।
- ওভারহেড লেটেন্সি - SageMaker অনুরোধটি গ্রহণ করার সময় থেকে পরিমাপ করা হয় যতক্ষণ না এটি ক্লায়েন্টকে একটি প্রতিক্রিয়া ফেরত দেয়, মডেল লেটেন্সি বিয়োগ করে। এই মেট্রিকটি অ্যামাজন ক্লাউডওয়াচের অংশ হিসাবে উপলব্ধ আমন্ত্রণ মেট্রিক্স সেজমেকার দ্বারা প্রকাশিত।
- এন্ড-টু-এন্ড লেটেন্সি - ক্লায়েন্ট অনুমান অনুরোধ পাঠানোর সময় থেকে এটি একটি প্রতিক্রিয়া ফিরে না পাওয়া পর্যন্ত পরিমাপ করা হয়। গ্রাহকরা এটিকে Amazon CloudWatch-এ কাস্টম মেট্রিক হিসেবে প্রকাশ করতে পারেন।
নিম্নলিখিত চিত্রটি এই উপাদানগুলিকে চিত্রিত করে।
ধারক লেটেন্সি বিভিন্ন কারণের উপর নির্ভর করে; নিম্নলিখিতগুলি সবচেয়ে গুরুত্বপূর্ণগুলির মধ্যে রয়েছে:
- অন্তর্নিহিত প্রোটোকল (HTTP(গুলি)/gRPC) অনুমান সার্ভারের সাথে যোগাযোগ করতে ব্যবহৃত হয়
- নতুন TLS সংযোগ তৈরির সাথে সম্পর্কিত ওভারহেড
- অনুরোধ/প্রতিক্রিয়া পেলোডের ডিসিরিয়ালাইজেশন সময়
- অন্তর্নিহিত অনুমান সার্ভার দ্বারা সরবরাহিত সারিবদ্ধ এবং ব্যাচিং বৈশিষ্ট্যগুলির জন্য অনুরোধ করুন৷
- অন্তর্নিহিত অনুমান সার্ভার দ্বারা প্রদত্ত সময়সূচী ক্ষমতার অনুরোধ করুন
- ইনফারেন্স সার্ভারের অন্তর্নিহিত রানটাইম কর্মক্ষমতা
- মডেল পূর্বাভাস ফাংশন কল করার আগে প্রিপ্রসেসিং এবং পোস্টপ্রসেসিং লাইব্রেরির পারফরম্যান্স
- অন্তর্নিহিত ML ফ্রেমওয়ার্ক ব্যাকএন্ড কর্মক্ষমতা
- মডেল-নির্দিষ্ট এবং হার্ডওয়্যার-নির্দিষ্ট অপ্টিমাইজেশান
এই পোস্টে, আমরা প্রাথমিকভাবে সামগ্রিক থ্রুপুট এবং খরচ সহ কন্টেইনার লেটেন্সি অপ্টিমাইজ করার উপর ফোকাস করি। বিশেষত, আমরা সেজমেকার কন্টেইনারের ভিতরে চলমান পারফরম্যান্স টিউনিং ট্রাইটন ইনফারেন্স সার্ভার অন্বেষণ করি।
কেস ওভারভিউ ব্যবহার করুন
প্রোডাকশন সেটআপে এনএলপি মডেল স্থাপন এবং স্কেল করা বেশ চ্যালেঞ্জিং হতে পারে। NLP মডেলগুলি প্রায়শই আকারে অনেক বড় হয়, যেখানে লক্ষ লক্ষ মডেল প্যারামিটার থাকে। প্রোডাকশন-গ্রেড NLP অ্যাপ্লিকেশনগুলির কঠোর কর্মক্ষমতা এবং স্কেলেবিলিটি প্রয়োজনীয়তাগুলি পূরণ করার জন্য সর্বোত্তম মডেল কনফিগারেশন প্রয়োজন।
এই পোস্টে, আমরা একটি ট্রাইটন ইনফারেন্স সার্ভার কন্টেইনারের উপর ভিত্তি করে একটি SageMaker রিয়েল-টাইম এন্ডপয়েন্ট ব্যবহার করে একটি NLP ব্যবহারের ক্ষেত্রে বেঞ্চমার্ক করি এবং আমাদের ML ব্যবহারের ক্ষেত্রে পারফরম্যান্স টিউনিং অপ্টিমাইজেশনের সুপারিশ করি। আমরা একটি বড়, প্রাক-প্রশিক্ষিত ট্রান্সফরমার-ভিত্তিক আলিঙ্গন মুখ ব্যবহার করি BERT বড় আনকেসড মডেল, যার প্রায় 336 মিলিয়ন মডেল প্যারামিটার রয়েছে। বাইনারি শ্রেণীবিভাগ মডেলের জন্য ব্যবহৃত ইনপুট বাক্যটি প্যাড করা হয় এবং 512 টোকেনের সর্বাধিক ইনপুট ক্রম দৈর্ঘ্যে কাটা হয়। অনুমান লোড পরীক্ষা প্রতি সেকেন্ডে 500টি আহ্বান (প্রতি মিনিটে 30,000 সর্বোচ্চ আহ্বান) অনুকরণ করে এবং ModelLatency
0.5 সেকেন্ডের কম (500 মিলিসেকেন্ড)।
নিম্নলিখিত টেবিলটি আমাদের বেঞ্চমার্ক কনফিগারেশনের সংক্ষিপ্ত বিবরণ দেয়।
ণশড | আলিঙ্গন মুখ bert-large-uncased |
মডেল আকার | 1.25 গিগাবাইট |
লেটেন্সি প্রয়োজন | 0.5 সেকেন্ড (500 মিলিসেকেন্ড) |
প্রতি সেকেন্ডে আহ্বান | 500টি অনুরোধ (30,000 প্রতি মিনিটে) |
ইনপুট ক্রম দৈর্ঘ্য | এক্সএনএমএক্সএক্স টোকেন |
এমএল টাস্ক | বাইনারি শ্রেণীবিভাগ |
এনভিআইডিএ ট্রাইটন ইনফারেন্স সার্ভার
ট্রাইটন ইনফারেন্স সার্ভারটি বিশেষভাবে তৈরি করা হয়েছে যাতে উৎপাদনে মডেলের স্কেলেবল, দ্রুত এবং সহজ স্থাপনা সক্ষম হয়। ট্রাইটন টেনসরফ্লো, টেনসরআরটি, পাইটর্চ, এক্সজিবিবুস্ট এবং ওএনএনএক্স সহ বিভিন্ন প্রধান এআই ফ্রেমওয়ার্ক সমর্থন করে। Python এবং C++ কাস্টম ব্যাকএন্ডের সাথে, আপনি আরও কাস্টমাইজড ব্যবহারের ক্ষেত্রে আপনার অনুমান কাজের চাপ প্রয়োগ করতে পারেন।
সবচেয়ে গুরুত্বপূর্ণ, Triton আপনার মডেলগুলি হোস্ট করার জন্য একটি সাধারণ কনফিগারেশন-ভিত্তিক সেটআপ প্রদান করে, যা আপনি সামান্য কোডিং প্রচেষ্টার সাথে ব্যবহার করতে পারেন এমন কর্মক্ষমতা অপ্টিমাইজেশান বৈশিষ্ট্যগুলির একটি সমৃদ্ধ সেট প্রকাশ করে৷
ট্রাইটন বিভিন্ন অপ্টিমাইজেশান কৌশল সহ হার্ডওয়্যার ব্যবহার সর্বাধিক করে অনুমান কার্যক্ষমতা বাড়ায় (সমসাময়িক মডেল রান এবং ডায়নামিক ব্যাচিং সবচেয়ে বেশি ব্যবহৃত হয়)। ডায়নামিক ব্যাচ আকারের বিভিন্ন সংমিশ্রণ থেকে সর্বোত্তম মডেল কনফিগারেশন খুঁজে পাওয়া এবং ট্রাইটন ব্যবহার করে কম খরচে পরিবেশনের মধ্যে রিয়েল টাইম ইনফরেন্স অর্জনের চাবিকাঠি।
ডায়নামিক ব্যাচিং
অনেক অনুশীলনকারী যখন একাধিক স্বাধীন অনুরোধের সাথে সার্ভারকে আহ্বান করা হয় তখন অনুক্রমিকভাবে অনুমান চালাতে থাকে। যদিও সেট আপ করা সহজ, এটি সাধারণত GPU এর কম্পিউট পাওয়ার ব্যবহার করার জন্য সর্বোত্তম অনুশীলন নয়। এটি মোকাবেলা করার জন্য, ট্রাইটন এর অন্তর্নির্মিত অপ্টিমাইজেশন অফার করে গতিশীল ব্যাচিং থ্রুপুট বাড়ানোর জন্য গতিশীলভাবে একটি বৃহত্তর ব্যাচ গঠন করতে সার্ভারের দিকে এই স্বাধীন অনুমান অনুরোধগুলিকে একত্রিত করতে। নিম্নলিখিত চিত্রটি ট্রাইটন রানটাইম আর্কিটেকচারকে চিত্রিত করে।
পূর্ববর্তী আর্কিটেকচারে, অনুমানের জন্য অপেক্ষা করার জন্য প্রকৃত মডেল শিডিয়ুলার সারিতে প্রবেশ করার আগে সমস্ত অনুরোধ ডায়নামিক ব্যাচারের কাছে পৌঁছায়। আপনি ব্যবহার করে গতিশীল ব্যাচিংয়ের জন্য আপনার পছন্দের ব্যাচের আকার সেট করতে পারেন পছন্দের_ব্যাচ_সাইজ মডেল কনফিগারেশনে সেটিংস। (উল্লেখ্য যে গঠিত ব্যাচের আকার এর থেকে কম হওয়া দরকার সর্বোচ্চ_ব্যাচ_সাইজ মডেল সমর্থন করে।) আপনি কনফিগার করতে পারেন সর্বোচ্চ_সারি_বিলম্ব_মাইক্রোসেকেন্ড আপনার লেটেন্সি প্রয়োজনীয়তার উপর ভিত্তি করে ব্যাচে যোগদানের জন্য অন্যান্য অনুরোধের জন্য অপেক্ষা করার জন্য ব্যাচারে সর্বোচ্চ বিলম্বের সময় নির্দিষ্ট করতে।
নিম্নলিখিত কোড স্নিপেটটি দেখায় যে আপনি প্রকৃত অনুমানের জন্য 16 এর পছন্দের ব্যাচ আকারের সাথে গতিশীল ব্যাচিং সেট করতে মডেল কনফিগারেশন ফাইলগুলির সাথে এই বৈশিষ্ট্যটি কীভাবে যুক্ত করতে পারেন৷ বর্তমান সেটিংসের সাথে, 16-এর পছন্দের ব্যাচের আকার পূরণ হলে বা প্রথম অনুরোধটি ডায়নামিক ব্যাচারের কাছে পৌঁছানোর পর থেকে 100 মাইক্রোসেকেন্ডের বিলম্বের সময় অতিবাহিত হয়ে গেলে তাৎক্ষণিকভাবে মডেল ইন্সট্যান্স চালু করা হয়।
একযোগে মডেল চলমান
অতিরিক্ত লেটেন্সি ওভারহেড ছাড়াই হার্ডওয়্যার ব্যবহার সর্বাধিক করার জন্য ট্রাইটনে দেওয়া আরেকটি অপরিহার্য অপ্টিমাইজেশন সমসাময়িক মডেল নির্বাহ, যা একাধিক মডেল বা একই মডেলের একাধিক কপি সমান্তরালভাবে চালানোর অনুমতি দেয়। এই বৈশিষ্ট্যটি ট্রাইটনকে একই সাথে একাধিক অনুমান অনুরোধগুলি পরিচালনা করতে সক্ষম করে, যা হার্ডওয়্যারে অন্যথায় নিষ্ক্রিয় গণনা শক্তি ব্যবহার করে অনুমান থ্রুপুট বৃদ্ধি করে।
নিচের চিত্রটি দেখায় যে আপনি কীভাবে সহজে কোড পরিবর্তনের কয়েকটি লাইনের সাথে বিভিন্ন মডেল স্থাপন নীতি কনফিগার করতে পারেন। উদাহরণস্বরূপ, কনফিগারেশন A (বাম) দেখায় যে আপনি দুটি মডেল দৃষ্টান্তের একই কনফিগারেশন সম্প্রচার করতে পারেন bert-large-uncased
সমস্ত উপলব্ধ GPU-তে। বিপরীতে, কনফিগারেশন B (মিডল) অন্যান্য GPU-তে নীতি পরিবর্তন না করে শুধুমাত্র GPU 0 এর জন্য একটি ভিন্ন কনফিগারেশন দেখায়। আপনি একটি একক GPU-তে বিভিন্ন মডেলের দৃষ্টান্ত স্থাপন করতে পারেন, যেমনটি কনফিগারেশন সি (ডানে) দেখানো হয়েছে।
কনফিগারেশন সি-তে, কম্পিউট ইনস্ট্যান্স ডিস্টিলজিপিটি-২ মডেলের জন্য দুটি সমবর্তী অনুরোধ এবং সাতটি সমবর্তী অনুরোধ পরিচালনা করতে পারে bert-large-uncased
সমান্তরাল মডেল। এই অপ্টিমাইজেশনগুলির সাথে, হার্ডওয়্যার সংস্থানগুলি পরিবেশন প্রক্রিয়ার জন্য আরও ভালভাবে ব্যবহার করা যেতে পারে, যার ফলে থ্রুপুট উন্নত হয় এবং আপনার কাজের চাপের জন্য আরও ভাল ব্যয়-দক্ষতা প্রদান করে।
টেনসরআরটি
NVIDIA TensorRT হাই-পারফরম্যান্স ডিপ লার্নিং ইনফারেন্সের জন্য একটি SDK যা ট্রাইটনের সাথে নির্বিঘ্নে কাজ করে। TensorRT, যা প্রতিটি প্রধান গভীর শিক্ষার কাঠামোকে সমর্থন করে, একটি অনুমান অপ্টিমাইজার এবং রানটাইম অন্তর্ভুক্ত করে যা শক্তিশালী অপ্টিমাইজেশনের মাধ্যমে বিপুল পরিমাণ ডেটা সহ অনুমান চালানোর জন্য কম লেটেন্সি এবং উচ্চ থ্রুপুট সরবরাহ করে।
TensorRT অপ্রয়োজনীয় মেমরি মুক্ত করে এবং দক্ষতার সাথে পুনঃব্যবহারের মাধ্যমে মেমরির পদচিহ্নকে ন্যূনতম করতে গ্রাফটিকে অপ্টিমাইজ করে। উপরন্তু, TensorRT সংকলন একাধিক ছোট কার্নেল লঞ্চের ওভারহেড এড়াতে মডেল গ্রাফের ভিতরে একটি বৃহত্তর কার্নেল তৈরি করতে স্পার্স অপারেশনগুলিকে ফিউজ করে। কার্নেল অটো-টিউনিং আপনাকে আপনার টার্গেট GPU-তে সেরা অ্যালগরিদম নির্বাচন করে হার্ডওয়্যারটিকে সম্পূর্ণরূপে ব্যবহার করতে সহায়তা করে। CUDA স্ট্রীমগুলি সেরা পারফরম্যান্সের জন্য আপনার GPU ব্যবহার সর্বাধিক করার জন্য মডেলগুলিকে সমান্তরালভাবে চলতে সক্ষম করে৷ শেষ কিন্তু অন্তত নয়, কোয়ান্টাইজেশন কৌশলটি টেনসর কোরের মিশ্র-নির্ভুল ত্বরণকে সম্পূর্ণরূপে ব্যবহার করতে পারে FP32, TF32, FP16, এবং INT8-এ মডেল চালানোর জন্য সর্বোত্তম অনুমান কার্যক্ষমতা অর্জন করতে।
সেজমেকার হোস্টিং-এ ট্রাইটন
সেজমেকার হোস্টিং পরিষেবাগুলি হল সেজমেকার বৈশিষ্ট্যগুলির সেট যার লক্ষ্য মডেল স্থাপন এবং পরিবেশন সহজতর করা। এটি সহজে স্থাপন, স্বয়ংক্রিয় স্কেল, মনিটর, এবং বিভিন্ন ব্যবহারের ক্ষেত্রে উপযোগী এমএল মডেল অপ্টিমাইজ করার জন্য বিভিন্ন বিকল্প সরবরাহ করে। এর মানে হল যে আপনি সার্ভারহীন বিকল্পগুলির সাথে অবিরাম এবং সর্বদা উপলব্ধ থেকে, ক্ষণস্থায়ী, দীর্ঘ-চলমান, বা ব্যাচ অনুমান প্রয়োজন পর্যন্ত সমস্ত ধরণের ব্যবহারের নিদর্শনগুলির জন্য আপনার স্থাপনা অপ্টিমাইজ করতে পারেন৷
সেজমেকার হোস্টিং ছাতার অধীনে সেজমেকার ইনফরেন্স ডিপ লার্নিং কন্টেইনার (ডিএলসি) এর সেটও রয়েছে, যা তাদের সংশ্লিষ্ট সমর্থিত এমএল ফ্রেমওয়ার্কের জন্য উপযুক্ত মডেল সার্ভার সফ্টওয়্যার সহ প্রিপ্যাকেজ করা হয়। এটি আপনাকে কোনও মডেল সার্ভার সেটআপ ছাড়াই উচ্চ অনুমান কার্যক্ষমতা অর্জন করতে সক্ষম করে, যা প্রায়শই মডেল স্থাপনের সবচেয়ে জটিল প্রযুক্তিগত দিক এবং সাধারণভাবে, ডেটা বিজ্ঞানীর দক্ষতা সেটের অংশ নয়। ট্রাইটন ইনফারেন্স সার্ভার এখন সহজলভ্য সেজমেকার ডিপ লার্নিং পাত্রে (DLC).
বিকল্পের এই বিস্তৃতি, মডুলারিটি, এবং বিভিন্ন পরিবেশন ফ্রেমওয়ার্কের ব্যবহারের সহজতা সেজমেকার এবং ট্রাইটনকে একটি শক্তিশালী ম্যাচ করে তোলে।
বেঞ্চমার্কিং পরীক্ষার ফলাফলের জন্য সেজমেকার ইনফারেন্স সুপারিশকারী
আমরা আমাদের পরীক্ষা চালানোর জন্য SageMaker Inference Recommender ব্যবহার করি। সেজমেকার ইনফারেন্স রেকমেন্ডার দুই ধরনের কাজ অফার করে: ডিফল্ট এবং অ্যাডভান্সড, যেমনটি নিচের চিত্রে দেখানো হয়েছে।
ডিফল্ট কাজ শুধুমাত্র মডেল এবং বেঞ্চমার্কে একটি নমুনা পেলোড সহ উদাহরণের প্রকারের সুপারিশ প্রদান করে। উদাহরণের সুপারিশগুলি ছাড়াও, পরিষেবাটি রানটাইম প্যারামিটারগুলিও অফার করে যা কর্মক্ষমতা উন্নত করে। ডিফল্ট কাজের সুপারিশগুলি উদাহরণ অনুসন্ধানকে সংকুচিত করার উদ্দেশ্যে করা হয়েছে৷ কিছু ক্ষেত্রে, এটি উদাহরণ পরিবার হতে পারে, এবং অন্যদের ক্ষেত্রে, এটি নির্দিষ্ট উদাহরণ প্রকার হতে পারে। ডিফল্ট কাজের ফলাফল তারপর উন্নত কাজের মধ্যে খাওয়ানো হয়.
উন্নত কাজ আরও সূক্ষ্ম-টিউন কর্মক্ষমতা আরো নিয়ন্ত্রণ প্রস্তাব. এই নিয়ন্ত্রণ বাস্তব পরিবেশ এবং উত্পাদন প্রয়োজনীয়তা অনুকরণ. এই নিয়ন্ত্রণগুলির মধ্যে রয়েছে ট্র্যাফিক প্যাটার্ন, যার লক্ষ্য হল বেঞ্চমার্কের জন্য অনুরোধের প্যাটার্ন তৈরি করা। আপনি ট্রাফিক প্যাটার্নের একাধিক ধাপ ব্যবহার করে র্যাম্প বা স্থির ট্রাফিক সেট করতে পারেন। উদাহরণস্বরূপ, একটি ব্যবহারকারীদের প্রাথমিক সংখ্যা 1 এর, স্পন রেট 1, এবং সময়কাল সেকেন্ড 600 এর ফলে 10 মিনিটের র্যাম্প ট্র্যাফিক শুরুতে 1 জন এবং শেষে 10 জন সমসাময়িক ব্যবহারকারীর সাথে হতে পারে। উপরন্তু, নিয়ন্ত্রণে, MaxInvocations এবং মডেল ল্যাটেন্সি থ্রেশহোল্ড উৎপাদনের থ্রেশহোল্ড সেট করুন, তাই যখন একটি থ্রেশহোল্ড অতিক্রম করা হয়, তখন বেঞ্চমার্কিং বন্ধ হয়ে যায়।
অবশেষে, সুপারিশ মেট্রিক্স থ্রুপুট, সর্বাধিক থ্রুপুটে লেটেন্সি এবং অনুমান প্রতি খরচ অন্তর্ভুক্ত করে, তাই তাদের তুলনা করা সহজ।
আমরা ট্রাফিক প্যাটার্নের উপর অতিরিক্ত নিয়ন্ত্রণ পেতে আমাদের পরীক্ষা চালানোর জন্য SageMaker Inference Recommender-এর উন্নত কাজের ধরন ব্যবহার করি এবং পরিবেশনকারী কন্টেইনারের কনফিগারেশন ঠিক করে ফেলি।
পরীক্ষা সেটআপ
আমরা সেজমেকার ইনফারেন্স রেকমেন্ডারের কাস্টম লোড টেস্ট ফিচার ব্যবহার করি আমাদের ব্যবহারের ক্ষেত্রে উল্লেখিত NLP প্রোফাইল বেঞ্চমার্ক করতে। আমরা প্রথমে NLP মডেল এবং ML টাস্ক সম্পর্কিত নিম্নলিখিত পূর্বশর্তগুলি সংজ্ঞায়িত করি। সেজমেকার ইনফারেন্স রেকমেন্ডার এই তথ্যটি ব্যবহার করে একটি ইনফারেন্স ডকার ইমেজ টানতে অ্যামাজন ইলাস্টিক কনটেইনার রেজিস্ট্রি (Amazon ECR) এবং SageMaker মডেল রেজিস্ট্রির সাথে মডেলটি নিবন্ধন করুন।
ডোমেইন | NATURAL_LANGUAGE_PROCESSING |
কার্য | FILL_MASK |
ফ্রেমওয়ার্ক | পাইটর্চ: 1.6.0 |
মডেল | bert-large-uncased |
সেজমেকার ইনফারেন্স রেকমেন্ডারের ট্র্যাফিক প্যাটার্ন কনফিগারেশন আমাদের কাস্টম লোড পরীক্ষার জন্য বিভিন্ন পর্যায় সংজ্ঞায়িত করতে দেয়। লোড পরীক্ষা দুটি প্রাথমিক ব্যবহারকারীর সাথে শুরু হয় এবং প্রতি মিনিটে দুটি নতুন ব্যবহারকারীর জন্ম দেয়, মোট 25 মিনিট (1500 সেকেন্ড) সময়কালের জন্য, নিম্নলিখিত কোডে দেখানো হয়েছে:
আমরা দুটি ভিন্ন রাজ্যে একই মডেল লোড টেস্টিং নিয়ে পরীক্ষা করি। PyTorch-ভিত্তিক পরীক্ষাগুলি স্ট্যান্ডার্ড, অপরিবর্তিত PyTorch মডেল ব্যবহার করে। TensorRT-ভিত্তিক পরীক্ষার জন্য, আমরা PyTorch মডেলটিকে আগে থেকেই একটি TensorRT ইঞ্জিনে রূপান্তর করি।
আমরা এই দুটি মডেলে পারফরম্যান্স অপ্টিমাইজেশান বৈশিষ্ট্যগুলির বিভিন্ন সমন্বয় প্রয়োগ করি, যা নিম্নলিখিত সারণীতে সংক্ষিপ্ত করা হয়েছে।
কনফিগারেশন নাম | কনফিগারেশন বিবরণ | মডেল কনফিগারেশন |
pt-base |
PyTorch বেসলাইন | বেস পাইটর্চ মডেল, কোন পরিবর্তন নেই |
pt-db |
গতিশীল ব্যাচিং সহ PyTorch | dynamic_batching {} |
pt-ig |
একাধিক মডেল উদাহরণ সহ PyTorch | instance_group [ { count: 2 kind: KIND_GPU } ] |
pt-ig-db |
একাধিক মডেল উদাহরণ এবং গতিশীল ব্যাচিং সহ PyTorch | dynamic_batching {}, instance_group [ { count: 2 kind: KIND_GPU } ] |
trt-base |
TensorRT বেসলাইন | PyTorch মডেল TensoRT দিয়ে সংকলিত trtexec উপযোগ |
trt-db |
ডায়নামিক ব্যাচিং সহ TensorRT | dynamic_batching {} |
trt-ig |
একাধিক মডেল উদাহরণ সহ TensorRT | instance_group [ { count: 2 kind: KIND_GPU } ] |
trt-ig-db |
একাধিক মডেল উদাহরণ এবং গতিশীল ব্যাচিং সহ TensorRT | dynamic_batching {}, instance_group [ { count: 2 kind: KIND_GPU } ] |
পরীক্ষার ফলাফল এবং পর্যবেক্ষণ
আমরা একই g4dn পরিবারের মধ্যে তিনটি উদাহরণের জন্য লোড পরীক্ষা পরিচালনা করেছি: ml.g4dn.xlarge, ml.g4dn.2xlarge এবং ml.g4dn.12xlarge। সমস্ত g4dn ইন্সট্যান্স প্রকারের NVIDIA T4 টেনসর কোর জিপিইউ এবং দ্বিতীয় প্রজন্মের ইন্টেল ক্যাসকেড লেক প্রসেসরগুলিতে অ্যাক্সেস রয়েছে। উদাহরণের ধরন বেছে নেওয়ার পিছনে যুক্তি ছিল শুধুমাত্র একটি জিপিইউ উপলব্ধ সহ একটি দৃষ্টান্ত, পাশাপাশি একাধিক জিপিইউ-তে অ্যাক্সেস সহ একটি উদাহরণ- ml.g2dn.4xlarge-এর ক্ষেত্রে চারটি। উপরন্তু, আমরা পরীক্ষা করতে চেয়েছিলাম যে শুধুমাত্র একটি উপলব্ধ জিপিইউ সহ উদাহরণে ভিসিপিইউ ক্ষমতা বৃদ্ধি করলে খরচ-পারফরম্যান্স অনুপাতের উন্নতি হবে কিনা।
আসুন প্রথমে স্বতন্ত্র অপ্টিমাইজেশানের গতিতে যাই। নিম্নলিখিত গ্রাফটি দেখায় যে TensorRT অপ্টিমাইজেশান ml.g50dn.xlarge উদাহরণে PyTorch-এর নেটিভের তুলনায় মডেল লেটেন্সিতে 4% হ্রাস প্রদান করে। ml.g4dn.12xlarge-এর মাল্টি-GPU দৃষ্টান্তে এই লেটেন্সি হ্রাস তিন গুণের বেশি হয়ে যায়। এদিকে, 30% থ্রুপুট উন্নতি উভয় ক্ষেত্রেই সামঞ্জস্যপূর্ণ, যার ফলে TensorRT অপ্টিমাইজেশন প্রয়োগ করার পরে আরও ভাল খরচ-কার্যকারিতা পাওয়া যায়।
ডায়নামিক ব্যাচিংয়ের মাধ্যমে, আমরা লক্ষণীয় লেটেন্সি বৃদ্ধি ছাড়াই ml.g2dn.xlarge, ml.g4dn.4xlarge এবং ml.g2dn.4xlarge-এর সমস্ত পরীক্ষায় একই হার্ডওয়্যার আর্কিটেকচার ব্যবহার করে থ্রুপুটে 12x উন্নতি করতে পারি।
একইভাবে, সমসাময়িক মডেল এক্সিকিউশন আমাদেরকে ml.g3dn.xlarge ইনস্ট্যান্সে GPU ব্যবহার সর্বাধিক করে থ্রুপুটে প্রায় 4-4x উন্নতি এবং ml.g2dn.4xlarge এবং ml-এর মাল্টি-GPU ইনস্ট্যান্স উভয় ক্ষেত্রেই প্রায় 2x উন্নতি করতে সক্ষম করে। g4dn.12xlarge.. এই থ্রুপুট বৃদ্ধি লেটেন্সিতে কোনো ওভারহেড ছাড়াই আসে।
আরও ভাল, আমরা হার্ডওয়্যার সংস্থানগুলিকে সম্পূর্ণরূপে ব্যবহার করে সেরা পারফরম্যান্স প্রদানের জন্য এই সমস্ত অপ্টিমাইজেশানগুলিকে একীভূত করতে পারি। নিম্নলিখিত সারণী এবং গ্রাফগুলি আমাদের পরীক্ষায় প্রাপ্ত ফলাফলগুলিকে সংক্ষিপ্ত করে।
কনফিগারেশন নাম | মডেল অপ্টিমাইজেশান |
প্রগতিশীল ছোট্ট |
ইনস্ট্যান্স গ্রুপ কনফিগারেশন | দৃষ্টান্তের ধরণ | vCPUs | জিপিইউ |
জিপিইউ মেমরি (জিবি) |
প্রাথমিক উদাহরণ গণনা[1] | ইনস্ট্যান্স প্রতি মিনিট প্রতি আহ্বান | মডেল লেটেন্সি | প্রতি ঘন্টা খরচ[2] |
pt-বেস | NA | না | NA | ml.g4dn.xlarge | 4 | 1 | 16 | 62 | 490 | 1500 | 45.6568 |
pt-db | NA | হাঁ | NA | ml.g4dn.xlarge | 4 | 1 | 16 | 57 | 529 | 1490 | 41.9748 |
pt-ig | NA | না | 2 | ml.g4dn.xlarge | 4 | 1 | 16 | 34 | 906 | 868 | 25.0376 |
pt-ig-db | NA | হাঁ | 2 | ml.g4dn.xlarge | 4 | 1 | 16 | 34 | 892 | 1158 | 25.0376 |
trt-বেস | টেনসরআরটি | না | NA | ml.g4dn.xlarge | 4 | 1 | 16 | 47 | 643 | 742 | 34.6108 |
trt-db | টেনসরআরটি | হাঁ | NA | ml.g4dn.xlarge | 4 | 1 | 16 | 28 | 1078 | 814 | 20.6192 |
trt-ig | টেনসরআরটি | না | 2 | ml.g4dn.xlarge | 4 | 1 | 16 | 14 | 2202 | 1273 | 10.3096 |
trt-db-ig | টেনসরআরটি | হাঁ | 2 | ml.g4dn.xlarge | 4 | 1 | 16 | 10 | 3192 | 783 | 7.364 |
pt-বেস | NA | না | NA | ml.g4dn.2x বড় | 8 | 1 | 32 | 56 | 544 | 1500 | 52.64 |
pt-db | NA | হাঁ | NA | ml.g4dn.2x বড় | 8 | 1 | 32 | 59 | 517 | 1500 | 55.46 |
pt-ig | NA | না | 2 | ml.g4dn.2x বড় | 8 | 1 | 32 | 29 | 1054 | 960 | 27.26 |
pt-ig-db | NA | হাঁ | 2 | ml.g4dn.2x বড় | 8 | 1 | 32 | 30 | 1017 | 992 | 28.2 |
trt-বেস | টেনসরআরটি | না | NA | ml.g4dn.2x বড় | 8 | 1 | 32 | 42 | 718 | 1494 | 39.48 |
trt-db | টেনসরআরটি | হাঁ | NA | ml.g4dn.2x বড় | 8 | 1 | 32 | 23 | 1335 | 499 | 21.62 |
trt-ig | টেনসরআরটি | না | 2 | ml.g4dn.2x বড় | 8 | 1 | 32 | 23 | 1363 | 1017 | 21.62 |
trt-db-ig | টেনসরআরটি | হাঁ | 2 | ml.g4dn.2x বড় | 8 | 1 | 32 | 22 | 1369 | 963 | 20.68 |
pt-বেস | NA | না | NA | ml.g4dn.12x বড় | 48 | 4 | 192 | 15 | 2138 | 906 | 73.35 |
pt-db | NA | হাঁ | NA | ml.g4dn.12x বড় | 48 | 4 | 192 | 15 | 2110 | 907 | 73.35 |
pt-ig | NA | না | 2 | ml.g4dn.12x বড় | 48 | 4 | 192 | 8 | 3862 | 651 | 39.12 |
pt-ig-db | NA | হাঁ | 2 | ml.g4dn.12x বড় | 48 | 4 | 192 | 8 | 3822 | 642 | 39.12 |
trt-বেস | টেনসরআরটি | না | NA | ml.g4dn.12x বড় | 48 | 4 | 192 | 11 | 2892 | 279 | 53.79 |
trt-db | টেনসরআরটি | হাঁ | NA | ml.g4dn.12x বড় | 48 | 4 | 192 | 6 | 5356 | 278 | 29.34 |
trt-ig | টেনসরআরটি | না | 2 | ml.g4dn.12x বড় | 48 | 4 | 192 | 6 | 5210 | 328 | 29.34 |
trt-db-ig | টেনসরআরটি | হাঁ | 2 | ml.g4dn.12x বড় | 48 | 4 | 192 | 6 | 5235 | 439 | 29.34 |
[১] উপরের সারণীতে প্রারম্ভিক দৃষ্টান্ত গণনা হল আপনার কাজের চাপের জন্য থ্রুপুট এবং লেটেন্সি প্রয়োজনীয়তা বজায় রাখার জন্য একটি অটোস্কেলিং নীতির সাথে ব্যবহার করার জন্য প্রস্তাবিত দৃষ্টান্তের সংখ্যা।
[২] উপরোক্ত সারণীতে প্রতি ঘণ্টার খরচ প্রাথমিক উদাহরণের গণনা এবং উদাহরণের প্রকারের মূল্যের উপর ভিত্তি করে গণনা করা হয়।
ফলাফলগুলি বেশিরভাগ প্রভাবকে যাচাই করে যা বিভিন্ন কর্মক্ষমতা অপ্টিমাইজেশান বৈশিষ্ট্যগুলির থেকে প্রত্যাশিত ছিল:
- TensorRT সংকলন সব ধরনের উদাহরণ জুড়ে সবচেয়ে নির্ভরযোগ্য প্রভাব আছে। টেনসরআরটি ইঞ্জিনের কর্মক্ষমতা ডিফল্ট পাইটর্চ বিইআরটি (
pt-base
) TensorRT ইঞ্জিনের বর্ধিত কর্মক্ষমতা অন্যান্য পরীক্ষিত পারফরম্যান্স টিউনিং বৈশিষ্ট্যগুলির দ্বারা সংমিশ্রিত এবং শোষিত হয়। - প্রতিটি GPU (উদাহরণ গ্রুপ) তে দুটি মডেল লোড করা প্রায় কঠোরভাবে সমস্ত পরিমাপ করা মেট্রিককে দ্বিগুণ করে। প্রতি মিনিটে প্রতি ইন্সট্যান্সের আমন্ত্রণ প্রায় 80-90% বৃদ্ধি পেয়েছে, 50% পরিসরে খরচ কমানো হয়েছে, প্রায় যেন আমরা দুটি GPU ব্যবহার করছি। আসলে, অ্যামাজন ক্লাউডওয়াচ g4dn.2xlarge-এ আমাদের পরীক্ষা-নিরীক্ষার মেট্রিক্স (উদাহরণস্বরূপ) নিশ্চিত করে যে যখন আমরা দুটি মডেলের একটি ইনস্ট্যান্স গ্রুপ কনফিগার করি তখন CPU এবং GPU উভয়ের ব্যবহার দ্বিগুণ হয়।
আরও কর্মক্ষমতা এবং খরচ-অপ্টিমাইজেশান টিপস
এই পোস্টে উপস্থাপিত বেঞ্চমার্কটি সম্ভাব্য বৈশিষ্ট্য এবং কৌশলগুলির পৃষ্ঠকে স্ক্র্যাচ করেছে যা আপনি অনুমান কার্যক্ষমতা উন্নত করতে ট্রাইটনের সাথে ব্যবহার করতে পারেন। এগুলি ডেটা প্রিপ্রসেসিং কৌশল থেকে শুরু করে, যেমন মডেল সার্ভারে বাইনারি পেলোড পাঠানো বা বড় ব্যাচ সহ পেলোডগুলি, নেটিভ ট্রিটন বৈশিষ্ট্যগুলিতে, যেমন নিম্নলিখিতগুলি:
- মডেল ওয়ার্মআপ, যা প্রথম অনুমান অনুরোধ পাওয়ার আগে মডেলটিকে সম্পূর্ণরূপে আরম্ভ করে প্রাথমিক, ধীর অনুমান অনুরোধগুলিকে প্রতিরোধ করে।
- প্রতিক্রিয়া ক্যাশে, যা বারবার অনুরোধ ক্যাশে করে।
- মডেল ensembling, যা আপনাকে এক বা একাধিক মডেলের একটি পাইপলাইন এবং সেই মডেলগুলির মধ্যে ইনপুট এবং আউটপুট টেনসরের সংযোগ তৈরি করতে সক্ষম করে। এটি প্রতিটি অনুরোধের জন্য প্রসেসিং প্রবাহে প্রি-প্রসেসিং এবং পোস্টপ্রসেসিং ধাপগুলি বা এমনকি অন্যান্য মডেলের সাথে অনুমান করার সম্ভাবনা উন্মুক্ত করে।
আমরা ভবিষ্যতের পোস্টে এই কৌশল এবং বৈশিষ্ট্যগুলি পরীক্ষা এবং বেঞ্চমার্ক করার আশা করি, তাই সাথে থাকুন!
উপসংহার
এই পোস্টে, আমরা কয়েকটি পরামিতি অন্বেষণ করেছি যা আপনি Triton Inference সার্ভারের সাথে PyTorch BERT মডেলগুলি পরিবেশন করার জন্য আপনার SageMaker রিয়েল-টাইম এন্ডপয়েন্টের কর্মক্ষমতা সর্বাধিক করতে ব্যবহার করতে পারেন। আমরা এই পরামিতিগুলিকে সূক্ষ্ম সুর করার জন্য বেঞ্চমার্কিং পরীক্ষাগুলি সম্পাদন করতে সেজমেকার ইনফারেন্স রেকমেন্ডার ব্যবহার করেছি। এই প্যারামিটারগুলি মূলত TensorRT-ভিত্তিক মডেল অপ্টিমাইজেশানের সাথে সম্পর্কিত, যা অ-অপ্টিমাইজ করা সংস্করণের তুলনায় প্রতিক্রিয়ার সময়ে প্রায় 50% উন্নতির দিকে পরিচালিত করে। উপরন্তু, একযোগে মডেলগুলি চালানো এবং ট্রাইটনের গতিশীল ব্যাচিং ব্যবহার করার ফলে থ্রুপুট প্রায় 70% বৃদ্ধি পেয়েছে। এই পরামিতিগুলিকে সূক্ষ্ম-টিউন করার ফলে অনুমান খরচের সামগ্রিক হ্রাসও ঘটে।
সঠিক মান বের করার সর্বোত্তম উপায় হল পরীক্ষার মাধ্যমে। যাইহোক, পারফরম্যান্স টিউনিং এবং অপ্টিমাইজেশানের উপর অভিজ্ঞতামূলক জ্ঞান তৈরি করা শুরু করার জন্য, আপনি বিভিন্ন ট্রাইটন-সম্পর্কিত প্যারামিটারের সংমিশ্রণ এবং ML মডেল এবং SageMaker ML দৃষ্টান্ত জুড়ে কর্মক্ষমতার উপর তাদের প্রভাব পর্যবেক্ষণ করতে পারেন।
SageMaker ML জীবনচক্রের প্রতিটি পর্যায় থেকে অপ্রত্যাশিত ভারী উত্তোলন অপসারণের জন্য সরঞ্জামগুলি সরবরাহ করে, যার ফলে আপনার মডেল স্থাপনাগুলি সম্পূর্ণরূপে অপ্টিমাইজ করার জন্য প্রয়োজনীয় দ্রুত পরীক্ষা-নিরীক্ষা এবং অন্বেষণকে সহজতর করে৷
আপনি লোড পরীক্ষা এবং স্থাপনার জন্য ব্যবহৃত নোটবুক খুঁজে পেতে পারেন GitHub. খরচ-কার্যকর এবং সেরা-পারফর্মিং ইনফারেন্স ওয়ার্কলোডগুলি অর্জন করতে আপনি আপনার ব্যবহারের ক্ষেত্রে সর্বোত্তমভাবে ফিট করার জন্য ট্রাইটন কনফিগারেশন এবং সেজমেকার ইনফারেন্স রেকমেন্ডার সেটিংস আপডেট করতে পারেন।
লেখক সম্পর্কে
বিক্রম এলাঙ্গো ভার্জিনিয়া মার্কিন যুক্তরাষ্ট্রে অবস্থিত অ্যামাজন ওয়েব সার্ভিসেস-এর একজন AI/ML বিশেষজ্ঞ সমাধান স্থপতি৷ বিক্রম আর্থিক এবং বীমা শিল্পের গ্রাহকদের ডিজাইন, চিন্তার নেতৃত্ব দিয়ে মেশিন লার্নিং অ্যাপ্লিকেশন তৈরি এবং স্থাপনে সাহায্য করে। তিনি বর্তমানে এন্টারপ্রাইজ জুড়ে প্রাকৃতিক ভাষা প্রক্রিয়াকরণ, দায়িত্বশীল এআই, ইনফারেন্স অপ্টিমাইজেশান এবং এমএল স্কেলিং এর উপর দৃষ্টি নিবদ্ধ করছেন। তার অবসর সময়ে, তিনি তার পরিবারের সাথে ভ্রমণ, হাইকিং, রান্না এবং ক্যাম্পিং উপভোগ করেন।
জোয়াও মৌরা অ্যামাজন ওয়েব সার্ভিসেসের একজন এআই/এমএল বিশেষজ্ঞ সলিউশন আর্কিটেক্ট। তিনি বেশিরভাগ ক্ষেত্রে এনএলপি ব্যবহারের ক্ষেত্রে এবং গ্রাহকদের ডিপ লার্নিং মডেল প্রশিক্ষণ এবং স্থাপনাকে অপ্টিমাইজ করতে সহায়তা করে। তিনি লো-কোড এমএল সমাধান এবং এমএল-বিশেষ হার্ডওয়্যারের সক্রিয় প্রবক্তা।
মোহন গান্ধী AWS-এর একজন সিনিয়র সফটওয়্যার ইঞ্জিনিয়ার। তিনি গত 9 বছর ধরে AWS এর সাথে আছেন এবং বিভিন্ন AWS পরিষেবা যেমন EMR, EFA এবং RDS ফাঁড়িতে কাজ করেছেন। বর্তমানে, তিনি সেজমেকার ইনফারেন্স এক্সপেরিয়েন্স উন্নত করার দিকে মনোনিবেশ করছেন। তার অবসর সময়ে, তিনি হাইকিং এবং ম্যারাথন দৌড় উপভোগ করেন।
ধাওয়াল প্যাটেল AWS-এর একজন প্রধান মেশিন লার্নিং আর্কিটেক্ট। তিনি ডিস্ট্রিবিউটেড কম্পিউটিং এবং কৃত্রিম বুদ্ধিমত্তা সম্পর্কিত সমস্যা নিয়ে বড় উদ্যোগ থেকে শুরু করে মাঝারি আকারের স্টার্টআপ পর্যন্ত সংস্থাগুলির সাথে কাজ করেছেন। তিনি এনএলপি এবং কম্পিউটার ভিশন ডোমেন সহ গভীর শিক্ষার উপর ফোকাস করেন। তিনি গ্রাহকদের SageMaker-এ উচ্চ কর্মক্ষমতা মডেল অনুমান অর্জনে সহায়তা করেন।
সন্তোষ ভবানী আমাজন সেজমেকার ইলাস্টিক ইনফারেন্স টিমের সাথে সিনিয়র টেকনিক্যাল প্রোডাক্ট ম্যানেজার। তিনি সেজমেকার গ্রাহকদেরকে মডেল অনুমিতকরণ এবং স্থাপনাকে ত্বরান্বিত করতে সহায়তা করার দিকে মনোনিবেশ করেন। অবসর সময়ে তিনি ভ্রমণ, টেনিস খেলতে এবং প্রচুর পুয়ের চা পান করতে উপভোগ করেন।
জিয়াহং লিউ NVIDIA-এর ক্লাউড পরিষেবা প্রদানকারী দলের একজন সমাধান স্থপতি। তিনি ক্লায়েন্টদের মেশিন লার্নিং এবং এআই সমাধান গ্রহণে সহায়তা করেন যা তাদের প্রশিক্ষণ এবং অনুমান চ্যালেঞ্জ মোকাবেলায় NVIDIA ত্বরিত কম্পিউটিংকে সুবিধা দেয়। অবসর সময়ে, তিনি অরিগামি, DIY প্রকল্প এবং বাস্কেটবল খেলা উপভোগ করেন।
- Coinsmart. ইউরোপের সেরা বিটকয়েন এবং ক্রিপ্টো এক্সচেঞ্জ।
- প্লেটোব্লকচেন। Web3 মেটাভার্স ইন্টেলিজেন্স। জ্ঞান প্রসারিত. বিনামূল্যে এক্সেস.
- ক্রিপ্টোহক। Altcoin রাডার। বিনামূল্যে ট্রায়াল.
- সূত্র: https://aws.amazon.com/blogs/machine-learning/achieve-hyperscale-performance-for-model-serving-using-nvidia-triton-inference-server-on-amazon-sagemaker/
- "
- 000
- 10
- 100
- 2021
- 70
- 77
- 84
- 9
- সম্পর্কে
- দ্রুততর করা
- দ্রুততর
- প্রবেশ
- দিয়ে
- সক্রিয়
- যোগ
- অতিরিক্ত
- ঠিকানা
- অগ্রসর
- AI
- অ্যালগরিদম
- সব
- যদিও
- মর্দানী স্ত্রীলোক
- অ্যামাজন ওয়েব সার্ভিসেস
- মধ্যে
- ঘোষিত
- আবেদন
- অ্যাপ্লিকেশন
- প্রয়োগ করা হচ্ছে
- যথাযথ
- আন্দাজ
- স্থাপত্য
- কাছাকাছি
- কৃত্রিম
- কৃত্রিম বুদ্ধিমত্তা
- সহায়ক
- গাড়ী
- সহজলভ্য
- ডেস্কটপ AWS
- বাস্কেটবল
- শুরু
- উচ্চতার চিহ্ন
- সর্বোত্তম
- সেরা অভ্যাস
- নির্মাণ করা
- ভবন
- বিল্ট-ইন
- ব্যবসায়
- পেতে পারি
- ক্ষমতা
- ধারণক্ষমতা
- মামলা
- চ্যালেঞ্জ
- চ্যালেঞ্জিং
- বেছে নিন
- শ্রেণীবিন্যাস
- ক্লায়েন্ট
- মেঘ
- কোড
- কোডিং
- সমন্বয়
- আসা
- সাধারণ
- তুলনা
- সম্পূর্ণরূপে
- জটিল
- সন্দেহজনক
- গনা
- কম্পিউটার
- কম্পিউটিং
- কনফিগারেশন
- সংযোগ
- আধার
- কন্টেনারগুলি
- নিয়ন্ত্রণ
- মূল
- অনুরূপ
- সাশ্রয়ের
- পারা
- সৃষ্টি
- তৈরি করা হচ্ছে
- বর্তমান
- এখন
- প্রথা
- ক্রেতা
- গ্রাহক অভিজ্ঞতা
- গ্রাহক সমর্থন
- গ্রাহকদের
- উপাত্ত
- বিলম্ব
- বিতরণ
- নির্ভর করে
- স্থাপন
- মোতায়েন
- বিস্তৃতি
- স্থাপনার
- নকশা
- পরিকল্পিত
- বিভিন্ন
- বণ্টিত
- ডিস্ট্রিবিউটেড কম্পিউটিং
- DIY
- ডকশ্রমিক
- ডোমেইনের
- ডবল
- নিচে
- ড্রাইভ
- প্রগতিশীল
- সহজে
- প্রভাব
- দক্ষতার
- প্রচেষ্টা
- সক্ষম করা
- শেষপ্রান্ত
- ইঞ্জিন
- প্রকৌশলী
- উদ্যোগ
- পরিবেশ
- সারমর্ম
- অপরিহার্য
- মূল্যায়ন
- বিবর্তন
- উদাহরণ
- ফাঁসি
- আশা করা
- প্রত্যাশিত
- অভিজ্ঞতা
- পরীক্ষা
- অন্বেষণ
- অন্বেষণ করুণ
- মুখ
- কারণের
- পরিবার
- বৈশিষ্ট্য
- বৈশিষ্ট্য
- প্রতিপালিত
- ব্যক্তিত্ব
- পরিশেষে
- আর্থিক
- আবিষ্কার
- প্রথম
- ফিট
- প্রবাহ
- কেন্দ্রবিন্দু
- দৃষ্টি নিবদ্ধ করা
- গুরুত্ত্ব
- অনুসরণ
- পদাঙ্ক
- ফর্ম
- ফ্রেমওয়ার্ক
- অধিকতর
- ভবিষ্যৎ
- সাধারণ
- প্রজন্ম
- জিপিইউ
- গ্রুপ
- নির্দেশিকা
- হার্ডওয়্যারের
- উচ্চতা
- সাহায্য
- সাহায্য
- উচ্চ
- হোস্ট
- হোস্টিং
- কিভাবে
- HTTPS দ্বারা
- ভাবমূর্তি
- প্রভাব
- বাস্তবায়ন
- গুরুত্বপূর্ণ
- উন্নত করা
- অন্তর্ভুক্ত করা
- অন্তর্ভুক্ত
- সুদ্ধ
- বৃদ্ধি
- বর্ধিত
- ক্রমবর্ধমান
- স্বতন্ত্র
- শিল্প
- তথ্য
- পরিকাঠামো
- ইনপুট
- অর্ন্তদৃষ্টি
- বীমা
- সম্পূর্ণ
- সংহত
- ইন্টিগ্রেশন
- ইন্টেল
- বুদ্ধিমত্তা
- মিথষ্ক্রিয়া
- ইন্টারেক্টিভ
- বিচ্ছিন্নতা
- IT
- কাজ
- জবস
- যোগদানের
- চাবি
- জ্ঞান
- ভাষা
- বড়
- বৃহত্তর
- লঞ্চ
- নেতৃত্ব
- নেতৃত্ব
- বিশালাকার
- শিক্ষা
- বরফ
- লেভারেজ
- উদ্ধরণ
- লাইটওয়েট
- সামান্য
- বোঝা
- দীর্ঘ
- মেশিন
- মেশিন লার্নিং
- বজায় রাখা
- মুখ্য
- তৈরি করে
- মেকিং
- পরিচালনা করা
- পরিচালিত
- পরিচালক
- বাজার
- বৃহদায়তন
- ম্যাচ
- স্মৃতি
- ছন্দোবিজ্ঞান
- মিলিয়ন
- লক্ষ লক্ষ
- ML
- মডেল
- মডেল
- মনিটর
- পর্যবেক্ষণ
- অধিক
- সেতু
- বহু
- প্রাকৃতিক
- নেটওয়ার্ক
- নেটওয়ার্কিং
- নোটবই
- সংখ্যা
- প্রাপ্ত
- প্রদত্ত
- অফার
- প্রর্দশিত
- অপারেশনস
- অপ্টিমাইজেশান
- অপ্টিমিজ
- সর্বোচ্চকরন
- অপশন সমূহ
- ক্রম
- সংগঠন
- অন্যান্য
- অন্যভাবে
- সামগ্রিক
- নিজের
- প্যাটার্ন
- কর্মক্ষমতা
- কেলি
- নীতি
- নীতি
- দরিদ্র
- জনপ্রিয়
- সম্ভাবনা
- সম্ভব
- ক্ষমতা
- ক্ষমতাশালী
- অনুশীলন
- ভবিষ্যদ্বাণী
- মূল্য
- অধ্যক্ষ
- সমস্যা
- প্রক্রিয়া
- প্রসেস
- প্রক্রিয়াজাতকরণ
- পণ্য
- উত্পাদনের
- প্রোফাইল
- প্রকল্প
- প্রোটোকল
- প্রদান
- উপলব্ধ
- প্রদানের
- প্রকাশ করা
- ঢালু পথ
- পরিসর
- রেঞ্জিং
- নাগাল
- প্রকৃত সময়
- গৃহীত
- সুপারিশ করা
- হ্রাস করা
- খাতা
- অনুরোধ
- অনুরোধ
- প্রয়োজন
- প্রয়োজনীয়
- আবশ্যকতা
- সংস্থান
- Resources
- প্রতিক্রিয়া
- দায়ী
- ফলাফল
- আয়
- এখানে ক্লিক করুন
- চালান
- দৌড়
- স্কেলেবিলিটি
- মাপযোগ্য
- স্কেল
- আরোহী
- SDK
- নির্বিঘ্নে
- সার্চ
- সেকেন্ড
- নির্বাচিত
- Serverless
- সেবা
- সেবা
- ভজনা
- সেট
- সেটআপ
- সহজ
- আয়তন
- ছোট
- So
- সফটওয়্যার
- সফটওয়্যার ইঞ্জিনিয়ার
- সমাধান
- সলিউশন
- কিছু
- বিশেষজ্ঞ
- বিশেষভাবে
- পর্যায়
- মান
- শুরু
- শুরু
- প্রারম্ভ
- রাষ্ট্র
- যুক্তরাষ্ট্র
- থাকা
- স্টোরেজ
- সমর্থন
- সমর্থিত
- সমর্থন
- পৃষ্ঠতল
- গ্রহণ
- লক্ষ্য
- টীম
- কারিগরী
- প্রযুক্তি
- পরীক্ষা
- পরীক্ষামূলক
- পরীক্ষা
- চিন্তা নেতৃত্ব
- দ্বারা
- সময়
- টোকেন
- সরঞ্জাম
- অনুসরণকরণ
- ট্রাফিক
- প্রশিক্ষণ
- লেনদেন
- ভ্রমণ
- আপডেট
- us
- মার্কিন
- ব্যবহার
- ব্যবহারের ক্ষেত্রে
- ব্যবহারকারী
- সাধারণত
- সদ্ব্যবহার করা
- ব্যবহার
- বৈচিত্র্য
- বিভিন্ন
- ভার্জিনিয়া
- ভার্চুয়াল
- দৃষ্টি
- অপেক্ষা করুন
- চেয়েছিলেন
- ওয়েব
- ওয়েব সার্ভার
- ওয়েব সার্ভিস
- মধ্যে
- ছাড়া
- কাজ করছে
- কাজ
- বিশ্বের
- would
- বছর
- উত্পাদ
- প্রদায়ক