কিভাবে Tokopedia মেশিন লার্নিং ব্যবহার করে তাদের বিক্রেতার ওয়েব অ্যাপ উন্নত করে অপারেশনাল খরচ কমিয়েছে

ডেন্দি সুনারদী
Dendi Sunardi
জিওফ্রে প্রসেটিও
Geoffrey Prasetyo
স্বেতা গোপালকৃষ্ণন
Swetha Gopalakrishnan

টোকোপিডিয়া হল একটি ইন্দোনেশিয়ান প্রযুক্তি কোম্পানি যার একটি বৃহত্তম ইকমার্স মার্কেটপ্লেস, এটির প্ল্যাটফর্মে 40টি ডিজিটাল পণ্য এবং 14 মিলিয়নেরও বেশি নিবন্ধিত বিক্রেতা হোস্ট করে৷

Mitra Tokopedia , Tokopedia-এর ব্যবসায়িক ভার্টিক্যালের অংশ, একটি ওয়েব অ্যাপ্লিকেশন যা ছোট ব্যবসার মালিকদের ডিজিটাল পণ্য যেমন ক্রেডিট এবং গেম ভাউচার, ডেটা প্যাকেজ, বিদ্যুৎ টোকেন, জাতীয় স্বাস্থ্যসেবা বিল এবং অন্যান্য বিক্রি করতে সাহায্য করে। ওয়েবসাইটটি 700 টিরও বেশি শহরে মিত্র টোকোপিডিয়া বিক্রেতাদের জন্য প্রাথমিক চ্যানেলগুলির মধ্যে একটি, এটি একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য এটিকে গুরুত্বপূর্ণ করে তুলেছে।

অনবোর্ডিং প্রক্রিয়ার একটি মূল পদক্ষেপের জন্য এই বিক্রেতাদের তাদের পরিচয় যাচাই করতে হবে। বিক্রেতার যাচাইকরণ সম্পূর্ণ করার জন্য বিক্রেতাকে তাদের জাতীয় পরিচয়পত্রের পাশাপাশি আইডি সহ একটি সেলফি আপলোড করতে হবে। এটিকে Know-Your-Customer (KYC) প্রক্রিয়া হিসাবে উল্লেখ করা হয়।

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

চ্যালেঞ্জ

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

সমাধান

টোকোপিডিয়ার টিম KYC প্রক্রিয়ার প্রথম ধাপেই এই সমস্যাটি সমাধান করতে TensorFlow.js-এর সাথে ML ব্যবহার করার সিদ্ধান্ত নিয়েছে—যখন ব্যবহারকারী ছবিগুলি আপলোড করেন। তারা যখন বিক্রেতা আইডি কার্ড এবং সেলফি ছবি আপলোড করে তখন ছয়টি মূল পয়েন্ট সহ বিক্রেতার মুখ সনাক্ত করতে তারা MediaPipe এবং TensorFlow এর ফেস ডিটেকশন লাইব্রেরি ব্যবহার করে। মডেলের আউটপুট তারপর তাদের গ্রহণযোগ্যতার মানদণ্ডের বিরুদ্ধে পরীক্ষা করতে ব্যবহার করা হয়। সফল যাচাইয়ের পরে, তথ্যটি ব্যাকএন্ডে পাঠানো হয়। যাচাইকরণ ব্যর্থ হলে, বিক্রেতাকে একটি ত্রুটি বার্তা এবং পুনরায় চেষ্টা করার বিকল্প প্রদান করা হয়। একটি হাইব্রিড পদ্ধতি ব্যবহার করা হয়েছিল যেখানে মডেলটি ফোনের স্পেসিফিকেশনের উপর নির্ভর করে ডিভাইসে বা সার্ভারের দিক থেকে অনুমান সম্পাদন করে। একটি নিম্ন প্রান্তের ডিভাইস সার্ভারে অনুমান সম্পাদন করবে।

কেওয়াইসি প্রক্রিয়ার প্রথম দিকে একটি এমএল মডেল ব্যবহার করা তাদের অনুমতি দেয়:

  • KYC প্রক্রিয়ায় প্রত্যাখ্যানের হার উন্নত করুন।
  • মডেল দ্বারা মূল্যায়ন করা গুণমানের উপর ভিত্তি করে ব্যবহারকারীদের তাদের ছবিগুলির সম্ভাব্য প্রত্যাখ্যান সম্পর্কে সতর্ক করুন।

কেন অন্যান্য সমাধানের বিপরীতে এমএল বেছে নিন?

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

একটি মডেল নির্বাচন করার সময় বিবেচনা

এমএল মডেল নির্বাচন করার সময় নিম্নলিখিত বিষয়গুলি বিবেচনা করা হয়েছিল।

খরচ

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

পরিমাপযোগ্যতা

তারা মডেল এবং প্রযুক্তির মাপযোগ্যতা বিবেচনা করে। আমাদের প্রকল্পের বিকাশের সাথে সাথে এটি কি ডেটা এবং মডেল জটিলতার বৃদ্ধি পরিচালনা করতে সক্ষম? এটি কি অন্য প্রকল্পগুলি বা ব্যবহারের ক্ষেত্রে বাড়ানো যেতে পারে? অন-ডিভাইস প্রসেসিং সাহায্য করে কারণ মডেলটি একটি CDN-এ হোস্ট করা যেতে পারে এবং ক্লায়েন্ট সাইডে ডেলিভারি করা যেতে পারে, যা খুবই মাপযোগ্য।

কর্মক্ষমতা

তারা লাইব্রেরির আকার (কেবি-তে) এবং রানটাইম প্রক্রিয়ার লেটেন্সি বিবেচনা করেছে। মিত্র টোকোপিডিয়ার বেশিরভাগ ব্যবহারকারীর কাছে মাঝারি ইন্টারনেট গতি এবং সংযোগ সহ মধ্য থেকে নিম্ন পর্যায়ের ডিভাইস রয়েছে। এইভাবে, ডাউনলোড এবং রানটাইমের পরিপ্রেক্ষিতে পারফরম্যান্স (অর্থাৎ মডেলটি কত দ্রুত একটি আউটপুট তৈরি করতে পারে) তাদের নির্দিষ্ট চাহিদা মেটাতে এবং দুর্দান্ত ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য একটি শীর্ষ অগ্রাধিকার।

অন্যান্য বিবেচনা

নিয়ন্ত্রক সম্মতি: তাদের নিশ্চিত করতে হয়েছিল যে নির্বাচিত লাইব্রেরি প্রাসঙ্গিক ডেটা সুরক্ষা এবং গোপনীয়তা বিধি মেনে চলছে।

দক্ষতা: তারা তাদের দলের দক্ষতা এবং দক্ষতা মূল্যায়ন করেছে। কিছু এমএল ফ্রেমওয়ার্ক এবং লাইব্রেরির জন্য নির্দিষ্ট প্রোগ্রামিং ভাষা বা একটি নির্দিষ্ট এলাকায় দক্ষতার প্রয়োজন হতে পারে। এই বিষয়গুলি বিবেচনা করে, তারা তাদের মেশিন লার্নিং প্রকল্পের জন্য সঠিক মডেল নির্বাচন করার সময় একটি জ্ঞাত সিদ্ধান্ত নিয়েছে।

প্রযুক্তি বেছে নেওয়া হয়েছে

TensorFlow.js এই বিষয়গুলো বিবেচনা করে তাদের চাহিদা পূরণ করেছে। এটি ডিভাইসের GPU ব্যবহার করার জন্য তার WebGL ব্যাকএন্ড ব্যবহার করে সম্পূর্ণরূপে অন-ডিভাইস চালাতে সক্ষম। একটি মডেল অন-ডিভাইস চালানোর ফলে সার্ভারের লেটেন্সি কমে যাওয়ায় ব্যবহারকারীর কাছে দ্রুত প্রতিক্রিয়া পাওয়া যায় এবং সার্ভার কম্পিউট খরচ কম হয়। অন-ডিভাইস ML সম্পর্কে নিবন্ধে আরও পড়ুন অন-ডিভাইস ML-এর সুবিধা এবং সীমাবদ্ধতা

"TensorFlow.js হল Google-এর একটি ওপেন সোর্স মেশিন লার্নিং লাইব্রেরি যা জাভাস্ক্রিপ্ট ডেভেলপারদের লক্ষ্য করে যা ব্রাউজারে ক্লায়েন্ট সাইড চালাতে সক্ষম। এটি ব্যাপক WebGL, WebAssembly এবং WebGPU ব্যাকএন্ড অপারেটর সমর্থন সহ ওয়েব AI এর জন্য সবচেয়ে পরিপক্ক বিকল্প যা ব্রাউজারে দ্রুত কার্যক্ষমতা সহ ব্যবহার করা যেতে পারে।"কিভাবে Adobe ওয়েবের জন্য ফটোশপ উন্নত করতে TensorFlow.js এর সাথে Web ML ব্যবহার করেছে

