قصة نجاح شركة Tokopedia في تقليل التكاليف التشغيلية من خلال تحسين تطبيق الويب الخاص بالبائع باستخدام تكنولوجيا تعلُّم الآلة

Tokopedia هي شركة تكنولوجيا إندونيسية، هو من أكبر أسواق التجارة الإلكترونية، حيث يستضيف أكثر من 40 منتجًا رقميًا وأكثر من 14 مليون بائع مسجَّل على منصّتها

Mitra Tokopedia، جزء من النشاط التجاري لشركة Tokopedia مواضع الإعلانات، هو تطبيق ويب يساعد مالكي الأنشطة التجارية الصغيرة على بيع المنتجات الرقمية، مثل قسائم الائتمان والألعاب وحزم البيانات والكهرباء والرموز المميزة وفواتير الرعاية الصحية الوطنية وغيرها. وموقع الويب هو أحد المواقع الإلكترونية الأساسية قنوات لبائعي Mitra Tokopedia في أكثر من 700 مدينة، ما ساهم في تعزيز قدراتهم لضمان حصول المستخدم على تجربة سلسة.

في إطار عملية الإعداد، يجب أن يثبت هؤلاء البائعون وهويّتك. على البائع تحميل بطاقة التعريف الوطنية الخاصة به بالإضافة إلى صورة ذاتية مع المعرّف لإكمال عملية إثبات هوية البائع. ويُشار إلى ذلك باسم عملية "معرفة العميل" (KYC).

ومن خلال إضافة إمكانات تعلُّم الآلة إلى عملية التعرُّف على العملاء (KYC) المهمة هذه في على تطبيق الويب، تمكنت Mitra Tokopedia من تحقيق تجربة مستخدم أفضل من خلال انخفاض بنسبة تزيد عن% 20 في حالات تعذُّر عملية التحقّق كما قامت بتشغيل توفير التكاليف عن طريق تقليل الموافقات اليدوية بنسبة 70٪ تقريبًا.

التحدي

كان يتم رفض معظم بيانات KYC، ما أدى إلى إنشاء آلاف التذاكر أسبوعيًا إلى فريق العمليات للتحقق يدويًا. لم يتسبب هذا فقط في زيادة تكلفة تشغيلية ولكنها أدت أيضًا إلى تجربة مستخدم سيئة للبائعين، تتأخر عملية التحقق. كان أكبر سبب للرفض هو لم يحمِّل البائعون الصور الذاتية التي تتضمّن بطاقات التعريف بشكل صحيح. ميترا توكوبيديا حريصين على حل هذه المشكلة على نطاق واسع باستخدام إمكانات الويب الحديثة.

الحل

قرر الفريق في Tokopedia استخدام تعلُّم الآلة مع TensorFlow.js لحل هذه المشكلة في الخطوة الأولى من عملية التعرُّف على العملاء (KYC)، أي عندما يحمّل المستخدم الصور. هم استخدمتَ MediaPipe وTensorFlow مكتبة ميزة "التعرّف على الوجوه" لرصد وجه البائع ذي ست نقاط رئيسية عندما يُحمِّل البائع معرّف بطاقات وصور سيلفي. ثم يتم استخدام مخرجات النموذج للتحقق من معايير القبول. بعد التحقق بنجاح، يتم إرسال المعلومات إلى الواجهة الخلفية. إذا تعذّر إجراء عملية التحقّق، ستظهر رسالة خطأ للبائع وخيار لإعادة المحاولة. تم استخدام منهج مختلط حيث يُجري النموذج إلى الاستنتاج إما على الجهاز أو من جهة الخادم اعتمادًا على والمواصفات. سينفذ الجهاز المنخفض المستوى الاستنتاج على الخادم.

يتيح استخدام نموذج تعلُّم الآلة في وقت مبكر من عملية التعرُّف على العملاء (KYC) إجراء ما يلي:

  • تحسين معدّل الرفض في عملية "التعرّف على العملاء" (KYC)
  • تحذير المستخدمين من الرفض المحتمل لصورهم، بناءً على الجودة تم تقييمه بواسطة النموذج.

لماذا يتم اختيار تعلُّم الآلة بدلاً من الحلول الأخرى؟

