Google LiteRT Tensor API প্রবর্তন করেছে, একটি লাইটওয়েট C++ API যা ডেভেলপারদের সরাসরি অন-ডিভাইস এক্সিকিউশনের জন্য মেশিন লার্নিং মডেল তৈরি, কাস্টমাইজ এবং অপ্টিমাইজ করতে দেয়। গুগলের মতে, এটি ক্রস-প্ল্যাটফর্ম পোর্টেবিলিটির সাথে নেটিভ মডেল অথরিংয়ের নমনীয়তাকে একত্রিত করে।
প্রথাগত পদ্ধতি, গুগল বলে, ডেভেলপারদের সর্বোচ্চ নিয়ন্ত্রণের জন্য C++ এ ম্যানুয়ালি কম্পিউটেশন লিখতে হয়, যা একটি উল্লেখযোগ্য ত্রুটির সাথে আসে:
ইমপ্লিমেন্টেশনগুলি নির্দিষ্ট ব্যাকএন্ডের (যেমন মেটাল, OpenCL, বা Vulkan) সাথে শক্তভাবে সংযুক্ত করা হয় এবং প্রতিটি নতুন হার্ডওয়্যার টার্গেটের জন্য অবশ্যই পুনরায় লিখতে হবে। তদ্ব্যতীত, শূন্য-কপি বাফার আন্তঃঅপারেবিলিটি পরিচালনা এবং সিপিইউ, জিপিইউ এবং এনপিইউ জুড়ে সিঙ্ক্রোনাইজেশন, প্রাক-প্রক্রিয়াকরণ, অনুমান এবং পোস্ট-প্রসেসিংকে একত্রিত করার সময়, যথেষ্ট ম্যানুয়াল ইঞ্জিনিয়ারিং প্রচেষ্টার দাবি রাখে।
LiteRT Tensor API-এর লক্ষ্য হল ডেভেলপারদের C++-এ অপারেশনের মাধ্যমে কম্পিউটেশন গ্রাফ অপারেশন তৈরি করার অনুমতি দিয়ে এই চ্যালেঞ্জগুলি মোকাবেলা করা। এটি মডেল আর্কিটেকচার, অপ্টিমাইজেশান, এবং এক্সিলারেটর এক্সিকিউশনের উপর বৃহত্তর নিয়ন্ত্রণ প্রদান করে, একই গ্রাফগুলিকে CPU, GPU, এবং NPU হার্ডওয়্যারে LiteRT-এর মাধ্যমে চালানোর জন্য সক্ষম করে প্রতিটি নতুন লক্ষ্যের জন্য পুনর্লিখনের প্রয়োজন ছাড়াই।
মডেল গ্রাফের উপর সম্পূর্ণ নিয়ন্ত্রণ প্রদানের বাইরে, API-এর অন্যান্য মূল ক্ষমতাগুলির মধ্যে রয়েছে সরাসরি ওজন ইনজেশন, যা ডেভেলপারদের চেকপয়েন্ট থেকে সরাসরি ওজন লোড করতে দেয়, যার মধ্যে আলিঙ্গন মুখ .safetensors ফাইল; জিরো-কপি বাফার ইন্টারঅপারেবিলিটি, যা প্রি-প্রসেসিং, ইনফারেন্স এবং পোস্ট-প্রসেসিং জুড়ে এক্সিলারেটর বাফার কপি করা এড়িয়ে যায়; এবং AI কোডিং এজেন্টের সাথে সামঞ্জস্য, যা C++ কোড তৈরি করে মডেল গ্রাফ তৈরি, সংশোধন, যাচাই এবং বেঞ্চমার্ক করতে পারে।
মাল্টি-অবজেক্ট সেগমেন্টেশন এবং ট্র্যাকিংয়ের জন্য কীভাবে LiteRT Tensor API ব্যবহার করতে হয় তা প্রদর্শন করে Google একটি বাস্তব-বিশ্বের অ্যাপ তৈরি করতে একটি কোডিং এজেন্ট ব্যবহার করেছে। অ্যাপ্লিকেশনটি প্ল্যাটফর্ম জুড়ে বেঞ্চমার্কিং পারফরম্যান্সের ভিত্তি হিসাবেও কাজ করেছে:
আমরা তিনটি ডিভাইসের GPU-তে SAM 2 মডেলের জন্য একই C++ কোড চালিয়েছি: একটি macOS ল্যাপটপ (মেটাল), একটি iOS ফোন (মেটাল), এবং একটি অ্যান্ড্রয়েড ফোন (ওপেনসিএল)। MacBook Pro-তে আমাদের পরীক্ষায়, এটি Apple MLX (fp16, ইমেজ এনকোডার প্লাস মাস্ক ডিকোডার) থেকে প্রায় 1.5x দ্রুত দৌড়েছে।
গুগল এই বিষয়টির উপর জোর দিয়েছে যে কোডিং এজেন্ট অনেকগুলি অপ্টিমাইজেশন করতে পারে মডেল গ্রাফটিকে প্লেইন C++ এ সংজ্ঞায়িত করার জন্য ধন্যবাদ। বিশেষভাবে, এটি “SAM 2-এর প্রতি-ফ্রেমের সিদ্ধান্তগুলিকে সরিয়ে দেয়, যেমন বস্তুটি এখনও দৃশ্যমান কিনা, CPU কোড থেকে গ্রাফে” এবং GPU-সামঞ্জস্যপূর্ণ গাণিতিক ব্যবহার করে WebGPU-তে CPU ফলব্যাককে ট্রিগার করে এমন ক্রিয়াকলাপগুলি পুনরায় লেখা।
LinkedIn-এর ঘোষণার বিষয়ে মন্তব্য করে, AI লরেন্স মোরোনি এর আর্ম ডিরেক্টর জোর দিয়েছিলেন যে বিকাশকারীদের সবসময় মডেল রূপান্তর দিয়ে শুরু করা উচিত এবং শুধুমাত্র C++ API-তে যাওয়া উচিত “যখন আপনার গ্রাফ-লেভেল নিয়ন্ত্রণের প্রয়োজন হয় বা এক্সিলারেটরে থাকতে প্রাক এবং পোস্ট-প্রসেসিং চান”। তিনি প্লেইন C++ এ মডেল গ্রাফ সংজ্ঞায়িত করার সুবিধাগুলিও তুলে ধরেছেন:
ওয়েবজিপিইউ-তে 512×512 এ প্রতি সেকেন্ডে 10 থেকে 30 ফ্রেমের নিচে যাওয়া, একটি কোডিং এজেন্টের সাথে পুনরাবৃত্তি করে, দেখায় যে কতটা কাঠামোগত আদিম উপাদান এজেন্টদের প্রকৃত অপ্টিমাইজেশন কাজ করতে সাহায্য করে।
Google বিভিন্ন পরিকল্পিত উন্নতিতেও কাজ করছে, যার মধ্যে রয়েছে সরাসরি এমএল ড্রিফ্ট ব্যাকএন্ড সমর্থন, অতিরিক্ত এনপিইউ-বান্ধব অপারেশন, স্বয়ংক্রিয় ফুল-গ্রাফ কোয়ান্টাইজেশন, এবং বিভিন্ন চিত্রের আকার, ব্যাচের আকার এবং ক্রম দৈর্ঘ্যের জন্য প্রসারিত গতিশীল-আকৃতি।