প্রযুক্তিগত বাস্তবায়ন

মিত্রা টোকোপিডিয়া মিডিয়াপিপ এবং টেনসরফ্লো-এর ফেস ডিটেকশন লাইব্রেরি ব্যবহার করেছে, একটি প্যাকেজ যা রিয়েল-টাইম ফেস ডিটেকশন চালানোর জন্য মডেল সরবরাহ করে। বিশেষভাবে, এই লাইব্রেরিতে সরবরাহ করা MediaPipeFaceDetector-TFJS মডেল, যা tfjs রানটাইম প্রয়োগ করে এই সমাধানের জন্য ব্যবহার করা হয়েছিল।

বাস্তবায়নে ডুব দেওয়ার আগে, মিডিয়াপাইপ কী তার সংক্ষিপ্ত বিবরণ। MediaPipe আপনাকে মোবাইল (Android, iOS), ওয়েব, ডেস্কটপ, এজ ডিভাইস এবং IoT জুড়ে অন-ডিভাইস ML সলিউশন তৈরি এবং স্থাপন করতে দেয়।

এই পোস্টটি লেখার সময় MediaPipe দ্বারা অফার করা 14টি ভিন্ন সমাধান রয়েছে। আপনি একটি mediapipe বা tfjs রানটাইম ব্যবহার করতে পারেন। tfjs রানটাইম জাভাস্ক্রিপ্ট দিয়ে তৈরি এবং একটি জাভাস্ক্রিপ্ট প্যাকেজ প্রদান করে যা ওয়েব অ্যাপ্লিকেশন দ্বারা বাহ্যিকভাবে ডাউনলোড করা যায়। এটি একটি mediapipe রানটাইম থেকে আলাদা, যা C++ দিয়ে তৈরি এবং একটি WebAssembly মডিউলে কম্পাইল করা হয়। মূল পার্থক্য হল কর্মক্ষমতা, ডিবাগবিলিটি এবং বান্ডলিং। জাভাস্ক্রিপ্ট প্যাকেজটি ওয়েবপ্যাকের মতো ক্লাসিক বান্ডলারের সাথে বান্ডিল করা যেতে পারে। বিপরীতে, Wasm মডিউল হল একটি বড় এবং পৃথক বাইনারি রিসোর্স (যা লোড-টাইম নির্ভরতা না হয়ে প্রশমিত হয়) এবং একটি ভিন্ন Wasm ডিবাগিং ওয়ার্কফ্লো প্রয়োজন। যাইহোক, এটি প্রযুক্তিগত এবং কর্মক্ষমতা প্রয়োজনীয়তা পূরণ করতে সাহায্য করার জন্য দ্রুত কার্যকর করে।

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

টোকোপিডিয়ার বাস্তবায়নে ফিরে আসা, প্রথম ধাপ হল নিম্নরূপ মডেলটি শুরু করা। যখন ব্যবহারকারী একটি ফটো আপলোড করে, একটি HTMLImageElement ডিটেক্টরে একটি ইনপুট হিসাবে পাস করা হয়।

// Create the detector.
const model = faceDetection.SupportedModels.MediaPipeFaceDetector;
const detectorConfig = {
  runtime: 'tfjs'
};

const detector = await faceDetection.createDetector(model, detectorConfig);

// Run inference to start detecting faces.
const estimationConfig = {flipHorizontal: false};
const faces = await detector.estimateFaces(image, estimationConfig);

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

