হার্ডওয়্যার অ্যাক্সিলারেশন হল একটি AI মডেলের এক্সিকিউশন গতি এবং দক্ষতা উন্নত করার জন্য বিশেষায়িত কম্পিউটার হার্ডওয়্যার ব্যবহার করা। LiterRT-এর ক্ষেত্রে, এটি মূলত AI অনুমানের জন্য গ্রাফিক্স প্রসেসিং ইউনিট (GPU) বা নিউরাল প্রসেসিং ইউনিট (NPU) ব্যবহার করে, সেইসাথে সাধারণ-উদ্দেশ্য কেন্দ্রীয় প্রক্রিয়াকরণ ইউনিট (CPU) ভেক্টর নির্দেশাবলী ব্যবহার করে।
LiterRT কম্পাইলড মডেল API দুটি ধাপে ত্বরণ পরিচালনা করে:
- সংকলন: একটি নির্দিষ্ট হার্ডওয়্যার দিয়ে চালানোর জন্য একটি মডেল প্রস্তুত করুন।
- প্রেরণ: প্রাসঙ্গিক হার্ডওয়্যারে নির্বাচিত ক্রিয়াকলাপ চালান।
সংকলন পর্বটি একটি নতুন ইন্টারফেস সহ একটি LiterRT মডেলকে পরিবর্তন করে যা কম্পাইলার প্লাগইনগুলির মাধ্যমে আরও নমনীয়তা প্রদান করে। মডেল সংকলন সময়ের আগে (AOT) ঘটে, গ্রাফটি কার্যকর হওয়ার আগে, এবং ডিভাইসে চালানোর জন্য একটি নির্দিষ্ট গ্রাফ তৈরি করে।
অ্যাক্সিলারেটরের প্রকারভেদ
LiterRT তিন ধরণের অ্যাক্সিলারেটর সরবরাহ করে: NPU, GPU এবং CPU।
- NPU: আজ Qualcomm AI Engine Direct এবং MediaTek NeuroPilot-এর জন্য একীভূত ইন্টারফেস।
- GPU: কম্পাইলড মডেল API ব্যবহার করে OpenCL ব্যাকএন্ড প্লাস WebGPU এবং মেটাল ব্যাকএন্ড।
- CPU: XNNPACK-অপ্টিমাইজড এক্সিকিউশন ডিফল্ট এবং সর্বদা উপলব্ধ।
যখন কোনও হার্ডওয়্যারে কিছু জটিল অপারেশন উপলব্ধ না থাকে, তখন সর্বোত্তম পারফরম্যান্স পেতে এই অ্যাক্সিলারেটরগুলিকে একত্রিত করা যেতে পারে। যখন অ্যাক্সিলারেটরগুলি কোনও অপারেশনের উপর প্রতিযোগিতা করে, তখন LiteRT নিম্নলিখিত অগ্রাধিকারের ক্রম ব্যবহার করে: NPU, GPU, CPU।
জিপিইউ ত্বরণ
LiterRT GPU অ্যাক্সিলারেশনের সাহায্যে, আপনি GPU-বান্ধব ইনপুট এবং আউটপুট বাফার তৈরি করতে পারেন, GPU মেমরিতে আপনার ডেটার শূন্য-অনুলিপি অর্জন করতে পারেন এবং সমান্তরালতা সর্বাধিক করার জন্য অ্যাসিঙ্ক্রোনাসভাবে কাজগুলি সম্পাদন করতে পারেন। কোনও ডেলিগেট প্লাম্বিংয়ের প্রয়োজন নেই—শুধুমাত্র কম্পাইলের সময় অ্যাক্সিলারেটর নির্দিষ্ট করুন:
// Create a compiled model targeting GPU
LITERT_ASSIGN_OR_RETURN(auto compiled_model,
CompiledModel::Create(env, model, kLiteRtHwAcceleratorGpu));
GPU ত্বরণ সম্পর্কে আরও তথ্যের জন্য, LiterRT সহ GPU ত্বরণ দেখুন
এনপিইউ ত্বরণ
LiterRT আপনাকে পৃথকভাবে বিক্রেতা-নির্দিষ্ট কম্পাইলার, রানটাইম, বা লাইব্রেরি নির্ভরতা নেভিগেট করতে বাধ্য না করে NPU গুলিকে কাজে লাগানোর জন্য একটি ইউনিফাইড ইন্টারফেস প্রদান করে। এটি AOT এবং অন-ডিভাইস কম্পাইলেশন পাথ উভয়ের জন্য Qualcomm এবং MediaTek NPU সমর্থন করে।
LiterRT-এর সাথে NPU ব্যবহার করার ক্ষেত্রে সাধারণত Play for On-device AI (PODAI) ব্যবহার করে একটি মডেল রূপান্তর এবং সংকলন করা হয় এবং Play AI প্যাক এবং ফিচার মডিউল ব্যবহার করে মডেলটি স্থাপন করা হয়।