يمكن لتعلُّم الآلة برمجة المهام المتكررة التي تستغرق وقتًا طويلاً أو فمن غير العملي القيام به يدويًا. وفي حالة Tokopedia، كان تحسين المحتوى الذي لا يعتمد على تعلُّم الآلة الحل في تحقيق نتائج ذات دلالة فيما يمكن أن يكون حل تقليل العبء الواقع على فريق العمليات الذي كان عليه معالجة آلاف الموافقات أسبوعيًا. باستخدام حلّ تعلُّم الآلة، يمكن إجراء عمليات فحص للصور. على الفور تقريبًا، ما يؤدي إلى تحسين تجربة المستخدم وتحسين والكفاءة. مزيد من المعلومات عن تحديد المشكلة لتحديد ما إذا كان تعلُّم الآلة هو الحل المناسب لمشكلتك.

الاعتبارات الواجب مراعاتها عند اختيار نموذج

تم أخذ العوامل التالية في الاعتبار عند اختيار نموذج تعلُّم الآلة.

التكلفة

قاموا بتقييم التكلفة الإجمالية لاستخدام النموذج. نظرًا لأن TensorFlow.js لحزمة البرامج مفتوحة المصدر التي تحتفظ بها Google جيدًا، فإننا نوفِّر تراخيص تكاليف الصيانة. هناك اعتبار آخر هو تكلفة الاستنتاج. قادرة على الاستنتاج على جانب العميل توفر الكثير من المال مقارنة ومعالجتها على جانب الخادم باستخدام وحدات معالجة رسومات باهظة الثمن، خاصةً إذا كانت أنها غير صالحة وغير قابلة للاستخدام.

سهولة التطوير

فقد أخذوا في الاعتبار قابلية تطور النموذج والتكنولوجيا. هل بإمكانه التعامل مع تعقيد البيانات والنموذج مع تطور مشروعنا؟ هل يمكن تم تمديدها لتلبية المشروعات الأخرى أو حالات الاستخدام؟ تساعد المعالجة على الجهاز فقط لأنه يمكن استضافة النموذج على شبكة توصيل للمحتوى وتقديمه إلى جهة العميل، وهي قابلة للتطوير بشكل كبير.

الأداء

تمت مراعاة حجم المكتبة (بالكيلوبايت) ووقت الاستجابة لوقت التشغيل الدفع. تضم معظم قاعدة مستخدمي Mitra Tokopedia أجهزة ذات مواصفات متوسطة إلى منخفضة. تتميز بسرعة إنترنت واتصال معتدل. ومن ثم، فإن الأداء فيما يتعلق وقت التنزيل والتشغيل (أي مدى سرعة النموذج في إنتاج مخرجات) هو أفضل الأولوية لتلبية احتياجاتهم الخاصة وضمان تجربة مستخدم رائعة.

اعتبارات أخرى

الامتثال التنظيمي: كان عليه التأكّد من التزام المكتبة التي تم اختيارها بالإرشادات لوائح حماية البيانات والخصوصية ذات الصلة.

مجموعة المهارات: قيّم الفريق الخبرة ومجموعة المهارات التي يتمتع بها فريقه. بعض تعلُّم الآلة أطر العمل والمكتبات قد تتطلب لغات برمجة أو خبرة معينة في منطقة معينة. من خلال مراعاة هذه العوامل، قاموا بعمل تنبؤ القرار عند اختيار النموذج المناسب لمشروع التعلم الآلي لديهم.

التكنولوجيا التي تم اختيارها

تلبية TensorFlow.js احتياجاتهم بعد التفكير في هذه العوامل. وهو قادر على العمل بشكل كامل على الجهاز باستخدام الواجهة الخلفية WebGL من أجل استخدام وحدة معالجة الرسومات للجهاز. يتيح تشغيل النموذج على الجهاز فقط الحصول على ملاحظات أسرع. إلى المستخدم بسبب انخفاض وقت استجابة الخادم وتقليل تكلفة حوسبة الخادم. القراءة مزيد من المعلومات حول تقنية تعلُّم الآلة على الجهاز في المقالة مزايا تعلُّم الآلة على الجهاز وقيوده:

"TensorFlow.js هي مكتبة مفتوحة المصدر لتعلُّم الآلة من Google تهدف إلى مطورو برامج JavaScript الذين يمكنهم العمل من جانب العميل في المتصفح. إنها الخيار الأكثر تقدّمًا للذكاء الاصطناعي على الويب مع WebGL وWebAssembly وWebGPU دعم مشغل الخلفية الذي يمكن استخدامه في المتصفح مع Performance."كيف استخدمت Adobe تعلُّم الآلة على الويب من خلال TensorFlow.js لتحسين Photoshop للويب؟

التنفيذ الفني