[
  {
    box: {
      xMin: 304.6476503248806,
      xMax: 502.5079975897382,
      yMin: 102.16298762367356,
      yMax: 349.035215984403,
      width: 197.86034726485758,
      height: 246.87222836072945
    },
    keypoints: [
      {x: 446.544237446397, y: 256.8054528661723, name: "rightEye"},
      {x: 406.53152857172876, y: 255.8, "leftEye },
      ...
    ],
  }
]

box চিত্রের পিক্সেল স্পেসে মুখের বাউন্ডিং বক্সের প্রতিনিধিত্ব করে, যেখানে xMin , xMax x-সীমা নির্দেশ করে, yMin , yMax y-সীমা নির্দেশ করে এবং width , height হল বাউন্ডিং বাক্সের মাত্রা। keypoints জন্য, x এবং y চিত্রের পিক্সেল স্পেসে প্রকৃত কীপয়েন্ট অবস্থান উপস্থাপন করে। name কীপয়েন্টের জন্য একটি লেবেল প্রদান করে, যা যথাক্রমে 'rightEye' , 'leftEye' , 'noseTip' , 'mouthCenter' , 'rightEarTragion' , এবং 'leftEarTragion' । এই পোস্টের শুরুতে উল্লিখিত হিসাবে, বিক্রেতা যাচাইকরণ সম্পূর্ণ করার জন্য বিক্রেতাকে তাদের জাতীয় পরিচয়পত্র এবং আইডি সহ একটি সেলফি আপলোড করতে হবে। মডেলের আউটপুটটি গ্রহণযোগ্যতার মানদণ্ডের বিপরীতে পরীক্ষা করার জন্য ব্যবহার করা হয়-যা আগে উল্লিখিত ছয়টি কীপয়েন্টের একটি বৈধ আইডেন্টিফিকেশন কার্ড এবং সেলফি ইমেজ হিসাবে বিবেচিত হতে হবে।

সফল যাচাইয়ের পরে, প্রাসঙ্গিক বিক্রেতার তথ্য ব্যাকএন্ডে পাঠানো হয়। যাচাইকরণ ব্যর্থ হলে, বিক্রেতাকে একটি ব্যর্থতার বার্তা এবং পুনরায় চেষ্টা করার একটি বিকল্প দেওয়া হয়। ব্যাকএন্ডে কোন তথ্য পাঠানো হবে না।

Mitra KYC পৃষ্ঠার চিত্র, TensorFlow.js মডেল এবং সার্ভার একে অপরের সাথে ইন্টারঅ্যাক্ট করছে।
মিত্র কেওয়াইসি পৃষ্ঠা, TensorFlow.js মডেল এবং সার্ভার একে অপরের সাথে কীভাবে যোগাযোগ করে

কম শেষ ডিভাইসের জন্য কর্মক্ষমতা বিবেচনা

এই প্যাকেজটি মাত্র 24.8 KB (মিনিফাইড এবং জিজিপড), যা ডাউনলোডের সময়কে উল্লেখযোগ্যভাবে প্রভাবিত করে না। যাইহোক, খুব কম প্রান্তের ডিভাইসের জন্য, রানটাইম প্রক্রিয়াকরণে অনেক সময় লাগে। মেশিন লার্নিং ফেস ডিটেকশন মডেলে দুটি ছবি পাস করার আগে ডিভাইস র‌্যাম এবং সিপিইউ পরীক্ষা করার জন্য অতিরিক্ত যুক্তি যোগ করা হয়েছিল।

ডিভাইসটিতে 4GB-এর বেশি RAM, 4G-এর চেয়ে বেশি নেটওয়ার্ক সংযোগ এবং 6-এর বেশি কোরের একটি CPU থাকলে, মুখ যাচাইয়ের জন্য ছবিগুলি ডিভাইসের মডেলে পাঠানো হয়। যদি এই প্রয়োজনীয়তাগুলি পূরণ না করা হয়, তাহলে ডিভাইসে থাকা মডেলটি বাদ দেওয়া হয় এবং এই পুরানো ডিভাইসগুলির জন্য একটি হাইব্রিড পদ্ধতি ব্যবহার করে যাচাইয়ের জন্য ছবিগুলি সরাসরি সার্ভারে পাঠানো হয়৷ সময়ের সাথে সাথে, হার্ডওয়্যার ক্রমাগত বিকশিত হওয়ার সাথে সাথে আরও ডিভাইস সার্ভার থেকে গণনা অফলোড করতে সক্ষম হবে।

প্রভাব

এমএল ইন্টিগ্রেশনের কারণে, টোকোপিডিয়া সফলভাবে উচ্চ প্রত্যাখ্যান হার সমাধান করতে সক্ষম হয়েছিল এবং নিম্নলিখিত ফলাফলগুলি দেখেছিল:

  • প্রত্যাখ্যানের হার 20% এর বেশি কমেছে।
  • ম্যানুয়াল অনুমোদনের সংখ্যা প্রায় 70% কমেছে।

এটি শুধুমাত্র বিক্রেতাদের জন্য একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা তৈরি করেনি, তবে টোকোপিডিয়া দলের জন্য অপারেশনাল খরচও কমিয়েছে।

উপসংহার

সামগ্রিকভাবে, এই কেস স্টাডির ফলাফলগুলি দেখিয়েছে যে সঠিক ব্যবহারের ক্ষেত্রে, ওয়েবে অন-ডিভাইস এমএল সমাধানগুলি ব্যবহারকারীর অভিজ্ঞতা এবং বৈশিষ্ট্যগুলির কার্যকারিতা উন্নত করার পাশাপাশি খরচ সঞ্চয় এবং অন্যান্য ব্যবসায়িক সুবিধা তৈরি করতে মূল্যবান হতে পারে।

MediaPipe স্টুডিও এবং ওয়েবের জন্য MediaPipe ফেস ডিটেক্টরের কোড নমুনা ব্যবহার করে নিজেই MediaPipe ফেস ডিটেকশন বৈশিষ্ট্যটি ব্যবহার করে দেখুন।

আপনি যদি অন-ডিভাইস ML এর সাথে আপনার নিজস্ব ওয়েব অ্যাপের ক্ষমতা প্রসারিত করতে আগ্রহী হন তবে নিম্নলিখিত সংস্থানগুলি দেখুন:

,

ডেন্দি সুনারদী
Dendi Sunardi
জিওফ্রে প্রসেটিও
Geoffrey Prasetyo
স্বেতা গোপালকৃষ্ণন
Swetha Gopalakrishnan

টোকোপিডিয়া হল একটি ইন্দোনেশিয়ান প্রযুক্তি কোম্পানি যার একটি বৃহত্তম ইকমার্স মার্কেটপ্লেস, এটির প্ল্যাটফর্মে 40টি ডিজিটাল পণ্য এবং 14 মিলিয়নেরও বেশি নিবন্ধিত বিক্রেতা হোস্ট করে৷

Mitra Tokopedia , Tokopedia-এর ব্যবসায়িক ভার্টিক্যালের অংশ, একটি ওয়েব অ্যাপ্লিকেশন যা ছোট ব্যবসার মালিকদের ডিজিটাল পণ্য যেমন ক্রেডিট এবং গেম ভাউচার, ডেটা প্যাকেজ, বিদ্যুৎ টোকেন, জাতীয় স্বাস্থ্যসেবা বিল এবং অন্যান্য বিক্রি করতে সাহায্য করে। ওয়েবসাইটটি 700 টিরও বেশি শহরে মিত্র টোকোপিডিয়া বিক্রেতাদের জন্য প্রাথমিক চ্যানেলগুলির মধ্যে একটি, এটি একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য এটিকে গুরুত্বপূর্ণ করে তুলেছে।

অনবোর্ডিং প্রক্রিয়ার একটি মূল পদক্ষেপের জন্য এই বিক্রেতাদের তাদের পরিচয় যাচাই করতে হবে। বিক্রেতার যাচাইকরণ সম্পূর্ণ করার জন্য বিক্রেতাকে তাদের জাতীয় পরিচয়পত্রের পাশাপাশি আইডি সহ একটি সেলফি আপলোড করতে হবে। এটিকে Know-Your-Customer (KYC) প্রক্রিয়া হিসাবে উল্লেখ করা হয়।

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

চ্যালেঞ্জ

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

সমাধান

টোকোপিডিয়ার টিম KYC প্রক্রিয়ার প্রথম ধাপেই এই সমস্যাটি সমাধান করতে TensorFlow.js-এর সাথে ML ব্যবহার করার সিদ্ধান্ত নিয়েছে—যখন ব্যবহারকারী ছবিগুলি আপলোড করেন। তারা যখন বিক্রেতা আইডি কার্ড এবং সেলফি ছবি আপলোড করে তখন ছয়টি মূল পয়েন্ট সহ বিক্রেতার মুখ সনাক্ত করতে তারা MediaPipe এবং TensorFlow এর ফেস ডিটেকশন লাইব্রেরি ব্যবহার করে। মডেলের আউটপুট তারপর তাদের গ্রহণযোগ্যতার মানদণ্ডের বিরুদ্ধে পরীক্ষা করতে ব্যবহার করা হয়। সফল যাচাইয়ের পরে, তথ্যটি ব্যাকএন্ডে পাঠানো হয়। যাচাইকরণ ব্যর্থ হলে, বিক্রেতাকে একটি ত্রুটি বার্তা এবং পুনরায় চেষ্টা করার বিকল্প প্রদান করা হয়। একটি হাইব্রিড পদ্ধতি ব্যবহার করা হয়েছিল যেখানে মডেলটি ফোনের স্পেসিফিকেশনের উপর নির্ভর করে ডিভাইসে বা সার্ভারের দিক থেকে অনুমান সম্পাদন করে। একটি নিম্ন প্রান্তের ডিভাইস সার্ভারে অনুমান সম্পাদন করবে।

কেওয়াইসি প্রক্রিয়ার প্রথম দিকে একটি এমএল মডেল ব্যবহার করা তাদের অনুমতি দেয়:

  • KYC প্রক্রিয়ায় প্রত্যাখ্যানের হার উন্নত করুন।
  • মডেল দ্বারা মূল্যায়ন করা গুণমানের উপর ভিত্তি করে ব্যবহারকারীদের তাদের ছবিগুলির সম্ভাব্য প্রত্যাখ্যান সম্পর্কে সতর্ক করুন।

কেন অন্যান্য সমাধানের বিপরীতে এমএল বেছে নিন?

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

একটি মডেল নির্বাচন করার সময় বিবেচনা

এমএল মডেল নির্বাচন করার সময় নিম্নলিখিত বিষয়গুলি বিবেচনা করা হয়েছিল।

খরচ

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

পরিমাপযোগ্যতা

তারা মডেল এবং প্রযুক্তির মাপযোগ্যতা বিবেচনা করে। আমাদের প্রকল্পের বিকাশের সাথে সাথে এটি কি ডেটা এবং মডেল জটিলতার বৃদ্ধি পরিচালনা করতে সক্ষম? এটি কি অন্য প্রকল্পগুলি বা ব্যবহারের ক্ষেত্রে বাড়ানো যেতে পারে? অন-ডিভাইস প্রসেসিং সাহায্য করে কারণ মডেলটি একটি CDN-এ হোস্ট করা যেতে পারে এবং ক্লায়েন্ট সাইডে ডেলিভারি করা যেতে পারে, যা খুবই মাপযোগ্য।

কর্মক্ষমতা

তারা লাইব্রেরির আকার (কেবি-তে) এবং রানটাইম প্রক্রিয়ার লেটেন্সি বিবেচনা করেছে। মিত্র টোকোপিডিয়ার বেশিরভাগ ব্যবহারকারীর কাছে মাঝারি ইন্টারনেট গতি এবং সংযোগ সহ মধ্য থেকে নিম্ন পর্যায়ের ডিভাইস রয়েছে। এইভাবে, ডাউনলোড এবং রানটাইমের পরিপ্রেক্ষিতে পারফরম্যান্স (অর্থাৎ মডেলটি কত দ্রুত একটি আউটপুট তৈরি করতে পারে) তাদের নির্দিষ্ট চাহিদা মেটাতে এবং দুর্দান্ত ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য একটি শীর্ষ অগ্রাধিকার।

অন্যান্য বিবেচনা

নিয়ন্ত্রক সম্মতি: তাদের নিশ্চিত করতে হয়েছিল যে নির্বাচিত লাইব্রেরি প্রাসঙ্গিক ডেটা সুরক্ষা এবং গোপনীয়তা বিধি মেনে চলছে।

দক্ষতা: তারা তাদের দলের দক্ষতা এবং দক্ষতা মূল্যায়ন করেছে। কিছু এমএল ফ্রেমওয়ার্ক এবং লাইব্রেরির জন্য নির্দিষ্ট প্রোগ্রামিং ভাষা বা একটি নির্দিষ্ট এলাকায় দক্ষতার প্রয়োজন হতে পারে। এই বিষয়গুলি বিবেচনা করে, তারা তাদের মেশিন লার্নিং প্রকল্পের জন্য সঠিক মডেল নির্বাচন করার সময় একটি জ্ঞাত সিদ্ধান্ত নিয়েছে।

প্রযুক্তি বেছে নেওয়া হয়েছে

TensorFlow.js এই বিষয়গুলো বিবেচনা করে তাদের চাহিদা পূরণ করেছে। এটি ডিভাইসের GPU ব্যবহার করার জন্য তার WebGL ব্যাকএন্ড ব্যবহার করে সম্পূর্ণরূপে অন-ডিভাইস চালাতে সক্ষম। একটি মডেল অন-ডিভাইস চালানোর ফলে সার্ভারের লেটেন্সি কমে যাওয়ায় ব্যবহারকারীর কাছে দ্রুত প্রতিক্রিয়া পাওয়া যায় এবং সার্ভার কম্পিউট খরচ কম হয়। অন-ডিভাইস ML সম্পর্কে নিবন্ধে আরও পড়ুন অন-ডিভাইস ML-এর সুবিধা এবং সীমাবদ্ধতা

"TensorFlow.js হল Google-এর একটি ওপেন সোর্স মেশিন লার্নিং লাইব্রেরি যা জাভাস্ক্রিপ্ট ডেভেলপারদের লক্ষ্য করে যা ব্রাউজারে ক্লায়েন্ট সাইড চালাতে সক্ষম। এটি ব্যাপক WebGL, WebAssembly এবং WebGPU ব্যাকএন্ড অপারেটর সমর্থন সহ ওয়েব AI এর জন্য সবচেয়ে পরিপক্ক বিকল্প যা ব্রাউজারে দ্রুত কার্যক্ষমতা সহ ব্যবহার করা যেতে পারে।"কিভাবে Adobe ওয়েবের জন্য ফটোশপ উন্নত করতে TensorFlow.js এর সাথে Web ML ব্যবহার করেছে

প্রযুক্তিগত বাস্তবায়ন

মিত্রা টোকোপিডিয়া মিডিয়াপিপ এবং টেনসরফ্লো-এর ফেস ডিটেকশন লাইব্রেরি ব্যবহার করেছে, একটি প্যাকেজ যা রিয়েল-টাইম ফেস ডিটেকশন চালানোর জন্য মডেল সরবরাহ করে। বিশেষভাবে, এই লাইব্রেরিতে সরবরাহ করা MediaPipeFaceDetector-TFJS মডেল, যা tfjs রানটাইম প্রয়োগ করে এই সমাধানের জন্য ব্যবহার করা হয়েছিল।

বাস্তবায়নে ডুব দেওয়ার আগে, মিডিয়াপাইপ কী তার সংক্ষিপ্ত বিবরণ। MediaPipe আপনাকে মোবাইল (Android, iOS), ওয়েব, ডেস্কটপ, এজ ডিভাইস এবং IoT জুড়ে অন-ডিভাইস ML সলিউশন তৈরি এবং স্থাপন করতে দেয়।

এই পোস্টটি লেখার সময় MediaPipe দ্বারা অফার করা 14টি ভিন্ন সমাধান রয়েছে। আপনি একটি mediapipe বা tfjs রানটাইম ব্যবহার করতে পারেন। tfjs রানটাইম জাভাস্ক্রিপ্ট দিয়ে তৈরি এবং একটি জাভাস্ক্রিপ্ট প্যাকেজ প্রদান করে যা ওয়েব অ্যাপ্লিকেশন দ্বারা বাহ্যিকভাবে ডাউনলোড করা যায়। এটি একটি mediapipe রানটাইম থেকে আলাদা, যা C++ দিয়ে তৈরি এবং একটি WebAssembly মডিউলে কম্পাইল করা হয়। মূল পার্থক্য হল কর্মক্ষমতা, ডিবাগবিলিটি এবং বান্ডলিং। জাভাস্ক্রিপ্ট প্যাকেজটি ওয়েবপ্যাকের মতো ক্লাসিক বান্ডলারের সাথে বান্ডিল করা যেতে পারে। বিপরীতে, Wasm মডিউল হল একটি বড় এবং পৃথক বাইনারি রিসোর্স (যা লোড-টাইম নির্ভরতা না হয়ে প্রশমিত হয়) এবং একটি ভিন্ন Wasm ডিবাগিং ওয়ার্কফ্লো প্রয়োজন। যাইহোক, এটি প্রযুক্তিগত এবং কর্মক্ষমতা প্রয়োজনীয়তা পূরণ করতে সাহায্য করার জন্য দ্রুত কার্যকর করে।

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

টোকোপিডিয়ার বাস্তবায়নে ফিরে আসা, প্রথম ধাপ হল নিম্নরূপ মডেলটি শুরু করা। যখন ব্যবহারকারী একটি ফটো আপলোড করে, একটি HTMLImageElement ডিটেক্টরে একটি ইনপুট হিসাবে পাস করা হয়।

// Create the detector.
const model = faceDetection.SupportedModels.MediaPipeFaceDetector;
const detectorConfig = {
  runtime: 'tfjs'
};

const detector = await faceDetection.createDetector(model, detectorConfig);

// Run inference to start detecting faces.
const estimationConfig = {flipHorizontal: false};
const faces = await detector.estimateFaces(image, estimationConfig);

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

[
  {
    box: {
      xMin: 304.6476503248806,
      xMax: 502.5079975897382,
      yMin: 102.16298762367356,
      yMax: 349.035215984403,
      width: 197.86034726485758,
      height: 246.87222836072945
    },
    keypoints: [
      {x: 446.544237446397, y: 256.8054528661723, name: "rightEye"},
      {x: 406.53152857172876, y: 255.8, "leftEye },
      ...
    ],
  }
]

box চিত্রের পিক্সেল স্পেসে মুখের বাউন্ডিং বক্সের প্রতিনিধিত্ব করে, যেখানে xMin , xMax x-সীমা নির্দেশ করে, yMin , yMax y-সীমা নির্দেশ করে এবং width , height হল বাউন্ডিং বাক্সের মাত্রা। keypoints জন্য, x এবং y চিত্রের পিক্সেল স্পেসে প্রকৃত কীপয়েন্ট অবস্থান উপস্থাপন করে। name কীপয়েন্টের জন্য একটি লেবেল প্রদান করে, যা যথাক্রমে 'rightEye' , 'leftEye' , 'noseTip' , 'mouthCenter' , 'rightEarTragion' , এবং 'leftEarTragion' । এই পোস্টের শুরুতে উল্লিখিত হিসাবে, বিক্রেতা যাচাইকরণ সম্পূর্ণ করার জন্য বিক্রেতাকে তাদের জাতীয় পরিচয়পত্র এবং আইডি সহ একটি সেলফি আপলোড করতে হবে। মডেলের আউটপুটটি গ্রহণযোগ্যতার মানদণ্ডের বিপরীতে পরীক্ষা করার জন্য ব্যবহার করা হয়-যা আগে উল্লিখিত ছয়টি কীপয়েন্টের একটি বৈধ আইডেন্টিফিকেশন কার্ড এবং সেলফি ইমেজ হিসাবে বিবেচিত হতে হবে।

সফল যাচাইয়ের পরে, প্রাসঙ্গিক বিক্রেতার তথ্য ব্যাকএন্ডে পাঠানো হয়। যাচাইকরণ ব্যর্থ হলে, বিক্রেতাকে একটি ব্যর্থতার বার্তা এবং পুনরায় চেষ্টা করার একটি বিকল্প দেওয়া হয়। ব্যাকএন্ডে কোন তথ্য পাঠানো হবে না।

Mitra KYC পৃষ্ঠার চিত্র, TensorFlow.js মডেল এবং সার্ভার একে অপরের সাথে ইন্টারঅ্যাক্ট করছে।
মিত্র কেওয়াইসি পৃষ্ঠা, TensorFlow.js মডেল এবং সার্ভার একে অপরের সাথে কীভাবে যোগাযোগ করে

কম শেষ ডিভাইসের জন্য কর্মক্ষমতা বিবেচনা

এই প্যাকেজটি মাত্র 24.8 KB (মিনিফাইড এবং জিজিপড), যা ডাউনলোডের সময়কে উল্লেখযোগ্যভাবে প্রভাবিত করে না। যাইহোক, খুব কম প্রান্তের ডিভাইসের জন্য, রানটাইম প্রক্রিয়াকরণে অনেক সময় লাগে। মেশিন লার্নিং ফেস ডিটেকশন মডেলে দুটি ছবি পাস করার আগে ডিভাইস র‌্যাম এবং সিপিইউ পরীক্ষা করার জন্য অতিরিক্ত যুক্তি যোগ করা হয়েছিল।

ডিভাইসটিতে 4GB-এর বেশি RAM, 4G-এর চেয়ে বেশি নেটওয়ার্ক সংযোগ এবং 6-এর বেশি কোরের একটি CPU থাকলে, মুখ যাচাইয়ের জন্য ছবিগুলি ডিভাইসের মডেলে পাঠানো হয়। যদি এই প্রয়োজনীয়তাগুলি পূরণ না করা হয়, তাহলে ডিভাইসে থাকা মডেলটি বাদ দেওয়া হয় এবং এই পুরানো ডিভাইসগুলির জন্য একটি হাইব্রিড পদ্ধতি ব্যবহার করে যাচাইয়ের জন্য ছবিগুলি সরাসরি সার্ভারে পাঠানো হয়৷ সময়ের সাথে সাথে, হার্ডওয়্যার ক্রমাগত বিকশিত হওয়ার সাথে সাথে আরও ডিভাইস সার্ভার থেকে গণনা অফলোড করতে সক্ষম হবে।

প্রভাব

এমএল ইন্টিগ্রেশনের কারণে, টোকোপিডিয়া সফলভাবে উচ্চ প্রত্যাখ্যান হার সমাধান করতে সক্ষম হয়েছিল এবং নিম্নলিখিত ফলাফলগুলি দেখেছিল:

  • প্রত্যাখ্যানের হার 20% এর বেশি কমেছে।
  • ম্যানুয়াল অনুমোদনের সংখ্যা প্রায় 70% কমেছে।

এটি শুধুমাত্র বিক্রেতাদের জন্য একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা তৈরি করেনি, তবে টোকোপিডিয়া দলের জন্য অপারেশনাল খরচও কমিয়েছে।

উপসংহার

সামগ্রিকভাবে, এই কেস স্টাডির ফলাফলগুলি দেখিয়েছে যে সঠিক ব্যবহারের ক্ষেত্রে, ওয়েবে অন-ডিভাইস এমএল সমাধানগুলি ব্যবহারকারীর অভিজ্ঞতা এবং বৈশিষ্ট্যগুলির কার্যকারিতা উন্নত করার পাশাপাশি খরচ সঞ্চয় এবং অন্যান্য ব্যবসায়িক সুবিধা তৈরি করতে মূল্যবান হতে পারে।

MediaPipe স্টুডিও এবং ওয়েবের জন্য MediaPipe ফেস ডিটেক্টরের কোড নমুনা ব্যবহার করে নিজেই MediaPipe ফেস ডিটেকশন বৈশিষ্ট্যটি ব্যবহার করে দেখুন।

আপনি যদি অন-ডিভাইস ML এর সাথে আপনার নিজস্ব ওয়েব অ্যাপের ক্ষমতা প্রসারিত করতে আগ্রহী হন তবে নিম্নলিখিত সংস্থানগুলি দেখুন:

,

ডেন্দি সুনারদী
Dendi Sunardi
জিওফ্রে প্রসেটিও
Geoffrey Prasetyo
স্বেতা গোপালকৃষ্ণন
Swetha Gopalakrishnan

টোকোপিডিয়া হল একটি ইন্দোনেশিয়ান প্রযুক্তি কোম্পানি যার একটি বৃহত্তম ইকমার্স মার্কেটপ্লেস, এটির প্ল্যাটফর্মে 40টি ডিজিটাল পণ্য এবং 14 মিলিয়নেরও বেশি নিবন্ধিত বিক্রেতা হোস্ট করে৷

Mitra Tokopedia , Tokopedia-এর ব্যবসায়িক ভার্টিক্যালের অংশ, একটি ওয়েব অ্যাপ্লিকেশন যা ছোট ব্যবসার মালিকদের ডিজিটাল পণ্য যেমন ক্রেডিট এবং গেম ভাউচার, ডেটা প্যাকেজ, বিদ্যুৎ টোকেন, জাতীয় স্বাস্থ্যসেবা বিল এবং অন্যান্য বিক্রি করতে সাহায্য করে। ওয়েবসাইটটি 700 টিরও বেশি শহরে মিত্র টোকোপিডিয়া বিক্রেতাদের জন্য প্রাথমিক চ্যানেলগুলির মধ্যে একটি, এটি একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য এটিকে গুরুত্বপূর্ণ করে তুলেছে।

অনবোর্ডিং প্রক্রিয়ার একটি মূল পদক্ষেপের জন্য এই বিক্রেতাদের তাদের পরিচয় যাচাই করতে হবে। বিক্রেতার যাচাইকরণ সম্পূর্ণ করার জন্য বিক্রেতাকে তাদের জাতীয় পরিচয়পত্রের পাশাপাশি আইডি সহ একটি সেলফি আপলোড করতে হবে। এটিকে Know-Your-Customer (KYC) প্রক্রিয়া হিসাবে উল্লেখ করা হয়।

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

চ্যালেঞ্জ

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

সমাধান

টোকোপিডিয়ার টিম KYC প্রক্রিয়ার প্রথম ধাপেই এই সমস্যাটি সমাধান করতে TensorFlow.js-এর সাথে ML ব্যবহার করার সিদ্ধান্ত নিয়েছে—যখন ব্যবহারকারী ছবিগুলি আপলোড করেন। তারা যখন বিক্রেতা আইডি কার্ড এবং সেলফি ছবি আপলোড করে তখন ছয়টি মূল পয়েন্ট সহ বিক্রেতার মুখ সনাক্ত করতে তারা MediaPipe এবং TensorFlow এর ফেস ডিটেকশন লাইব্রেরি ব্যবহার করে। মডেলের আউটপুট তারপর তাদের গ্রহণযোগ্যতার মানদণ্ডের বিরুদ্ধে পরীক্ষা করতে ব্যবহার করা হয়। সফল যাচাইয়ের পরে, তথ্যটি ব্যাকএন্ডে পাঠানো হয়। যাচাইকরণ ব্যর্থ হলে, বিক্রেতাকে একটি ত্রুটি বার্তা এবং পুনরায় চেষ্টা করার বিকল্প প্রদান করা হয়। একটি হাইব্রিড পদ্ধতি ব্যবহার করা হয়েছিল যেখানে মডেলটি ফোনের স্পেসিফিকেশনের উপর নির্ভর করে ডিভাইসে বা সার্ভারের দিক থেকে অনুমান সম্পাদন করে। একটি নিম্ন প্রান্তের ডিভাইস সার্ভারে অনুমান সম্পাদন করবে।

কেওয়াইসি প্রক্রিয়ার প্রথম দিকে একটি এমএল মডেল ব্যবহার করা তাদের অনুমতি দেয়:

  • KYC প্রক্রিয়ায় প্রত্যাখ্যানের হার উন্নত করুন।
  • মডেল দ্বারা মূল্যায়ন করা গুণমানের উপর ভিত্তি করে ব্যবহারকারীদের তাদের ছবিগুলির সম্ভাব্য প্রত্যাখ্যান সম্পর্কে সতর্ক করুন।

কেন অন্যান্য সমাধানের বিপরীতে এমএল বেছে নিন?

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

একটি মডেল নির্বাচন করার সময় বিবেচনা

এমএল মডেল নির্বাচন করার সময় নিম্নলিখিত বিষয়গুলি বিবেচনা করা হয়েছিল।

খরচ

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

পরিমাপযোগ্যতা

তারা মডেল এবং প্রযুক্তির মাপযোগ্যতা বিবেচনা করে। আমাদের প্রকল্পের বিকাশের সাথে সাথে এটি কি ডেটা এবং মডেল জটিলতার বৃদ্ধি পরিচালনা করতে সক্ষম? এটি কি অন্য প্রকল্পগুলি বা ব্যবহারের ক্ষেত্রে বাড়ানো যেতে পারে? অন-ডিভাইস প্রসেসিং সাহায্য করে কারণ মডেলটি একটি CDN-এ হোস্ট করা যেতে পারে এবং ক্লায়েন্ট সাইডে ডেলিভারি করা যেতে পারে, যা খুবই মাপযোগ্য।

কর্মক্ষমতা

তারা লাইব্রেরির আকার (কেবি-তে) এবং রানটাইম প্রক্রিয়ার লেটেন্সি বিবেচনা করেছে। মিত্র টোকোপিডিয়ার বেশিরভাগ ব্যবহারকারীর কাছে মাঝারি ইন্টারনেট গতি এবং সংযোগ সহ মধ্য থেকে নিম্ন পর্যায়ের ডিভাইস রয়েছে। এইভাবে, ডাউনলোড এবং রানটাইমের পরিপ্রেক্ষিতে পারফরম্যান্স (অর্থাৎ মডেলটি কত দ্রুত একটি আউটপুট তৈরি করতে পারে) তাদের নির্দিষ্ট চাহিদা মেটাতে এবং দুর্দান্ত ব্যবহারকারীর অভিজ্ঞতা নিশ্চিত করার জন্য একটি শীর্ষ অগ্রাধিকার।

অন্যান্য বিবেচনা

নিয়ন্ত্রক সম্মতি: তাদের নিশ্চিত করতে হয়েছিল যে নির্বাচিত লাইব্রেরি প্রাসঙ্গিক ডেটা সুরক্ষা এবং গোপনীয়তা বিধি মেনে চলছে।

দক্ষতা: তারা তাদের দলের দক্ষতা এবং দক্ষতা মূল্যায়ন করেছে। কিছু এমএল ফ্রেমওয়ার্ক এবং লাইব্রেরির জন্য নির্দিষ্ট প্রোগ্রামিং ভাষা বা একটি নির্দিষ্ট এলাকায় দক্ষতার প্রয়োজন হতে পারে। এই বিষয়গুলি বিবেচনা করে, তারা তাদের মেশিন লার্নিং প্রকল্পের জন্য সঠিক মডেল নির্বাচন করার সময় একটি জ্ঞাত সিদ্ধান্ত নিয়েছে।

প্রযুক্তি বেছে নেওয়া হয়েছে

TensorFlow.js এই বিষয়গুলো বিবেচনা করে তাদের চাহিদা পূরণ করেছে। এটি ডিভাইসের GPU ব্যবহার করার জন্য তার WebGL ব্যাকএন্ড ব্যবহার করে সম্পূর্ণরূপে অন-ডিভাইস চালাতে সক্ষম। একটি মডেল অন-ডিভাইস চালানোর ফলে সার্ভারের লেটেন্সি কমে যাওয়ায় ব্যবহারকারীর কাছে দ্রুত প্রতিক্রিয়া পাওয়া যায় এবং সার্ভার কম্পিউট খরচ কম হয়। অন-ডিভাইস ML সম্পর্কে নিবন্ধে আরও পড়ুন অন-ডিভাইস ML-এর সুবিধা এবং সীমাবদ্ধতা

"TensorFlow.js হল Google-এর একটি ওপেন সোর্স মেশিন লার্নিং লাইব্রেরি যা জাভাস্ক্রিপ্ট ডেভেলপারদের লক্ষ্য করে যা ব্রাউজারে ক্লায়েন্ট সাইড চালাতে সক্ষম। এটি ব্যাপক WebGL, WebAssembly এবং WebGPU ব্যাকএন্ড অপারেটর সমর্থন সহ ওয়েব AI এর জন্য সবচেয়ে পরিপক্ক বিকল্প যা ব্রাউজারে দ্রুত কার্যক্ষমতা সহ ব্যবহার করা যেতে পারে।"কিভাবে Adobe ওয়েবের জন্য ফটোশপ উন্নত করতে TensorFlow.js এর সাথে Web ML ব্যবহার করেছে

প্রযুক্তিগত বাস্তবায়ন

মিত্রা টোকোপিডিয়া মিডিয়াপিপ এবং টেনসরফ্লো-এর ফেস ডিটেকশন লাইব্রেরি ব্যবহার করেছে, একটি প্যাকেজ যা রিয়েল-টাইম ফেস ডিটেকশন চালানোর জন্য মডেল সরবরাহ করে। বিশেষভাবে, এই লাইব্রেরিতে সরবরাহ করা MediaPipeFaceDetector-TFJS মডেল, যা tfjs রানটাইম প্রয়োগ করে এই সমাধানের জন্য ব্যবহার করা হয়েছিল।

বাস্তবায়নে ডুব দেওয়ার আগে, মিডিয়াপাইপ কী তার সংক্ষিপ্ত বিবরণ। MediaPipe আপনাকে মোবাইল (Android, iOS), ওয়েব, ডেস্কটপ, এজ ডিভাইস এবং IoT জুড়ে অন-ডিভাইস ML সলিউশন তৈরি এবং স্থাপন করতে দেয়।

এই পোস্টটি লেখার সময় MediaPipe দ্বারা অফার করা 14টি ভিন্ন সমাধান রয়েছে। আপনি একটি mediapipe বা tfjs রানটাইম ব্যবহার করতে পারেন। tfjs রানটাইম জাভাস্ক্রিপ্ট দিয়ে তৈরি এবং একটি জাভাস্ক্রিপ্ট প্যাকেজ প্রদান করে যা ওয়েব অ্যাপ্লিকেশন দ্বারা বাহ্যিকভাবে ডাউনলোড করা যায়। এটি একটি mediapipe রানটাইম থেকে আলাদা, যা C++ দিয়ে তৈরি এবং একটি WebAssembly মডিউলে কম্পাইল করা হয়। মূল পার্থক্য হল কর্মক্ষমতা, ডিবাগবিলিটি এবং বান্ডলিং। জাভাস্ক্রিপ্ট প্যাকেজটি ওয়েবপ্যাকের মতো ক্লাসিক বান্ডলারের সাথে বান্ডিল করা যেতে পারে। বিপরীতে, Wasm মডিউল হল একটি বড় এবং পৃথক বাইনারি রিসোর্স (যা লোড-টাইম নির্ভরতা না হয়ে প্রশমিত হয়) এবং একটি ভিন্ন Wasm ডিবাগিং ওয়ার্কফ্লো প্রয়োজন। যাইহোক, এটি প্রযুক্তিগত এবং কর্মক্ষমতা প্রয়োজনীয়তা পূরণ করতে সাহায্য করার জন্য দ্রুত কার্যকর করে।

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

টোকোপিডিয়ার বাস্তবায়নে ফিরে আসা, প্রথম ধাপ হল নিম্নরূপ মডেলটি শুরু করা। যখন ব্যবহারকারী একটি ফটো আপলোড করে, একটি HTMLImageElement ডিটেক্টরে একটি ইনপুট হিসাবে পাস করা হয়।

// Create the detector.
const model = faceDetection.SupportedModels.MediaPipeFaceDetector;
const detectorConfig = {
  runtime: 'tfjs'
};

const detector = await faceDetection.createDetector(model, detectorConfig);

// Run inference to start detecting faces.
const estimationConfig = {flipHorizontal: false};
const faces = await detector.estimateFaces(image, estimationConfig);

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

[
  {
    box: {
      xMin: 304.6476503248806,
      xMax: 502.5079975897382,
      yMin: 102.16298762367356,
      yMax: 349.035215984403,
      width: 197.86034726485758,
      height: 246.87222836072945
    },
    keypoints: [
      {x: 446.544237446397, y: 256.8054528661723, name: "rightEye"},
      {x: 406.53152857172876, y: 255.8, "leftEye },
      ...
    ],
  }
]

box চিত্রের পিক্সেল স্পেসে মুখের বাউন্ডিং বক্সের প্রতিনিধিত্ব করে, যেখানে xMin , xMax x-সীমা নির্দেশ করে, yMin , yMax y-সীমা নির্দেশ করে এবং width , height হল বাউন্ডিং বাক্সের মাত্রা। keypoints জন্য, x এবং y চিত্রের পিক্সেল স্পেসে প্রকৃত কীপয়েন্ট অবস্থান উপস্থাপন করে। name কীপয়েন্টের জন্য একটি লেবেল প্রদান করে, যা যথাক্রমে 'rightEye' , 'leftEye' , 'noseTip' , 'mouthCenter' , 'rightEarTragion' , এবং 'leftEarTragion' । এই পোস্টের শুরুতে উল্লিখিত হিসাবে, বিক্রেতা যাচাইকরণ সম্পূর্ণ করার জন্য বিক্রেতাকে তাদের জাতীয় পরিচয়পত্র এবং আইডি সহ একটি সেলফি আপলোড করতে হবে। মডেলের আউটপুটটি গ্রহণযোগ্যতার মানদণ্ডের বিপরীতে পরীক্ষা করার জন্য ব্যবহার করা হয়-যা আগে উল্লিখিত ছয়টি কীপয়েন্টের একটি বৈধ আইডেন্টিফিকেশন কার্ড এবং সেলফি ইমেজ হিসাবে বিবেচিত হতে হবে।

সফল যাচাইয়ের পরে, প্রাসঙ্গিক বিক্রেতার তথ্য ব্যাকএন্ডে পাঠানো হয়। যাচাইকরণ ব্যর্থ হলে, বিক্রেতাকে একটি ব্যর্থতার বার্তা এবং পুনরায় চেষ্টা করার বিকল্প দেওয়া হয়। ব্যাকএন্ডে কোন তথ্য পাঠানো হবে না।

Mitra KYC পৃষ্ঠার চিত্র, TensorFlow.js মডেল এবং সার্ভার একে অপরের সাথে ইন্টারঅ্যাক্ট করছে।
মিত্র কেওয়াইসি পৃষ্ঠা, TensorFlow.js মডেল এবং সার্ভার একে অপরের সাথে কীভাবে যোগাযোগ করে

কম শেষ ডিভাইসের জন্য কর্মক্ষমতা বিবেচনা

এই প্যাকেজটি মাত্র 24.8 KB (মিনিফাইড এবং জিজিপড), যা ডাউনলোডের সময়কে উল্লেখযোগ্যভাবে প্রভাবিত করে না। যাইহোক, খুব কম প্রান্তের ডিভাইসের জন্য, রানটাইম প্রক্রিয়াকরণে অনেক সময় লাগে। মেশিন লার্নিং ফেস ডিটেকশন মডেলে দুটি ছবি পাস করার আগে ডিভাইস র‌্যাম এবং সিপিইউ পরীক্ষা করার জন্য অতিরিক্ত যুক্তি যোগ করা হয়েছিল।

ডিভাইসটিতে 4GB-এর বেশি RAM, 4G-এর চেয়ে বেশি নেটওয়ার্ক সংযোগ এবং 6-এর বেশি কোরের একটি CPU থাকলে, মুখ যাচাইয়ের জন্য ছবিগুলি ডিভাইসের মডেলে পাঠানো হয়। যদি এই প্রয়োজনীয়তাগুলি পূরণ না করা হয়, তবে অন-ডিভাইস মডেলটি এড়িয়ে যায় এবং চিত্রগুলি এই পুরানো ডিভাইসগুলির জন্য ক্যাটার করার জন্য একটি হাইব্রিড পদ্ধতির ব্যবহার করে যাচাইয়ের জন্য সরাসরি সার্ভারে প্রেরণ করা হয়। সময়ের সাথে সাথে, আরও ডিভাইসগুলি সার্ভার থেকে গণনা অফলোড করতে সক্ষম হবে কারণ হার্ডওয়্যারটি বিকশিত হতে থাকে।

প্রভাব

এমএল সংহতকরণের কারণে, টোকোপিডিয়া সফলভাবে উচ্চ প্রত্যাখ্যানের হার সমাধান করতে সক্ষম হয়েছিল এবং নিম্নলিখিত ফলাফলগুলি দেখেছিল:

  • প্রত্যাখ্যানের হার 20%এরও বেশি হ্রাস পেয়েছে।
  • ম্যানুয়াল অনুমোদনের সংখ্যা প্রায় 70%হ্রাস পেয়েছে।

এটি কেবল বিক্রেতাদের জন্য একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা তৈরি করে না, তবে টোকোপিডিয়া দলের জন্য অপারেশনাল ব্যয়ও হ্রাস করেছে।

উপসংহার

সামগ্রিকভাবে, এই কেস স্টাডির ফলাফলগুলি দেখিয়েছে যে সঠিক ব্যবহারের ক্ষেত্রে, ওয়েবে অন-ডিভাইস এমএল সমাধানগুলি বৈশিষ্ট্যগুলির ব্যবহারকারীর অভিজ্ঞতা এবং কার্যকারিতা উন্নত করার পাশাপাশি ব্যয় সাশ্রয় এবং অন্যান্য ব্যবসায়িক সুবিধাগুলি তৈরির ক্ষেত্রে মূল্যবান হতে পারে।

মিডিয়াপাইপ স্টুডিও এবং ওয়েবের জন্য মিডিয়াপাইপ ফেস ডিটেক্টরটির কোড নমুনা ব্যবহার করে মিডিয়াপাইপ ফেস সনাক্তকরণ বৈশিষ্ট্যটি নিজেই ব্যবহার করে দেখুন।

আপনি যদি অন-ডিভাইস এমএল সহ নিজের ওয়েব অ্যাপের ক্ষমতাগুলি বাড়িয়ে তুলতে আগ্রহী হন তবে নিম্নলিখিত সংস্থানগুলি দেখুন:

,

ডেন্ডি সুনার্দি
Dendi Sunardi
জেফ্রি প্রসেসিও
Geoffrey Prasetyo
স্বেতা গোপালকৃষ্ণন
Swetha Gopalakrishnan

টোকোপিডিয়া হ'ল একটি ইন্দোনেশিয়ান প্রযুক্তি সংস্থা যা বৃহত্তম ইকমার্স মার্কেটপ্লেস সহ 40 টিরও বেশি ডিজিটাল পণ্য এবং তার প্ল্যাটফর্মে 14 মিলিয়নেরও বেশি নিবন্ধিত বিক্রেতাদের হোস্টিং করে।

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

অনবোর্ডিং প্রক্রিয়াটির একটি মূল পদক্ষেপের জন্য এই বিক্রেতাদের তাদের পরিচয় যাচাই করতে হবে। বিক্রেতা যাচাইকরণটি সম্পূর্ণ করার জন্য বিক্রেতাকে তাদের জাতীয় আইডি পাশাপাশি আইডি সহ একটি সেলফি আপলোড করতে হবে। এটিকে আপনার কাস্টোমার (কেওয়াইসি) প্রক্রিয়া হিসাবে উল্লেখ করা হয়।

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

চ্যালেঞ্জ

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

সমাধান

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

কেওয়াইসি প্রক্রিয়া শুরুর দিকে এমএল মডেল ব্যবহার করে তাদের অনুমতি দেয়:

  • কেওয়াইসি প্রক্রিয়াতে প্রত্যাখ্যানের হার উন্নত করুন।
  • মডেল দ্বারা নির্ধারিত মানের উপর ভিত্তি করে তাদের চিত্রগুলির সম্ভাব্য প্রত্যাখ্যান সম্পর্কে ব্যবহারকারীদের সতর্ক করুন।

অন্যান্য সমাধানের বিপরীতে কেন এমএল বেছে নেবেন?

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

একটি মডেল নির্বাচন করার সময় বিবেচনা

এমএল মডেলটি বেছে নেওয়ার সময় নিম্নলিখিত বিষয়গুলি বিবেচনা করা হয়েছিল।

খরচ

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

পরিমাপযোগ্যতা

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

কর্মক্ষমতা

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

অন্যান্য বিবেচনা

নিয়ন্ত্রক সম্মতি: তাদের নিশ্চিত করতে হয়েছিল যে নির্বাচিত গ্রন্থাগারটি প্রাসঙ্গিক ডেটা সুরক্ষা এবং গোপনীয়তা বিধিমালা মেনে চলেছে।

দক্ষতা: তারা তাদের দলের দক্ষতা এবং দক্ষতা সেট মূল্যায়ন করেছে। কিছু এমএল ফ্রেমওয়ার্ক এবং লাইব্রেরিতে নির্দিষ্ট অঞ্চলে নির্দিষ্ট প্রোগ্রামিং ভাষা বা দক্ষতার প্রয়োজন হতে পারে। এই কারণগুলি বিবেচনা করে, তারা তাদের মেশিন লার্নিং প্রকল্পের জন্য সঠিক মডেলটি বেছে নেওয়ার সময় একটি অবহিত সিদ্ধান্ত নিয়েছিল।

প্রযুক্তি নির্বাচিত

এই বিষয়গুলি বিবেচনা করার পরে টেনসরফ্লো.জেএস তাদের প্রয়োজনীয়তাগুলি পূরণ করে। এটি ডিভাইসের জিপিইউ ব্যবহার করতে তার ওয়েবজিএল ব্যাকএন্ড ব্যবহার করে পুরোপুরি অন-ডিভাইস চালাতে সক্ষম। ডিভাইস অন একটি মডেল চালানো সার্ভার ল্যাটেন্সি হ্রাসের কারণে ব্যবহারকারীর কাছে দ্রুত প্রতিক্রিয়া সক্ষম করে এবং সার্ভার কম্পিউট ব্যয় হ্রাস করে। অন-ডিভাইস এমএল এর সুবিধাগুলি এবং সীমাবদ্ধতাগুলিতে অন-ডিভাইস এমএল সম্পর্কে আরও পড়ুন।

"টেনসরফ্লো.জেএস হ'ল জাভাস্ক্রিপ্ট বিকাশকারীদের লক্ষ্য করে গুগলের একটি ওপেন সোর্স মেশিন লার্নিং লাইব্রেরি যা ব্রাউজারে ক্লায়েন্টের দিকটি চালাতে সক্ষম। এটি ওয়েব এআইয়ের জন্য বিস্তৃত ওয়েবজিএল, ওয়েবসেম্বলি এবং ওয়েবজিপিইউ ব্যাকএন্ড অপারেটর সমর্থন যা দ্রুত পারফরম্যান্সের সাথে ব্রাউজারের মধ্যে ব্যবহার করা যেতে পারে তার জন্য এটি সবচেয়ে পরিপক্ক বিকল্প।" - ওয়েবের জন্য ফটোশপ বাড়ানোর জন্য অ্যাডোব কীভাবে টেনসরফ্লো.জেএস সহ ওয়েব এমএল ব্যবহার করেছে

প্রযুক্তিগত বাস্তবায়ন

মিত্র টোকোপিডিয়া মিডিয়াপাইপ এবং টেনসরফ্লো এর ফেস সনাক্তকরণ গ্রন্থাগার ব্যবহার করেছেন, এটি একটি প্যাকেজ যা রিয়েল-টাইম ফেস সনাক্তকরণ চালানোর জন্য মডেল সরবরাহ করে। বিশেষত, এই লাইব্রেরিতে সরবরাহিত মিডিয়াপিপফেসডেটেক্টর-টিএফজেএস মডেল, যা tfjs রানটাইম প্রয়োগ করে এই সমাধানের জন্য ব্যবহৃত হয়েছিল।

বাস্তবায়নে ডাইভিংয়ের আগে, মিডিয়াপাইপ কী তা সংক্ষিপ্ত পুনরুদ্ধার। মিডিয়াপাইপ আপনাকে মোবাইল (অ্যান্ড্রয়েড, আইওএস), ওয়েব, ডেস্কটপ, এজ ডিভাইস এবং আইওটি জুড়ে অন-ডিভাইস এমএল সমাধানগুলি তৈরি এবং স্থাপন করতে দেয়।

এই পোস্টটি লেখার সময় মিডিয়াপাইপ দ্বারা দেওয়া 14 টি বিভিন্ন সমাধান রয়েছে। আপনি কোনও mediapipe বা tfjs রানটাইম ব্যবহার করতে পারেন। tfjs রানটাইম জাভাস্ক্রিপ্ট দিয়ে নির্মিত এবং একটি জাভাস্ক্রিপ্ট প্যাকেজ সরবরাহ করে যা ওয়েব অ্যাপ্লিকেশন দ্বারা বাহ্যিকভাবে ডাউনলোড করা যায়। এটি একটি mediapipe রানটাইম থেকে আলাদা, যা সি ++ দিয়ে নির্মিত এবং একটি ওয়েবসেম্বলি মডিউলে সংকলিত। মূল পার্থক্যগুলি হ'ল পারফরম্যান্স, ডিবাগিবিলিটি এবং বান্ডিলিং। জাভাস্ক্রিপ্ট প্যাকেজটি ওয়েবপ্যাকের মতো ক্লাসিক বান্ডলারগুলির সাথে বান্ডিল করা যেতে পারে। বিপরীতে, ডাব্লুএএসএম মডিউলটি একটি বৃহত্তর এবং পৃথক বাইনারি রিসোর্স (যা লোড-টাইম নির্ভরতা না হয়ে প্রশমিত করা হয়) এবং এটির জন্য আলাদা ওয়াসম ডিবাগিং ওয়ার্কফ্লো প্রয়োজন। তবে এটি প্রযুক্তিগত এবং কর্মক্ষমতা প্রয়োজনীয়তা মেটাতে সহায়তা করতে দ্রুত কার্যকর করে।

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

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

// Create the detector.
const model = faceDetection.SupportedModels.MediaPipeFaceDetector;
const detectorConfig = {
  runtime: 'tfjs'
};

const detector = await faceDetection.createDetector(model, detectorConfig);

// Run inference to start detecting faces.
const estimationConfig = {flipHorizontal: false};
const faces = await detector.estimateFaces(image, estimationConfig);

মুখের তালিকার ফলাফলটিতে চিত্রের প্রতিটি মুখের জন্য সনাক্ত করা মুখ রয়েছে। মডেল যদি কোনও মুখ সনাক্ত করতে না পারে তবে তালিকাটি খালি থাকবে। প্রতিটি মুখের জন্য এটি সনাক্ত করা মুখের একটি সীমানা বাক্স, পাশাপাশি সনাক্ত করা মুখের জন্য ছয়টি কীপয়েন্টের একটি অ্যারে রয়েছে। এর মধ্যে চোখ, নাক এবং মুখের মতো বৈশিষ্ট্য রয়েছে। প্রতিটি কীপয়েন্টে এক্স এবং ওয়াই, পাশাপাশি একটি নাম রয়েছে।

[
  {
    box: {
      xMin: 304.6476503248806,
      xMax: 502.5079975897382,
      yMin: 102.16298762367356,
      yMax: 349.035215984403,
      width: 197.86034726485758,
      height: 246.87222836072945
    },
    keypoints: [
      {x: 446.544237446397, y: 256.8054528661723, name: "rightEye"},
      {x: 406.53152857172876, y: 255.8, "leftEye },
      ...
    ],
  }
]

box চিত্রের পিক্সেল স্পেসে মুখের সীমানা বাক্সটি উপস্থাপন করে, xMin , xMax এক্স-বাউন্ডস, yMin , yMax ওয়াই-বাউন্ডগুলি চিহ্নিত করে এবং width বোঝায়, height বাউন্ডিং বাক্সের মাত্রা। keypoints জন্য, x এবং y চিত্রের পিক্সেল স্পেসে প্রকৃত কীপয়েন্ট অবস্থানকে উপস্থাপন করে। name কীপয়েন্টের জন্য একটি লেবেল সরবরাহ করে, যা হ'ল 'rightEye' , 'leftEye' , 'noseTip' , 'mouthCenter' , 'rightEarTragion' এবং 'leftEarTragion' যথাক্রমে। এই পোস্টের শুরুতে যেমন উল্লেখ করা হয়েছে, বিক্রেতাকে বিক্রেতার যাচাইকরণটি সম্পূর্ণ করার জন্য তাদের জাতীয় আইডি এবং আইডি দিয়ে একটি সেলফি আপলোড করতে হবে। মডেলটির আউটপুটটি তখন গ্রহণযোগ্যতার মানদণ্ডের বিরুদ্ধে যাচাই করতে ব্যবহৃত হয় - যা পূর্বে উল্লিখিত ছয়টি কীপয়েন্টগুলির একটি ম্যাচটি বৈধ সনাক্তকরণ কার্ড এবং সেলফি চিত্র হিসাবে গণ্য করা হবে।

সফল যাচাইয়ের পরে, প্রাসঙ্গিক বিক্রেতার তথ্য ব্যাকএন্ডে দেওয়া হয়। যদি যাচাইকরণ ব্যর্থ হয় তবে বিক্রেতাকে একটি ব্যর্থতা বার্তা এবং পুনরায় চেষ্টা করার বিকল্প দেওয়া হয়। কোনও তথ্য ব্যাকএন্ডে প্রেরণ করা হবে না।

মিত্র কিওয়াইসি পৃষ্ঠার চিত্র, টেনসরফ্লো.জেএস মডেল এবং সার্ভার একে অপরের সাথে ইন্টারঅ্যাক্ট করে।
কীভাবে মিত্র কিওয়াইসি পৃষ্ঠা, টেনসরফ্লো.জেএস মডেল এবং সার্ভার একে অপরের সাথে যোগাযোগ করে

নিম্ন প্রান্তের ডিভাইসগুলির জন্য পারফরম্যান্স বিবেচনা

এই প্যাকেজটি কেবল 24.8 কেবি (মিনিফাইড এবং জিজিপড), যা ডাউনলোডের সময়কে উল্লেখযোগ্যভাবে প্রভাবিত করে না। তবে, খুব নিম্ন প্রান্তের ডিভাইসের জন্য, রানটাইম প্রসেসিংয়ে দীর্ঘ সময় নেয়। মেশিন লার্নিং ফেস সনাক্তকরণ মডেলটিতে দুটি চিত্র পাস করার আগে ডিভাইস র‌্যাম এবং সিপিইউয়ের জন্য চেক করতে অতিরিক্ত যুক্তি যুক্ত করা হয়েছিল।

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

প্রভাব

এমএল সংহতকরণের কারণে, টোকোপিডিয়া সফলভাবে উচ্চ প্রত্যাখ্যানের হার সমাধান করতে সক্ষম হয়েছিল এবং নিম্নলিখিত ফলাফলগুলি দেখেছিল:

  • প্রত্যাখ্যানের হার 20%এরও বেশি হ্রাস পেয়েছে।
  • ম্যানুয়াল অনুমোদনের সংখ্যা প্রায় 70%হ্রাস পেয়েছে।

এটি কেবল বিক্রেতাদের জন্য একটি মসৃণ ব্যবহারকারীর অভিজ্ঞতা তৈরি করে না, তবে টোকোপিডিয়া দলের জন্য অপারেশনাল ব্যয়ও হ্রাস করেছে।

উপসংহার

সামগ্রিকভাবে, এই কেস স্টাডির ফলাফলগুলি দেখিয়েছে যে সঠিক ব্যবহারের ক্ষেত্রে, ওয়েবে অন-ডিভাইস এমএল সমাধানগুলি বৈশিষ্ট্যগুলির ব্যবহারকারীর অভিজ্ঞতা এবং কার্যকারিতা উন্নত করার পাশাপাশি ব্যয় সাশ্রয় এবং অন্যান্য ব্যবসায়িক সুবিধাগুলি তৈরির ক্ষেত্রে মূল্যবান হতে পারে।

মিডিয়াপাইপ স্টুডিও এবং ওয়েবের জন্য মিডিয়াপাইপ ফেস ডিটেক্টরটির কোড নমুনা ব্যবহার করে মিডিয়াপাইপ ফেস সনাক্তকরণ বৈশিষ্ট্যটি নিজেই ব্যবহার করে দেখুন।

আপনি যদি অন-ডিভাইস এমএল সহ নিজের ওয়েব অ্যাপের ক্ষমতাগুলি বাড়িয়ে তুলতে আগ্রহী হন তবে নিম্নলিখিত সংস্থানগুলি দেখুন: