Android এর জন্য LiteRT

LiteRT আপনাকে আপনার Android অ্যাপে TensorFlow মেশিন লার্নিং (ML) মডেল চালাতে দেয়। LiteRT সিস্টেম হার্ডওয়্যার ত্বরণের বিকল্পগুলি সহ, Android-এ দ্রুত এবং দক্ষতার সাথে মডেলগুলি চালানোর জন্য পূর্বনির্মাণ এবং কাস্টমাইজযোগ্য কার্যকরী পরিবেশ প্রদান করে।

মেশিন লার্নিং মডেল

LiteRT TensorFlow মডেলগুলি ব্যবহার করে যা একটি ছোট, বহনযোগ্য, আরও দক্ষ মেশিন লার্নিং মডেল ফর্ম্যাটে রূপান্তরিত হয়। আপনি Android-এ LiteRT এর সাথে পূর্ব-নির্মিত মডেলগুলি ব্যবহার করতে পারেন, অথবা আপনার নিজস্ব TensorFlow মডেলগুলি তৈরি করতে পারেন এবং সেগুলিকে LiteRT ফর্ম্যাটে রূপান্তর করতে পারেন৷

এই পৃষ্ঠাটি ইতিমধ্যে তৈরি মেশিন লার্নিং মডেলগুলি ব্যবহার করে আলোচনা করে এবং বিল্ডিং, প্রশিক্ষণ, পরীক্ষা বা রূপান্তরকারী মডেলগুলিকে কভার করে না। মডেল পৃষ্ঠায় LiteRT-এর জন্য মেশিন লার্নিং মডেল বাছাই, পরিবর্তন, নির্মাণ এবং রূপান্তর সম্পর্কে আরও জানুন।

অ্যান্ড্রয়েডে মডেল চালান

একটি Android অ্যাপের ভিতরে চলমান একটি LiteRT মডেল ডেটা গ্রহণ করে, ডেটা প্রক্রিয়া করে এবং মডেলের যুক্তির উপর ভিত্তি করে একটি ভবিষ্যদ্বাণী তৈরি করে৷ একটি টেনসরফ্লো লাইট মডেল কার্যকর করার জন্য একটি বিশেষ রানটাইম পরিবেশের প্রয়োজন, এবং মডেলে যে ডেটা পাস করা হয় তা অবশ্যই একটি নির্দিষ্ট ডেটা ফর্ম্যাটে হতে হবে, যাকে টেনসর বলা হয়। যখন একটি মডেল ডেটা প্রক্রিয়া করে, যা একটি অনুমান চালানো হিসাবে পরিচিত, তখন এটি নতুন টেনসর হিসাবে পূর্বাভাসের ফলাফল তৈরি করে এবং সেগুলিকে Android অ্যাপে প্রেরণ করে যাতে এটি কোনও ব্যবহারকারীকে ফলাফল দেখানো বা অতিরিক্ত ব্যবসায়িক যুক্তি সম্পাদন করার মতো পদক্ষেপ নিতে পারে৷

অ্যান্ড্রয়েড অ্যাপে LiteRT মডেলের জন্য কার্যকরী সম্পাদন প্রবাহ

চিত্র 1. অ্যান্ড্রয়েড অ্যাপে LiteRT মডেলের জন্য কার্যকরী সম্পাদন প্রবাহ।

কার্যকরী নকশা স্তরে, আপনার Android অ্যাপের একটি LiteRT মডেল চালানোর জন্য নিম্নলিখিত উপাদানগুলির প্রয়োজন:

  • মডেল কার্যকর করার জন্য LiteRT রানটাইম পরিবেশ
  • মডেল ইনপুট হ্যান্ডলার ডেটা টেনসরে রূপান্তরিত করতে
  • মডেল আউটপুট হ্যান্ডলার আউটপুট ফলাফল টেনসর গ্রহণ এবং পূর্বাভাস ফলাফল হিসাবে তাদের ব্যাখ্যা

নিম্নলিখিত বিভাগগুলি বর্ণনা করে যে কীভাবে LiteRT লাইব্রেরি এবং সরঞ্জামগুলি এই কার্যকরী উপাদানগুলি সরবরাহ করে।