استخدمت 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 أكبر ومنفصلة مورد ثنائي (ويتم التخفيف من حدته من خلال عدم كونه تبعية لوقت التحميل) تتطلب تصحيح أخطاء 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 تشير إلى الحدود س، وyMin، وyMax تشير إلى حدود ص، يمثّل كل من width وheight أبعاد مربّع الإحاطة. بالنسبة إلى keypoints، يمثّل x وy موضع النقطة الرئيسية في الصورة. مساحة البكسل. توفر name تصنيفًا لنقطة المفاتيح، وهي 'rightEye' و'leftEye' 'noseTip' و'mouthCenter' و'rightEarTragion' و'leftEarTragion' على التوالي. كما ذكرنا في بداية هذه المشاركة، على البائع تحميل بطاقة تعريف وطنية وصورة ذاتية تحتوي على مستند تعريف الهوية لإكمال طلب البائع التحقق. ثم يتم استخدام مخرجات النموذج للتحقق في مقابل معايير القبول - وهي مطابقة النقاط الرئيسية الست المذكورة سابقًا ليتم اعتبارها صالحة بطاقة تعريف وصورة سيلفي

بعد إتمام عملية التحقق بنجاح، يتم تمرير معلومات البائع ذات الصلة إلى الخلفية. وإذا تعذَّر إثبات الملكية، يتم إرسال رسالة خطأ إلى البائع لإعادة المحاولة. ولن يتم إرسال أي معلومات إلى الواجهة الخلفية.

مخطّط بياني لصفحة Mitra KYC ونموذج TensorFlow.js والخادم يتفاعلان مع بعضهما البعض.
كيفية تفاعل صفحة Mitra KYC ونموذج TensorFlow.js والخادم مع بعضها البعض

اعتبارات الأداء للأجهزة المنخفضة المواصفات

يبلغ حجم هذه الحزمة 24.8 كيلوبايت فقط (بتنسيق مصغَّر ومضغوط بتنسيق gzip)، ولا يزيد عن تؤثر بشكل كبير في مدة التنزيل ومع ذلك، بالنسبة للأجهزة ذات النهاية المنخفضة جدًا، معالجة وقت التشغيل وقتًا طويلاً. تمت إضافة منطق إضافي للتحقق من ذاكرة الوصول العشوائي للجهاز ووحدة المعالجة المركزية (CPU) قبل تمرير الصورتين إلى واجهة تعلُّم الآلة تنبؤي.

إذا كان الجهاز يحتوي على ذاكرة وصول عشوائي (RAM) بسعة 4 غيغابايت أو أكثر، يعني هذا أنّ اتصال الشبكة بالشبكة يزيد عن 4 غيغابايت، ووحدة معالجة مركزية بها أكثر من 6 نوى، يتم نقل الصور إلى الطراز على الجهاز فقط للتحقق من الوجه. في حال عدم استيفاء هذه المتطلبات، سيتم نقل البيانات يتم تخطي النموذج وإرسال الصور مباشرةً إلى الخادم للتحقق باستخدام منهج مختلط لتلبية احتياجات هذه الأجهزة القديمة. مع مرور الوقت، المزيد ستتمكن الأجهزة من تفريغ الحوسبة من الخادم مع استمرار والتطور.

التأثير

بفضل تكامل تكنولوجيا تعلُّم الآلة، نجحت Tokopedia في حل معدّل الرفض وحقّقت النتائج التالية:

  • انخفض معدّل الرفض بأكثر من 20%.
  • انخفض عدد الموافقات اليدوية بنسبة 70% تقريبًا.

أدى ذلك إلى توفير تجربة مستخدم أكثر سلاسة للبائعين فحسب، بل انخفض أيضًا التكلفة التشغيلية لفريق Tokopedia.

الخاتمة

بشكل عام، أظهرت نتائج دراسة الحالة هذه أنه بالنسبة لحالات الاستخدام الصحيحة، يمكن أن تكون حلول تعلُّم الآلة على الجهاز على الويب ذات قيمة في تحسين تجربة الميزات وفعاليتها بالإضافة إلى توفير وفورات في التكاليف ومزايا الأعمال الأخرى.

جرِّب ميزة اكتشاف الوجوه من MediaPipe بنفسك باستخدام MediaPipe Studio وعينة التعليمات البرمجية أداة رصد الوجوه MediaPipe على الويب

إذا كنت مهتمًا بتوسيع إمكانات تطبيق الويب الخاص بك من خلال لتعلُّم الآلة على الجهاز، يمكنك الاطّلاع على الموارد التالية: