Tokopedia ने मशीन लर्निंग का इस्तेमाल करके, अपने सेलर के वेब ऐप्लिकेशन को बेहतर बनाकर, ऑपरेशनल लागत को कैसे कम किया

Tokopedia, इंडोनेशिया की एक टेक्नोलॉजी कंपनी है यह सबसे बड़े ई-कॉमर्स मार्केटप्लेस में से एक है. यह 40 से ज़्यादा डिजिटल प्रॉडक्ट होस्ट करता है और इस प्लैटफ़ॉर्म पर 1.4 करोड़ से ज़्यादा सेलर रजिस्टर हैं.

दोस्त टोकोपीडिया, टोकोपीडिया के कारोबार का हिस्सा वर्टिकल, एक ऐसा वेब ऐप्लिकेशन है जो छोटे कारोबारों के मालिकों को प्रॉडक्ट बेचने में मदद करता है डिजिटल प्रॉडक्ट, जैसे कि क्रेडिट और गेम के वाउचर, डेटा पैकेज, बिजली टोकन, राष्ट्रीय हेल्थकेयर बिल वगैरह. यह वेबसाइट उन मुख्य साइटों में से एक है 700 से ज़्यादा शहरों में मौजूद Mitra Tokopedia के विक्रेताओं के लिए चैनल काफ़ी अहम हैं. ताकि उपयोगकर्ताओं को बेहतर अनुभव मिले.

शामिल होने की प्रोसेस के मुख्य चरण के तौर पर, इन सेलर को अपनी पहचान. विक्रेता को अपने राष्ट्रीय आईडी के साथ-साथ सेल्फ़ी भी अपलोड करनी होगी आईडी को सबमिट करें. इसे ग्राहक की जानकारी (केवाईसी) की प्रक्रिया.

ग्राहक की जानकारी (केवाईसी) की इस ज़रूरी प्रोसेस में मशीन लर्निंग की सुविधाएं जोड़कर Mitra Tokopedia की मदद से, उपयोगकर्ताओं को बेहतर अनुभव मिल पाया. पुष्टि न हो पाने की दर में 20% से ज़्यादा की कमी आई है. साथ ही, इन्होंने कारोबार को आगे बढ़ाने मैन्युअल तौर पर मंज़ूरी मिलने की दर में करीब 70% की कमी आई है.

चुनौती

ग्राहक की जानकारी (केवाईसी) का ज़्यादातर डेटा अस्वीकार कर दिया गया. इस वजह से, हर हफ़्ते हज़ारों टिकट बन रहे थे ऑपरेशन टीम को भेजा जा सकता है. इसकी वजह से न सिर्फ़ हालांकि, इससे ग्राहकों को काफ़ी परेशानी हुई, क्योंकि इससे पुष्टि की प्रक्रिया में देरी हो सकती है. अस्वीकार करने की सबसे बड़ी वजह यह थी कि सेलर ने आईडी कार्ड के साथ सेल्फ़ी सही तरीके से अपलोड नहीं की. मित्र टोकोपीडिया थे हम नई वेब सुविधाओं का इस्तेमाल करके, इस समस्या को बड़े स्तर पर हल करने के लिए तैयार हैं.

समाधान

Tokopedia की टीम ने इस समस्या को हल करने के लिए, TensorFlow.js के साथ मशीन लर्निंग का इस्तेमाल करने का फ़ैसला किया ग्राहक की जानकारी (केवाईसी) की प्रोसेस के पहले चरण में—जब उपयोगकर्ता इमेज अपलोड करता है. वे ने MediaPipe और TensorFlow का इस्तेमाल किया चेहरे की पहचान लाइब्रेरी अगर सेलर आईडी अपलोड करता है, तो छह अहम पॉइंट के साथ सेलर का चेहरा पहचानने के लिए कार्ड और सेल्फ़ी इमेज. इसके बाद, मॉडल के आउटपुट का इस्तेमाल यह जांच करने के लिए किया जाता है कि स्वीकार करने की शर्तें. पुष्टि हो जाने के बाद, जानकारी को बैकएंड पर भी काम करता है. अगर पुष्टि नहीं हो पाती है, तो विक्रेता को गड़बड़ी का एक मैसेज दिया जाएगा और फिर से कोशिश करने का विकल्प भी मिल सकता है. मॉडल की परफ़ॉर्मेंस की तुलना में, हाइब्रिड तरीके का इस्तेमाल किया गया फ़ोन की 'निजता और सुरक्षा' सेटिंग के आधार पर खास जानकारी. लोअर एंड डिवाइस, सर्वर पर अनुमान के हिसाब से काम करेगा.

