মেশিন লার্নিং মডেল এই মুহূর্তে সব জায়গায় আছে. দিনের বেলা, আপনি সম্ভবত এই মডেলগুলিকে আপনি উপলব্ধি করার চেয়ে অনেক বেশি ব্যবহার করেন। মেশিন লার্নিং মডেলগুলি সোশ্যাল মিডিয়া ব্রাউজিং, ছবি তোলা এবং আবহাওয়া পরীক্ষা করার মতো সাধারণ কাজে ব্যবহার করা হয়।
একটি মেশিন-লার্নিং অ্যালগরিদম আপনাকে এই ব্লগটি সুপারিশ করতে পারে। আমরা সবাই শুনেছি যে এই মডেলগুলিকে প্রশিক্ষণ দেওয়া কতটা সময়সাপেক্ষ। আমরা সবাই শুনেছি যে এই মডেলগুলির প্রশিক্ষণ সময়সাপেক্ষ।
যাইহোক, এই মডেলগুলিতে অনুমান করা প্রায়শই গণনাগতভাবে ব্যয়বহুল।
আমরা যে হারে মেশিন লার্নিং পরিষেবাগুলি ব্যবহার করছি তা পরিচালনা করার জন্য আমাদের এমন কম্পিউটার সিস্টেম দরকার যা যথেষ্ট দ্রুত। ফলস্বরূপ, এই মডেলগুলির বেশিরভাগই CPU এবং GPU ক্লাস্টার সহ বিশাল ডেটা সেন্টারে (এমনকি কিছু ক্ষেত্রে TPUs) চালানো হয়।
আপনি যখন একটি ছবি তোলেন, আপনি চান মেশিন লার্নিং অবিলম্বে এটি উন্নত করতে. ছবিটি একটি ডেটা সেন্টারে স্থানান্তরিত হওয়ার জন্য, প্রক্রিয়াকরণের জন্য এবং আপনার কাছে ফিরে আসার জন্য আপনাকে অপেক্ষা করতে হবে না। এই ক্ষেত্রে, মেশিন লার্নিং মডেল স্থানীয়ভাবে কার্যকর করা উচিত।
আপনি যখন "Hey Siri" বা "OK, Google" বলেন, তখন আপনি চান আপনার গ্যাজেটগুলি অবিলম্বে সাড়া দিক। আপনার ভয়েস কম্পিউটারে প্রেরণের জন্য অপেক্ষা করা হচ্ছে, যেখানে এটি মূল্যায়ন করা হবে এবং ডেটা প্রাপ্ত হবে।
এটি সময় নেয় এবং ব্যবহারকারীর অভিজ্ঞতার উপর ক্ষতিকর প্রভাব ফেলে। এই ক্ষেত্রে, আপনি মেশিন লার্নিং মডেল স্থানীয়ভাবে কাজ করতে চান. এখানেই TinyML আসে।
এই পোস্টে, আমরা TinyML, এটি কীভাবে কাজ করে, এর ব্যবহার, কীভাবে এটি দিয়ে শুরু করতে হয় এবং আরও অনেক কিছু দেখব।
টিনিএমএল?
TinyML হল একটি অত্যাধুনিক ডিসিপ্লিন যা মেশিন লার্নিংয়ের বৈপ্লবিক সম্ভাবনাকে ছোট ডিভাইস এবং এমবেডেড সিস্টেমের কর্মক্ষমতা এবং পাওয়ার সীমাতে প্রয়োগ করে।
এই শিল্পে সফল স্থাপনার জন্য অ্যাপ্লিকেশন, অ্যালগরিদম, হার্ডওয়্যার এবং সফ্টওয়্যারগুলির একটি পুঙ্খানুপুঙ্খ বোঝার প্রয়োজন। এটি একটি মেশিন লার্নিং সাবজেনার যা এমবেডেড সিস্টেমে ডিপ লার্নিং এবং মেশিন লার্নিং মডেল ব্যবহার করে যা মাইক্রোকন্ট্রোলার, ডিজিটাল সিগন্যাল প্রসেসর বা অন্যান্য অতি-লো-পাওয়ার বিশেষায়িত প্রসেসর নিয়োগ করে।
টিনিএমএল-সক্ষম এমবেডেড ডিভাইসগুলি একটি নির্দিষ্ট কাজের জন্য একটি মেশিন লার্নিং অ্যালগরিদম চালানোর উদ্দেশ্যে, সাধারণত ডিভাইসের অংশ হিসাবে প্রান্ত কম্পিউটিং.
রিচার্জিং বা ব্যাটারি প্রতিস্থাপন ছাড়াই সপ্তাহ, মাস বা এমনকি বছর ধরে চালানোর জন্য, এই এমবেডেড সিস্টেমগুলির 1 মেগাওয়াটের কম পাওয়ার খরচ থাকতে হবে।
এটা কিভাবে কাজ করে?
একমাত্র মেশিন লার্নিং ফ্রেমওয়ার্ক যা মাইক্রোকন্ট্রোলার এবং কম্পিউটারের সাথে ব্যবহার করা যেতে পারে টেন্সরফ্লো লাইট. এটি এমন একটি টুলের সেট যা ডেভেলপারদের মোবাইল, এমবেডেড এবং এজ ডিভাইসে তাদের মডেলগুলি চালাতে দেয়, যা ফ্লাইতে মেশিন শেখার অনুমতি দেয়।
মাইক্রোকন্ট্রোলারের ইন্টারফেসটি সেন্সর (যেমন মাইক্রোফোন, ক্যামেরা বা এমবেডেড সেন্সর) থেকে ডেটা সংগ্রহ করতে ব্যবহার করা হয়।
মাইক্রোকন্ট্রোলারে পাঠানোর আগে, ডেটা একটি ক্লাউড-ভিত্তিক মেশিন লার্নিং মডেলে একত্রিত করা হয়। অফলাইন মোডে ব্যাচ প্রশিক্ষণ সাধারণত এই মডেলগুলি প্রশিক্ষণের জন্য নিযুক্ত করা হয়। যে সেন্সর ডেটা ব্যবহার করা হবে শিক্ষা এবং অনুমান ইতিমধ্যে নির্দিষ্ট অ্যাপ্লিকেশনের জন্য নির্ধারিত হয়েছে.
যদি মডেলটিকে একটি জাগ্রত শব্দ সনাক্ত করতে প্রশিক্ষণ দেওয়া হয়, উদাহরণস্বরূপ, এটি ইতিমধ্যেই একটি মাইক্রোফোন থেকে একটি অবিচ্ছিন্ন অডিও স্ট্রিম পরিচালনা করার জন্য সেট আপ করা হয়েছে৷
TensorFlow Lite-এর ক্ষেত্রে Google Colab-এর মতো ক্লাউড প্ল্যাটফর্মের সাহায্যে ইতিমধ্যেই সবকিছু করা হয়েছে, যার মধ্যে ডেটাসেট নির্বাচন, স্বাভাবিককরণ, মডেলের আন্ডারফিটিং বা ওভারফিটিং, নিয়মিতকরণ, ডেটা বৃদ্ধি, প্রশিক্ষণ, বৈধতা এবং পরীক্ষা সহ।
একটি সম্পূর্ণ প্রশিক্ষিত মডেল অবশেষে রূপান্তরিত হয় এবং অফলাইন ব্যাচ প্রশিক্ষণের পরে মাইক্রোকন্ট্রোলার, মাইক্রোকম্পিউটার বা ডিজিটাল সিগন্যাল প্রসেসরে স্থানান্তরিত হয়। একটি এমবেডেড ডিভাইসে সরানোর পরে মডেলটির কোন অতিরিক্ত প্রশিক্ষণ নেই। পরিবর্তে, মডেলটি প্রয়োগ করতে এটি শুধুমাত্র সেন্সর বা ইনপুট ডিভাইস থেকে রিয়েল-টাইম ডেটা ব্যবহার করে।
ফলস্বরূপ, একটি টিনিএমএল মেশিন লার্নিং মডেল অবশ্যই ব্যতিক্রমীভাবে টেকসই হতে হবে এবং বছরের পর বছর পর আবার প্রশিক্ষিত হতে পারে বা কখনও পুনরায় প্রশিক্ষণ দেওয়া হবে না। সমস্ত সম্ভাব্য মডেলের আন্ডারফিটিং এবং ওভারফিটিং অবশ্যই তদন্ত করা উচিত যাতে মডেলটি আদর্শভাবে অনির্দিষ্টকালের জন্য দীর্ঘ সময়ের জন্য প্রাসঙ্গিক থাকে।
কিন্তু কেন TinyML ব্যবহার করবেন?
টিনিএমএল প্রাথমিক ছোট আকারের জন্য ক্লাউড পরিষেবার উপর IoT-এর নির্ভরতা দূর করতে বা হ্রাস করার প্রচেষ্টা হিসাবে শুরু হয়েছিল মেশিন লার্নিং অপারেশন এর জন্য এজ ডিভাইসে মেশিন লার্নিং মডেল ব্যবহার করা প্রয়োজন। এটি নিম্নলিখিত প্রধান সুবিধা প্রদান করে:
- স্বল্প শক্তি খরচ: একটি TinyML অ্যাপ্লিকেশানের 1 মিলিওয়াটের কম শক্তি ব্যবহার করা উচিত৷ এই ধরনের কম-পাওয়ার খরচের সাথে, একটি যন্ত্র কয়েক মাস বা বছর ধরে সেন্সর ডেটা থেকে সিদ্ধান্তে আসতে পারে, এমনকি মুদ্রা ব্যাটারি দ্বারা চালিত হলেও।
- কম খরচ: এটি কম খরচে 32-বিট মাইক্রোকন্ট্রোলার বা DSP-তে চালানোর জন্য ডিজাইন করা হয়েছে। এই মাইক্রোকন্ট্রোলারগুলি সাধারণত কয়েক সেন্টের হয় এবং তাদের সাথে তৈরি মোট এমবেডেড সিস্টেম $50 এর কম। এটি একটি বড় স্কেলে ছোট মেশিন লার্নিং প্রোগ্রাম চালানোর জন্য একটি খুব সাশ্রয়ী বিকল্প, এবং এটি বিশেষ করে IoT অ্যাপ্লিকেশনগুলিতে উপকারী যেখানে মেশিন লার্নিং প্রয়োগ করা আবশ্যক।
- নিম্ন লেটেন্সি: এর অ্যাপ্লিকেশানগুলির লেটেন্সি কম কারণ তাদের নেটওয়ার্কের মাধ্যমে ডেটা পরিবহন বা বিনিময় করার প্রয়োজন নেই৷ সমস্ত সেন্সর ডেটা স্থানীয়ভাবে রেকর্ড করা হয়, এবং উপসংহারগুলি এমন একটি মডেল ব্যবহার করে আঁকা হয় যা ইতিমধ্যে প্রশিক্ষিত হয়েছে৷ অনুমানের ফলাফলগুলি লগিং বা অতিরিক্ত প্রক্রিয়াকরণের জন্য সার্ভার বা ক্লাউডে পাঠানো হতে পারে, যদিও ডিভাইসটির কাজ করার জন্য এটি অপরিহার্য নয়। এটি নেটওয়ার্ক লেটেন্সি কমিয়ে দেয় এবং ক্লাউড বা সার্ভারে মেশিন লার্নিং অপারেশন করার প্রয়োজনীয়তা দূর করে।
- গোপনীয়তা: এটি ইন্টারনেটে এবং জিনিসগুলির ইন্টারনেটের সাথে একটি প্রধান উদ্বেগ। কোনো সার্ভার/ক্লাউডে সেন্সর/ব্যবহারকারীর ডেটা সংরক্ষণ বা পাঠানো ছাড়াই TinyML অ্যাপে মেশিন লার্নিং কাজ স্থানীয়ভাবে করা হয়। ফলস্বরূপ, এমনকি একটি নেটওয়ার্কের সাথে লিঙ্ক থাকা সত্ত্বেও, এই অ্যাপ্লিকেশনগুলি ব্যবহার করা নিরাপদ এবং গোপনীয়তার কোনো ঝুঁকি নেই৷
অ্যাপ্লিকেশন
- কৃষি – কখন কৃষকরা একটি গাছের ছবি তোলেন, TensorFlow Lite-এর অ্যাপ্লিকেশন এতে অসুস্থতা শনাক্ত করে। এটি যেকোনো ডিভাইসে কাজ করে এবং ইন্টারনেট সংযোগের প্রয়োজন হয় না। পদ্ধতিটি কৃষি স্বার্থ রক্ষা করে এবং গ্রামীণ কৃষকদের জন্য এটি একটি গুরুত্বপূর্ণ প্রয়োজনীয়তা।
- মেকানিক্স রক্ষণাবেক্ষণ - টিনিএমএল, যখন কম-পাওয়ার ডিভাইসে ব্যবহার করা হয়, একটি মেশিনে ক্রমাগত ত্রুটিগুলি সনাক্ত করতে পারে। এটা ভবিষ্যদ্বাণী-ভিত্তিক রক্ষণাবেক্ষণ entails. পিং সার্ভিসেস, একটি অস্ট্রেলিয়ান স্টার্ট-আপ, একটি IoT গ্যাজেট চালু করেছে যা টারবাইনের বাইরের অংশে নিজেকে সংযুক্ত করে বায়ু টারবাইনগুলি পর্যবেক্ষণ করে৷ যখনই এটি কোনও সম্ভাব্য সমস্যা বা ত্রুটি সনাক্ত করে তখনই এটি কর্তৃপক্ষকে অবহিত করে।
- হাসপাতাল - The সোলার স্কয়ার একটি প্রকল্প। মশা টিনিএমএল ব্যবহার করে ডেঙ্গু এবং ম্যালেরিয়ার মতো রোগের বিস্তার রোধ করতে। এটি সৌর শক্তি দ্বারা চালিত এবং মশার প্রজননকে বাধা দেওয়ার জন্য জলকে সংকেত দেওয়ার আগে মশার প্রজনন পরিস্থিতি সনাক্ত করে।
- ট্রাফিক নজরদারি – দ্বারা রিয়েল-টাইম ট্র্যাফিক ডেটা সংগ্রহকারী সেন্সরগুলিতে TinyML প্রয়োগ করে, আমরা সেগুলিকে আরও ভাল সরাসরি ট্র্যাফিকের জন্য ব্যবহার করতে পারি এবং জরুরী যানবাহনের জন্য প্রতিক্রিয়া সময় কমাতে পারি। উদাহরণস্বরূপ, Swim.AI, স্মার্ট রাউটিং এর মাধ্যমে যানজট এবং নির্গমন কমানোর পাশাপাশি যাত্রীদের নিরাপত্তা বাড়াতে স্ট্রিমিং ডেটাতে এই প্রযুক্তি ব্যবহার করে।
- আইন: TinyML মেশিন লার্নিং এবং অঙ্গভঙ্গি স্বীকৃতি ব্যবহার করে দাঙ্গা এবং চুরির মতো বেআইনি কাজ সনাক্ত করতে আইন প্রয়োগে ব্যবহার করা যেতে পারে। একটি অনুরূপ প্রোগ্রাম ব্যাঙ্ক এটিএম সুরক্ষিত করতে ব্যবহার করা যেতে পারে. ব্যবহারকারীর আচরণ দেখে, একটি TinyML মডেল ভবিষ্যদ্বাণী করতে পারে যে ব্যবহারকারী একজন প্রকৃত ভোক্তা যে একটি লেনদেন সম্পন্ন করছে বা এটিএম হ্যাক বা ধ্বংস করার চেষ্টা করছে এমন একজন অনুপ্রবেশকারী।
কিভাবে TinyML দিয়ে শুরু করবেন?
TensorFlow Lite-এ TinyML-এর সাথে শুরু করতে, আপনার একটি সামঞ্জস্যপূর্ণ মাইক্রোকন্ট্রোলার বোর্ডের প্রয়োজন হবে। মাইক্রোকন্ট্রোলারের জন্য টেনসরফ্লো লাইট নীচে তালিকাভুক্ত মাইক্রোকন্ট্রোলারকে সমর্থন করে।
- উইও টার্মিনাল: ATSAMD51
- Himax WE-I Plus EVB এন্ডপয়েন্ট এআই ডেভেলপমেন্ট বোর্ড
- STM32F746 ডিসকভারি কিট
- Adafruit EdgeBadge
- Synopsys DesignWare ARC EM সফটওয়্যার ডেভেলপমেন্ট প্ল্যাটফর্ম
- সনি স্প্রেসেন্স
- আরডুইনো ন্যানো 33 বিএলই সেন্স
- স্পার্কফান এজ
- মাইক্রোকন্ট্রোলার কিটের জন্য অ্যাডাফ্রুট টেনসরফ্লো লাইট
- Adafruit সার্কিট খেলার মাঠ Bluefruit
- Espressif ESP32-DevKitC
- Espressif ESP-EYE
এগুলি হল 32-বিট মাইক্রোকন্ট্রোলারগুলির যথেষ্ট ফ্ল্যাশ মেমরি, RAM এবং ঘড়ির ফ্রিকোয়েন্সি রয়েছে যা একটি মেশিন লার্নিং মডেল চালানোর জন্য। বোর্ডগুলিতে অনেকগুলি অনবোর্ড সেন্সর রয়েছে যা যে কোনও এমবেডেড প্রোগ্রাম চালাতে এবং লক্ষ্যযুক্ত অ্যাপ্লিকেশনে মেশিন লার্নিং মডেলগুলি প্রয়োগ করতে সক্ষম। প্রতি একটি মেশিন লার্নিং মডেল তৈরি করুন, আপনার একটি হার্ডওয়্যার প্ল্যাটফর্ম ছাড়াও একটি ল্যাপটপ বা কম্পিউটারের প্রয়োজন হবে৷
প্রতিটি হার্ডওয়্যার প্ল্যাটফর্মের মেশিন লার্নিং মডেল তৈরি, প্রশিক্ষণ এবং পোর্ট করার জন্য নিজস্ব প্রোগ্রামিং সরঞ্জাম রয়েছে, যা মাইক্রোকন্ট্রোলার প্যাকেজের জন্য টেনসরফ্লো লাইট ব্যবহার করে। TensorFlow Lite ব্যবহার এবং পরিবর্তন করার জন্য বিনামূল্যে কারণ এটি ওপেন সোর্স.
TinyML এবং TensorFlow Lite-এর সাথে শুরু করার জন্য, আপনার যা দরকার তা হল উপরে উল্লিখিত এমবেডেড হার্ডওয়্যার প্ল্যাটফর্মগুলির মধ্যে একটি, একটি কম্পিউটার/ল্যাপটপ, একটি USB কেবল, একটি USB-টু-সিরিয়াল রূপান্তরকারী – এবং এমবেডেড সিস্টেমের সাথে মেশিন লার্নিং অনুশীলন করার ইচ্ছা। .
চ্যালেঞ্জ
যদিও TinyML এর অগ্রগতি অনেক ইতিবাচক ফলাফল দিয়েছে, মেশিন লার্নিং শিল্প এখনও যথেষ্ট বাধার সম্মুখীন হয়েছে।
- সফ্টওয়্যার বৈচিত্র্য - হ্যান্ড-কোডিং, কোড জেনারেশন, এবং ML দোভাষী হল TinyML ডিভাইসে মডেল স্থাপনের জন্য সমস্ত বিকল্প, এবং প্রতিটিতে আলাদা পরিমাণ সময় এবং প্রচেষ্টা লাগে। এর ফলে বিভিন্ন পারফরম্যান্স দেখা দিতে পারে।
- হার্ডওয়্যার বৈচিত্র্য - সেখানে বেশ কয়েকটি হার্ডওয়্যার বিকল্প উপলব্ধ। TinyML প্ল্যাটফর্মগুলি সাধারণ-উদ্দেশ্য মাইক্রোকন্ট্রোলার থেকে অত্যাধুনিক নিউরাল প্রসেসর পর্যন্ত যেকোনো কিছু হতে পারে। এটি বিভিন্ন আর্কিটেকচার জুড়ে মডেল স্থাপনে সমস্যা সৃষ্টি করে।
- সমস্যা সমাধান/ডিবাগিং - কখন একটি ML মডেল ক্লাউডে খারাপভাবে পারফর্ম করে, ডেটার দিকে তাকানো এবং কী ভুল হচ্ছে তা বের করা সহজ। যখন একটি মডেল হাজার হাজার TinyML ডিভাইস জুড়ে ছড়িয়ে পড়ে, কোনো ডেটা স্ট্রিম ক্লাউডে ফিরে না আসে, তখন ডিবাগিং কঠিন হয়ে পড়ে এবং একটি ভিন্ন পদ্ধতির প্রয়োজন হতে পারে।
- মেমরি সীমাবদ্ধতা - ঐতিহ্যগত স্মার্টফোন এবং ল্যাপটপের মতো প্ল্যাটফর্মের জন্য গিগাবাইট র্যামের প্রয়োজন, যেখানে TinyML ডিভাইসগুলি কিলোবাইট বা মেগাবাইট ব্যবহার করে। ফলস্বরূপ, যে মডেলটি স্থাপন করা যেতে পারে তার আকার সীমিত।
- মডেল প্রশিক্ষণ - যদিও টিনিএমএল ডিভাইসে এমএল মডেল স্থাপনের বিভিন্ন সুবিধা রয়েছে, এমএল মডেলের বেশিরভাগই এখনও ক্লাউডে প্রশিক্ষিত হয় যাতে তারা মডেলের সঠিকতাকে পুনরাবৃত্তি করতে এবং ক্রমাগত উন্নতি করতে পারে।
ভবিষ্যৎ
টিনিএমএল, তার ছোট পদচিহ্ন, কম ব্যাটারি খরচ, এবং ইন্টারনেট সংযোগের অভাব বা সীমিত নির্ভরতা সহ, ভবিষ্যতে প্রচুর সম্ভাবনা রয়েছে, কারণ বেশিরভাগ সংকীর্ণ কৃত্রিম বুদ্ধিমত্তা প্রান্ত ডিভাইস বা স্বাধীন এমবেডেড গ্যাজেটগুলিতে প্রয়োগ করা হবে।
এটি আইওটি অ্যাপ্লিকেশনগুলিকে আরও ব্যক্তিগত এবং সুরক্ষিত করে তুলবে। যদিও TensorFlow Lite বর্তমানে মাইক্রোকন্ট্রোলার এবং মাইক্রোকম্পিউটারগুলির জন্য একমাত্র মেশিন লার্নিং ফ্রেমওয়ার্ক, সেন্সর এবং ARM-এর CMSIS-NN-এর মতো অন্যান্য তুলনামূলক কাঠামো কাজ চলছে৷
যদিও TensorFlow Lite একটি ওপেন-সোর্স প্রজেক্ট চলছে যা Google-এর টিমের সাথে একটি দুর্দান্ত সূচনা করেছে, তবুও মূলধারায় প্রবেশের জন্য এটির সম্প্রদায়ের সমর্থন প্রয়োজন।
উপসংহার
TinyML হল একটি অভিনব পদ্ধতি যা মেশিন লার্নিং এর সাথে এমবেডেড সিস্টেমকে একত্রিত করে। অনেক উল্লম্ব এবং ডোমেনে সংকীর্ণ AI শিখর হিসাবে, প্রযুক্তিটি মেশিন লার্নিং এবং কৃত্রিম বুদ্ধিমত্তার একটি বিশিষ্ট উপক্ষেত্র হিসাবে আবির্ভূত হতে পারে।
এটি এমন অসংখ্য চ্যালেঞ্জের সমাধান প্রদান করে যা IoT সেক্টর এবং অনেক ডোমেন-নির্দিষ্ট শাখায় মেশিন লার্নিং প্রয়োগকারী পেশাদাররা এখন সম্মুখীন হচ্ছে।
এ মেশিন লার্নিং ব্যবহার করার ধারণা একটি ছোট কম্পিউটিং সঙ্গে প্রান্ত ডিভাইস ফুটপ্রিন্ট এবং শক্তি খরচ উল্লেখযোগ্যভাবে কিভাবে এমবেডেড সিস্টেম এবং রোবোটিক্স নির্মাণ করা হয় রূপান্তর করার সম্ভাবনা রয়েছে।
নির্দেশিকা সমন্ধে মতামত দিন