LiteRT দিয়ে অ্যাপ তৈরি করুন

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

রানটাইম পরিবেশ বিকল্প

আপনার অ্যান্ড্রয়েড অ্যাপে মডেলগুলি চালানোর জন্য আপনি রানটাইম পরিবেশ সক্ষম করতে পারেন এমন বিভিন্ন উপায় রয়েছে। এই পছন্দের বিকল্প:

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

আপনি আপনার অ্যাপ ডেভেলপমেন্ট এনভায়রনমেন্টে টেনসরফ্লো লাইট ডেভেলপমেন্ট লাইব্রেরি যোগ করে আপনার অ্যান্ড্রয়েড অ্যাপে এই রানটাইম পরিবেশগুলি অ্যাক্সেস করেন। আপনার অ্যাপে স্ট্যান্ডার্ড রানটাইম পরিবেশ কীভাবে ব্যবহার করবেন সে সম্পর্কে তথ্যের জন্য, পরবর্তী বিভাগটি দেখুন।

লাইব্রেরি

আপনি Google Play পরিষেবাগুলি ব্যবহার করে ইন্টারপ্রেটার API অ্যাক্সেস করতে পারেন৷ আপনি আপনার Android অ্যাপে LiteRT কোর এবং সমর্থন লাইব্রেরি ব্যবহার করতে পারেন। LiteRT লাইব্রেরি এবং রানটাইম এনভায়রনমেন্ট ব্যবহার করার বিষয়ে প্রোগ্রামিং বিশদ জানতে, Android এর জন্য ডেভেলপমেন্ট টুল দেখুন।

মডেল প্রাপ্ত

একটি Android অ্যাপে একটি মডেল চালানোর জন্য একটি LiteRT- ফরম্যাট মডেল প্রয়োজন৷ আপনি প্রি-বিল্ট মডেলগুলি ব্যবহার করতে পারেন বা টেনসরফ্লো দিয়ে একটি তৈরি করতে পারেন এবং এটিকে লাইট ফর্ম্যাটে রূপান্তর করতে পারেন। আপনার অ্যান্ড্রয়েড অ্যাপের জন্য মডেল পাওয়ার বিষয়ে আরও তথ্যের জন্য, LiteRT মডেল পৃষ্ঠাটি দেখুন।

ইনপুট ডেটা পরিচালনা করুন

আপনি একটি ML মডেলে পাস করা যেকোনো ডেটা অবশ্যই একটি নির্দিষ্ট ডেটা স্ট্রাকচার সহ একটি টেনসর হতে হবে, যাকে প্রায়শই টেনসরের আকৃতি বলা হয়। একটি মডেলের সাথে ডেটা প্রক্রিয়া করার জন্য, আপনার অ্যাপ কোডটিকে অবশ্যই তার নেটিভ ফরম্যাট থেকে ডেটা রূপান্তর করতে হবে, যেমন ছবি, পাঠ্য বা অডিও ডেটা, আপনার মডেলের জন্য প্রয়োজনীয় আকারে একটি টেনসরে।

অনুমান চালান

একটি ভবিষ্যদ্বাণী ফলাফল তৈরি করতে একটি মডেলের মাধ্যমে ডেটা প্রক্রিয়াকরণ একটি অনুমান চালানো হিসাবে পরিচিত। একটি অ্যান্ড্রয়েড অ্যাপে একটি অনুমান চালানোর জন্য একটি LiteRT রানটাইম পরিবেশ , একটি মডেল এবং ইনপুট ডেটা প্রয়োজন৷

একটি মডেল যে গতিতে একটি নির্দিষ্ট ডিভাইসে একটি অনুমান তৈরি করতে পারে তা নির্ভর করে প্রক্রিয়াকৃত ডেটার আকার, মডেলের জটিলতা এবং উপলব্ধ কম্পিউটিং সংস্থান যেমন মেমরি এবং সিপিইউ, বা এক্সিলারেটর নামক বিশেষায়িত প্রসেসরের উপর। মেশিন লার্নিং মডেলগুলি এই বিশেষায়িত প্রসেসরগুলি যেমন গ্রাফিক্স প্রসেসিং ইউনিট (GPUs) এবং টেনসর প্রসেসিং ইউনিট (TPUs)গুলিতে দ্রুত চলতে পারে, LiteRT হার্ডওয়্যার ড্রাইভারগুলিকে ডেলিগেট বলে। মডেল প্রক্রিয়াকরণের প্রতিনিধি এবং হার্ডওয়্যার ত্বরণ সম্পর্কে আরও তথ্যের জন্য, হার্ডওয়্যার ত্বরণ ওভারভিউ দেখুন।

আউটপুট ফলাফল হ্যান্ডেল

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

উন্নত উন্নয়নের পথ

আরও পরিশীলিত এবং কাস্টমাইজড LiteRT মডেলগুলি ব্যবহার করার সময়, আপনাকে উপরে বর্ণিত পদ্ধতির চেয়ে আরও উন্নত উন্নয়ন পদ্ধতি ব্যবহার করতে হতে পারে। নিম্নলিখিত বিভাগগুলি মডেলগুলি কার্যকর করার এবং এন্ড্রয়েড অ্যাপে LiteRT-এর জন্য বিকাশের জন্য উন্নত কৌশলগুলি বর্ণনা করে৷

উন্নত রানটাইম পরিবেশ

LiteRT-এর জন্য স্ট্যান্ডার্ড রানটাইম এবং Google Play পরিষেবার রানটাইম পরিবেশ ছাড়াও, অতিরিক্ত রানটাইম পরিবেশ রয়েছে যা আপনি আপনার Android অ্যাপের সাথে ব্যবহার করতে পারেন। এই এনভায়রনমেন্টের জন্য সবচেয়ে বেশি ব্যবহার হতে পারে যদি আপনার কাছে একটি মেশিন লার্নিং মডেল থাকে যা ML অপারেশন ব্যবহার করে যা LiteRT-এর জন্য স্ট্যান্ডার্ড রানটাইম পরিবেশ দ্বারা সমর্থিত নয়।

LiteRT Flex রানটাইম আপনাকে আপনার মডেলের জন্য প্রয়োজনীয় নির্দিষ্ট অপারেটর অন্তর্ভুক্ত করতে দেয়। আপনার মডেল চালানোর জন্য একটি উন্নত বিকল্প হিসাবে, আপনি আপনার TensorFlow মেশিন লার্নিং মডেল চালানোর জন্য প্রয়োজনীয় অপারেটর এবং অন্যান্য কার্যকারিতা অন্তর্ভুক্ত করতে Android এর জন্য LiteRT তৈরি করতে পারেন। আরও তথ্যের জন্য, Android এর জন্য LiteRT তৈরি করুন দেখুন।

C এবং C++ API

LiteRT C এবং C++ ব্যবহার করে মডেল চালানোর জন্য একটি API প্রদান করে। যদি আপনার অ্যাপ Android NDK ব্যবহার করে, তাহলে আপনার এই API ব্যবহার করার কথা বিবেচনা করা উচিত। আপনি যদি একাধিক প্ল্যাটফর্মের মধ্যে কোড ভাগ করতে সক্ষম হতে চান তবে আপনি এই API ব্যবহার করার বিষয়েও বিবেচনা করতে পারেন। এই উন্নয়ন বিকল্প সম্পর্কে আরও তথ্যের জন্য, উন্নয়ন সরঞ্জাম পৃষ্ঠা দেখুন।

সার্ভার-ভিত্তিক মডেল এক্সিকিউশন

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

টেনসরফ্লো মেশিন লার্নিং মডেল চালানোর জন্য Google ক্লাউড পরিষেবার একটি সম্পূর্ণ স্যুট অফার করে। আরও তথ্যের জন্য, Google Cloud এর AI এবং মেশিন লার্নিং পণ্য পৃষ্ঠা দেখুন।

কাস্টম মডেল উন্নয়ন এবং অপ্টিমাইজেশান

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