ग्राहक की जानकारी (केवाईसी) की प्रक्रिया की शुरुआत में ही एमएल मॉडल का इस्तेमाल करने पर, वे ये काम कर सकते हैं:

  • ग्राहक की जानकारी (केवाईसी) की प्रक्रिया में आवेदन को अस्वीकार किए जाने की दर को बेहतर बनाएं.
  • क्वालिटी के आधार पर, उपयोगकर्ताओं को उनकी इमेज अस्वीकार किए जाने की चेतावनी दें आकलन किया जा सकता है.

अन्य समाधानों के बजाय एमएल क्यों चुनें?

मशीन लर्निंग की मदद से, बार-बार किए जाने वाले ऐसे टास्क अपने-आप हो सकते हैं जिनमें ज़्यादा समय लगता है या में मॉडल बनाने की ज़रूरत नहीं होती. Tokopedia के मामले में, मौजूदा गैर-ML टूल को ऑप्टिमाइज़ करना समाधान से ज़्यादा नतीजे नहीं मिल सके, जबकि ML समाधान से इससे, ऑपरेशन टीम के उस काम को बहुत कम किया जा सकता है जिसे मैन्युअल तरीके से प्रोसेस करनी पड़ती थी हज़ारों मंज़ूरी हर हफ़्ते मिलती हैं. एमएल सलूशन की मदद से, इमेज की जांच की जा सकती है करीब तुरंत, बेहतर उपयोगकर्ता अनुभव उपलब्ध कराता है और काम करने के तरीके को बेहतर बनाता है क्षमता. इसके बारे में और पढ़ें समस्या की फ़्रेमिंग ताकि यह तय किया जा सके कि एमएल आपकी समस्या का सही समाधान है या नहीं.

मॉडल चुनते समय इन बातों का ध्यान रखें

एमएल मॉडल चुनते समय, इन बातों का ध्यान रखा गया था.

लागत

उन्होंने मॉडल का इस्तेमाल करने की कुल लागत का आकलन किया. क्योंकि TensorFlow.js एक जिस ओपन सोर्स पैकेज का रखरखाव Google अच्छी तरह से करता है, हम उसे लाइसेंस देने पर बचत करते हैं और रखरखाव की लागत. एक अतिरिक्त विचार अनुमान की लागत है. तय करना क्लाइंट-साइड पर अनुमान चला पाने की क्षमता की तुलना में बहुत सारे पैसे की बचत होती है इसकी प्रोसेस को सर्वर साइड पर महंगे जीपीयू की मदद से प्रोसेस किया जाता है. खास तौर पर, ऐसा तब होता है, जब डेटा अमान्य और अनुपयोगी साबित होता है.

विस्तार करने की क्षमता

उन्होंने मॉडल और टेक्नोलॉजी की पहुंच बढ़ाने पर ध्यान दिया. क्या यह इन सुविधाओं को ऐक्सेस कर सकता है क्या हम अपने प्रोजेक्ट में आगे बढ़ने के साथ-साथ, डेटा और मॉडल की जटिलता को भी मैनेज कर पाएंगे? क्या यह हो सकता है का इस्तेमाल दूसरे प्रोजेक्ट या इस्तेमाल के उदाहरण की ज़रूरतों को पूरा करने के लिए किया जाता है? डिवाइस पर प्रोसेसिंग से मदद मिलती है क्योंकि मॉडल को सीडीएन पर होस्ट किया जा सकता है और क्लाइंट-साइड पर डिलीवर किया जा सकता है, इसे बढ़ाया जा सकता है.

परफ़ॉर्मेंस

उन्होंने लाइब्रेरी के साइज़ (केबी में) और रनटाइम के इंतज़ार के समय पर ध्यान दिया प्रोसेस. Mitra Tokopedia के ज़्यादातर उपयोगकर्ताओं के पास सामान्य से कम डिवाइस हैं जिसे इंटरनेट की स्पीड और कनेक्टिविटी भी ठीक लगती है. इस तरह, परफ़ॉर्मेंस डाउनलोड और रनटाइम (यानी मॉडल कितनी तेज़ी से आउटपुट दे सकता है) सबसे ऊपर उनकी खास ज़रूरतों को पूरा करने और बेहतरीन उपयोगकर्ता अनुभव पक्का करने में मदद कर सकते हैं.

दूसरी ज़रूरी बातें

नियमों का अनुपालन: उन्हें यह पक्का करना था कि चुनी गई लाइब्रेरी डेटा की सुरक्षा और निजता के कानून के हिसाब से सही है.

स्किलसेट: उन्होंने अपनी टीम की विशेषज्ञता और स्किल का आकलन किया. कुछ ML फ़्रेमवर्क और लाइब्रेरी के लिए, खास प्रोग्रामिंग भाषा या विशेषज्ञता की ज़रूरत पड़ सकती है किसी इलाके में दिखता है. इन बातों को ध्यान में रखते हुए, इन्होंने जानकारी दी अपने मशीन लर्निंग प्रोजेक्ट के लिए सही मॉडल चुनते समय फ़ैसला लेते हैं.

टेक्नोलॉजी चुनी गई

TensorFlow.js ने अपनी ज़रूरत के हिसाब से, ये बातें ध्यान में रखें. यह अपने WebGL बैकएंड का इस्तेमाल करके, डिवाइस पर पूरी तरह से काम कर सकता है डिवाइस के जीपीयू का इस्तेमाल करें. डिवाइस पर मॉडल चलाने से, तेज़ी से फ़ीडबैक मिल सकता है में, सर्वर को होने वाली देरी और सर्वर की कंप्यूट लागत कम होने की वजह से उपयोगकर्ता को काफ़ी पैसे चुकाने होते हैं. मैसेज पढ़ा गया लेख में, डिवाइस पर मौजूद एमएल के बारे में ज़्यादा जानकारी दी गई है डिवाइस पर एमएल (मशीन लर्निंग) इस्तेमाल करने के फ़ायदे और सीमाएं.

"TensorFlow.js, Google की एक ओपन सोर्स मशीन लर्निंग लाइब्रेरी है. इसे ऐसे JavaScript डेवलपर जो ब्राउज़र में क्लाइंट साइड चला सकते हैं. यह है व्यापक WebGL, WebAssembly, और WebGPU के साथ, वेब एआई के लिए सबसे मैच्योर विकल्प बैकएंड ऑपरेटर सपोर्ट, जिसका इस्तेमाल ब्राउज़र में तेज़ी से किया जा सकता है परफ़ॉर्मेंस."Adobe ने वेब के लिए Photoshop को बेहतर बनाने के लिए TensorFlow.js के साथ वेब ML का इस्तेमाल कैसे किया

तकनीकी तौर पर लागू करना

Mitra Tokopedia ने MediaPipe और TensorFlow चेहरे की पहचान लाइब्रेरी, एक ऐसा पैकेज जो रीयल-टाइम में चेहरे की पहचान करने वाली सुविधा चलाने के लिए मॉडल उपलब्ध कराता है. खास तौर पर, MediaPipeFaceDetector-TFJS इस लाइब्रेरी में दिया गया मॉडल, जो लागू करता है tfjs रनटाइम का इस्तेमाल इसके लिए किया गया था हल करें.

लागू करने से पहले, MediaPipe के बारे में संक्षेप में फिर से जान लें. MediaPipe से आपको ऐप्लिकेशन बनाने और डिप्लॉय करने की सुविधा मिलती है मोबाइल (Android, iOS), वेब, डेस्कटॉप, Edge डिवाइसों, और IoT.

यहां हैं 14 अलग-अलग समाधान ऑफ़र करते समय MediaPipe ने दिया था. इनमें से किसी एक का इस्तेमाल करें: mediapipe या tfjs रनटाइम. tfjs रनटाइम को JavaScript का इस्तेमाल करके बनाया जाता है और यह एक JavaScript पैकेज उपलब्ध कराता है, जिसे वेब से बाहर से डाउनलोड किया जा सकता है का इस्तेमाल करें. यह, mediapipe रनटाइम से अलग है, जिसे इसके साथ बनाया जाता है C++ है और उसे WebAssembly मॉड्यूल में कंपाइल किया गया है. मुख्य अंतर हैं, प्रॉडक्ट की परफ़ॉर्मेंस, डीबग करने की क्षमता और बंडलिंग. JavaScript पैकेज को क्लासिक के साथ बंडल किया जा सकता है जैसे कि webpack. वहीं दूसरी ओर, Wasm मॉड्यूल बड़ा और अलग है बाइनरी रिसॉर्स (इसे, लोड-टाइम डिपेंडेंसी न होने की वजह से कम किया जाता है) और इसके लिए अलग डीबग, डीबग वर्कफ़्लो. हालांकि, यह तकनीकी और परफ़ॉर्मेंस से जुड़ी ज़रूरतों को पूरा करने में तेज़ी से मदद करता है.

इस डायग्राम में दिखाया गया है कि MediaPipe और TensorFlow मॉडल, अलग-अलग रनटाइम के लिए कैसे काम करते हैं. इसके लिए, FaceDetection का इस्तेमाल किया गया है.
MediaPipe और TensorFlow मॉडल, अलग-अलग रनटाइम के लिए कैसे काम करते हैं, इस बारे में सामान्य जानकारी देने वाला इलस्ट्रेशन. इसके उदाहरण के तौर पर, FaceDetection का इस्तेमाल किया गया है

Tokopedia के तरीके को लागू करने के बाद, सबसे पहले अपने देखें. जब उपयोगकर्ता कोई फ़ोटो अपलोड करता है, तो 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 इमेज में मुख्य बिंदु की जगह को दिखाते हैं Pixel स्पेस. name, कीपॉइंट के लिए एक लेबल देता है, जो 'rightEye', 'leftEye', 'noseTip', 'mouthCenter', 'rightEarTragion', और 'leftEarTragion'. जैसा कि इस पोस्ट की शुरुआत में बताया गया है, विक्रेता को सेलर की जानकारी देने के लिए, राष्ट्रीय आईडी और आईडी के साथ सेल्फ़ी पुष्टि करने के लिए. इसके बाद, मॉडल के आउटपुट का इस्तेमाल, स्वीकार किए जाने की ज़रूरी शर्तों के हिसाब से किया जाता है—जो कि पहले बताए गए छह अहम पॉइंट के मैच को मान्य माने पहचान कार्ड और सेल्फ़ी की इमेज.

पुष्टि होने के बाद, सेलर की जानकारी को बैकएंड. अगर पुष्टि नहीं हो पाती है, तो सेलर को पुष्टि नहीं होने का मैसेज दिया जाता है. फिर से कोशिश करने का विकल्प मिल सकता है. बैकएंड पर कोई भी जानकारी नहीं भेजी जाएगी.

Mitra के ग्राहक की जानकारी (केवाईसी) वाले पेज, TensorFlow.js मॉडल और सर्वर के एक-दूसरे से इंटरैक्ट करने का डायग्राम.
Metra के ग्राहक की जानकारी (केवाईसी) वाला पेज, TensorFlow.js मॉडल, और सर्वर एक-दूसरे के साथ कैसे इंटरैक्ट करते हैं

कम कीमत वाले डिवाइसों के लिए, परफ़ॉर्मेंस से जुड़ी ज़रूरी बातें

यह पैकेज केवल 24.8 केबी (कम से कम और gzip किया गया) है, जो डाउनलोड के समय पर काफ़ी असर पड़ता है. हालांकि, बहुत कम कीमत वाले डिवाइसों के लिए, रनटाइम प्रोसेसिंग में बहुत समय लगता है. इनकी जांच करने के लिए, अतिरिक्त लॉजिक जोड़ा गया है दो इमेज को मशीन लर्निंग फ़ेस पर भेजने से पहले डिवाइस की रैम और सीपीयू (CPU) की पहचान करने वाला मॉडल है.

अगर डिवाइस में 4 जीबी से ज़्यादा रैम है, तो इसका मतलब है कि इंटरनेट की स्पीड 4G से ज़्यादा है, और 6 से ज़्यादा कोर वाला सीपीयू हो, तो इमेज ऑन-डिवाइस मॉडल पर पास की जाती हैं चेहरे की पुष्टि के लिए. अगर ये ज़रूरी शर्तें पूरी नहीं होती हैं, तो उपयोगकर्ता के डिवाइस पर मॉडल को छोड़ दिया जाता है और इमेज को पुष्टि के लिए सीधे सर्वर पर भेज दिया जाता है इन पुराने डिवाइसों के लिए, हाइब्रिड तरीके का इस्तेमाल किया जा रहा है. समय के साथ, ज़्यादा डिवाइस, सर्वर से कंप्यूट को ऑफ़लोड कर पाएंगे, क्योंकि हार्डवेयर लगातार बढ़ रहा है बेहतर बनाएं.

असर

मशीन लर्निंग (ML) इंटिग्रेशन की वजह से, Tokopedia ने अस्वीकार किए जाने की दर दिखाई गई और इस जांच के ये नतीजे मिले:

  • अस्वीकार किए जाने की दर 20% से ज़्यादा घट गई है.
  • मैन्युअल तौर पर मंज़ूरी मिलने की संख्या करीब 70% घट गई है.

इससे सेलर के अनुभव को बेहतर बनाने के साथ-साथ, की ऑपरेशनल लागत को टोकोपीडिया टीम ने बनाया.

नतीजा

इस केस स्टडी के नतीजों से पता चला कि सही इस्तेमाल के मामलों में, वेब पर, डिवाइस पर मौजूद एमएल सलूशन, उपयोगकर्ता के अनुभव को बेहतर बनाने में मदद कर सकते हैं सुविधाओं का इस्तेमाल करने का बेहतरीन अनुभव मिलता है. साथ ही, इससे पैसे की बचत होती है और अन्य व्यावसायिक लाभ.

MediaPipe के फ़ेस की पहचान करने वाली सुविधा को खुद आज़माएं. इसके लिए, MediaPipe स्टूडियो और इसके लिए कोड सैंपल वेब के लिए MediaPipe फ़ेस डिटेक्टर.

अगर आपको अपने वेब ऐप्लिकेशन की सुविधाओं को डिवाइस पर मशीन लर्निंग का इस्तेमाल करने के लिए, नीचे दिए गए संसाधनों को देखें: