الوجبات السريعة الرئيسية
تستخدم Binance نماذج التعلم الآلي لمراقبة الأنشطة المشبوهة على النظام الأساسي.
يمكن لمشكلة تعرف بالميزات القديمة أن تؤثر سلبًا على أداء هذه النماذج، مما يؤدي إلى تقديم تنبؤات أو تصنيفات غير دقيقة.
يتكون خط التدفق الخاص بنا - أو عملية تغذية النموذج بشكل مستمر بالبيانات في الوقت الفعلي - من جزأين: معالجة البيانات وخدمة البيانات.
تنقسم معالجة البيانات أيضًا إلى ثلاث فئات: الحوسبة الدفقية، والاستهلاك، والغرق.
تعرّف على كيفية استخدامنا لتعلم الآلة لحماية منظومة Binance.
يتألف فريق Risk AI لدينا، والذي يضم مهندسي تعلم الآلة وعلماء البيانات، من فريق يعمل على مدار الساعة لمكافحة الاحتيال وحماية مستخدمي Binance. ولتحقيق ذلك، يستخدمون حلولًا مدعومة بالذكاء الاصطناعي يمكنها تحديد التهديدات المحتملة والاستجابة لها، مثل عمليات الاحتيال من نظير إلى نظير (P2P)، وسرقة تفاصيل الدفع، وهجمات الاستيلاء على الحساب (ATO)، على سبيل المثال لا الحصر.
في هذا المقال، سنشرح كيف يضمن فريق Risk AI لدينا استخدام خط أنابيب بثّ (streaming pipeline) استجابات في الوقت الفعلي، إضافةً إلى ما يحدث خلف الكواليس.
إذا كنت غير معتاد على تعلم الآلة، فننصح بقراءة القسم التالي للحصول على نظرة عامة أساسية لبعض المصطلحات التي سنستخدمها طوال هذا المقال.
المعالجة على دفعات وبثّ البيانات
عادةً ما يستخدم مهندسو تعلم الآلة نوعين من الخطوط: الخطوط على دفعات والخطوط عبر البثّ. ولكل منهما مزاياه وعيوبه، اعتمادًا على ما تتطلبه الحالة.
الخطوط على دفعات، كما يوحي الاسم، تعالج البيانات على شكل دفعات. يستخدمها المهندسون عادةً لمعالجة كميات كبيرة من البيانات.
ومن ناحية أخرى، تعالج خطوط البثّ البيانات في الوقت الفعلي أثناء جمعها. وهذا يجعلها مثالية للحالات التي تتطلب استجابة فورية تقريبًا؛ على سبيل المثال، اكتشاف هاكر قبل أن يتمكن من سحب الأموال من حساب تم اختراقه.
لاحظ أن كلا الخطين مهمان بنفس القدر. تكون خطوط البثّ ممتازة لتوفير استجابات في الوقت الفعلي، بينما تكون الخطوط على دفعات أفضل في التعامل مع كميات كبيرة من البيانات.
في حالة منع الاحتيال، نحتاج إلى إعطاء الأولوية لبيانات الوقت الفعلي لتجنب وضع يُسمى “عدم حداثة النموذج/التباطؤ” (model staleness)، والذي يشير إلى أن نماذج تعلم الآلة تصبح قديمة أو غير دقيقة.
أهمية “التباطؤ” (Staleness)
تمامًا كما يمكن أن يصبح الناس أقل فعالية في مهمة ما إذا لم يبقوا على اطلاع بالمعلومات أو التقنيات الأحدث، يمكن أن تصبح نماذج تعلم الآلة أقل دقة أيضًا إذا لم يتم تحديثها بانتظام وفقًا للوضع.
شيء لا تريد حدوثه هو أن يصبح نموذج مُصمم لمنع الاحتيال “قديمًا/متباطئًا”. تتراوح العواقب بين وسم معاملة شرعية بشكل خاطئ على أنها احتيالية أو عدم القدرة على تحديد حساب تم اختراقه. لذلك، نستخدم خط أنابيب بثّ لضمان أن نماذج منع الاحتيال تعمل ببيانات في الوقت الفعلي.
الحوسبة الخاصة بنموذج الاستيلاء على الحساب (ATO)
لنأخذ مثالًا من نموذج ATO الخاص بنا، والذي نقوم بتدريبه لتحديد الحسابات التي استولى عليها المجرمون بنية خبيثة. إحدى الميزات التي يقيسها هذا النموذج هي عدد المعاملات التي قام بها عميل معيّن خلال الدقيقة الماضية.
يميل الهاكرز إلى اتباع نمط تسلسلي، حيث ينفذون عددًا كبيرًا من العمليات، مثل عمليات السحب، خلال فترة قصيرة. يجب على نظامنا حساب هذه الميزة بأسرع ما يمكن في حال وجود تهديدات محتملة. وهذا يعني تقليل التأخير بين وقت قيام المستخدم باتخاذ إجراء، ووقت معالجة بيانات نشاط هذا المستخدم بواسطة نماذجنا. قد تكون بضع ثوانٍ فقط هي الفارق بين إيقاف هاكر ومنع المستخدم من خسارة كل أمواله.
لمزيد من المعلومات حول كيف تؤثر الميزات المتأخرة على أداء النموذج، يمكنك الرجوع إلى هذه المقالة من LinkedIn Engineering: Near real-time features for near real-time personalization.
دور الحوسبة على دفعات
لاحظ أن أهمية “التباطؤ” في الميزات قد تعتمد على النموذج أو على الميزة التي يتم استخدامها. بعض الميزات، على سبيل المثال، تكون مستقرة نسبيًا. في حالة ATO المذكورة أعلاه، سنحتاج أيضًا إلى استرجاع بيانات عمليات السحب الخاصة بالمستخدم خلال آخر 30 يومًا لحساب نسبة بناءً على أحدث معاملاته.
في هذه الحالة، تكون الحوسبة على دفعات عبر فترات زمنية أطول، مثل الفواصل اليومية أو كل ساعة، مقبولة رغم ارتفاع “التباطؤ” الناتج عن انتظار وصول البيانات إلى مخازن البيانات الانتقالية (data warehouses) وتشغيل مهام الدفعات بشكل دوري.
الموازنة بين الحداثة وزمن الاستجابة
في النهاية، ينبغي اتخاذ قرار الاختيار بين خطوط المعالجة على دفعات وخطوط البثّ بناءً على المتطلبات المحددة لحالة الاستخدام والميزات المعنية. إن النظر بعناية في هذه العوامل يمكّننا من بناء أنظمة فعّالة لمنع الاحتيال تحمي مستخدينا.

يسمح لنا استخدام خط أنابيب بثّ (streaming) بالأولوية للأصالة/الحداثة (freshness) على حساب زمن الاستجابة (latency) للميزات الحسّاسة للوقت. يوضح المخطط أعلاه هذه الحاجة، إذ يجب أن يكون عدد العمليات الخاصة باسترجاع الميزات ثلاثًا بدلًا من اثنتين.
لهذا السبب يُعد خط أنابيب تعلم الآلة في الوقت الفعلي ضروريًا لعمليات فريقنا المختص بالمخاطر يوميًا.
تفكيك خط أنابيب البثّ
يتكون تعلم الآلة في الوقت الفعلي لفريق Binance Risk AI بشكل أساسي من جزأين:
معالجة البيانات (الجزء العلوي من المخطط)
تقديم البيانات (الجزء السفلي من المخطط)

معالجة البيانات
بالنسبة لمعالجة البيانات، يمكننا تقسيم خط أنابيب البثّ لدينا (وظيفة Flink) إلى ثلاث فئات وفقًا لمسؤولياتها:
الحوسبة عبر البثّ: هندسة الميزات
إدخال البثّ: إدخال الميزات
تلخيص/استخلاص البثّ: إثراء البيانات
الحوسبة عبر البثّ
تكون مكوّن الحوسبة عبر البثّ مسؤولًا عن هندسة الميزات بدرجة قريبة من الوقت الفعلي، أي عملية استخراج الميزات من البيانات الخام.
يُسبق هذا النوع من الحوسبة إعداد الميزات التي ستستخدمها نماذج تعلم الآلة الخاصة بنا للتنبؤ عبر الإنترنت. توجد طريقتان لأنماط الحوسبة الخاصة بخط أنابيب الحوسبة عبر البثّ: معتمدة على الزمن ومعتمدة على الأحداث.
معتمدة على الزمن. حساب عدد المعاملات كل 10 دقائق. يؤدي ذلك إلى بعض “القدَم/التباطؤ” (staleness) لكنه يقلل زمن الاستجابة.
معتمدة على الأحداث. حساب الميزات اعتمادًا على الحدث الوارد. يخفّض ذلك “القدَم/التباطؤ” لكنه يزيد زمن الاستجابة بشكل طفيف.
تفضيلنا هو ألا نستخدم الحوسبة في الوقت الفعلي بقدر الإمكان، وهذا السبب:
يوجد توازن بين زمن الاستجابة (latency) وبين “القدَم/التباطؤ” (staleness). إن حساب الميزات عند وصول الطلبات عبر الإنترنت يقيّد منطق الحوسبة بطرق خفيفة الوزن. ورغم أن هذه الطريقة تقلل “القدَم/التباطؤ”، إلا أن حساب الميزات يزيد زمن تأخر التنبؤ.
يُعدّ التوسع بشكل مستقل أمرًا صعبًا لأن خدمات التنبؤ والحوسبة تعتمد على بعضها البعض.
تؤدي الحوسبة عند الطلب بناءً على حركة المرور إلى ضغط توسع غير قابل للتنبؤ.
لا تكون الحوسبة في الوقت الفعلي مرنة بما يكفي بالنسبة لمراقبة النماذج لدينا (اختلاف التوزيع بين التدريب والخدمة training-serving skew) وحلول مراقبة الميزات، وذلك لأن الميزات لا تُخزَّن في قاعدة بيانات مركزية، أي “مخزن الميزات” (feature store).
تلقي/إدخال البثّ
يكون مكوّن إدخال البثّ مسؤولًا عن إدخال الميزات في شبه الوقت الفعلي إلى مخزن الميزات الخاص بنا من منصة تعلم الآلة Kafka. مخازن الميزات هي قواعد بيانات مركزية تحتوي الميزات الأكثر استخدامًا. وتؤدي دورًا أساسيًا في خطوط أنابيب تعلم الآلة. يمكنك معرفة المزيد عنها في المقالات التالية: نظرة أقرب على مخزن ميزات تعلم الآلة لدينا واستخدام MLOps لبناء خط أنابيب تعلم آلة شامل يعمل في الوقت الفعلي.
مصّ/مجرى إخراج البثّ
يكون مكوّن مصّ/مجرى إخراج البثّ مسؤولًا أساسًا عن دفع (sinking) الأحداث في الوقت الفعلي إلى وجهة محددة — مثل أنظمة الملفات الموزعة للغاية (HDFS) مثل S3 أو قواعد بيانات خارجية أخرى مثل ElasticSearch — وذلك وفقًا لمتطلبات المشروع.
بالنسبة لفريقنا الخاص بـ Risk AI، توجد عادةً نمطان لإثراء البيانات يمكن تطبيقهما على البيانات في الوقت الفعلي داخل Kafka، وذلك وفقًا لنمط الاستخدام:
بيانات ثابتة. على سبيل المثال، جلب قائمة بالمُصنّعين (makers) الأكثر شهرة الموجودين في S3 لمشاريع الأعمال المتعلقة بـ P2P داخل وظائف Flink. تكون بيانات المراجع ثابتة وتحتاج فقط إلى تحديث أقل من مرة شهريًا.
بيانات ديناميكية. على سبيل المثال، تُؤخذ أسعار الصرف الفورية (BTC إلى USD) من قواعد بيانات خارجية مثل Redis. يضمن البحث لكل سجل زمن استجابة منخفضًا ودقة عالية إذا تغيرت بيانات المراجع.
تقديم البيانات
يكون مكوّن تقديم البيانات (data-serving) في خط الأنابيب مسؤولًا عن التنبؤ عبر الإنترنت والحوسبة على دفعات.
التنبؤ عبر الإنترنت. يحدث ذلك عندما تصل الطلبات عبر Decision Hub (محرك القواعد الداخلي لفريق المخاطر لدينا). ثم يستدعي النظام/الخدمة المعنية مخزن الميزات لاسترجاع الميزات وإرسالها إلى نموذج تعلم الآلة للتقييم. يمتلك فريق Risk AI لدينا أكثر من 20 نموذجًا لتعلم الآلة مصممًا للتعامل مع متطلبات أعمال مختلفة.
الحوسبة على دفعات. على الرغم من أنها قد تُدخل تأخيرًا يصل إلى بضعة أيام، فإنها تلعب دورًا مهمًا هنا لأنها تُكمل الميزات التي يتم حسابها في الوقت الفعلي.
أفكار ختامية
من المهم ملاحظة أن سوق العملات المشفرة يعمل على مدار الساعة طوال أيام الأسبوع (24/7)، بخلاف الأسواق المالية التقليدية التي لها أوقات افتتاح وإغلاق. كل ثانية، تتدفق باستمرار بيانات جديدة (عمليات سحب، إيداعات، صفقات، إلخ) ما يتطلب منا أن نكون يقظين تجاه الجهات السيئة التي تحاول سرقة أموال المستخدمين أو معلوماتهم الشخصية.
لقد عمل فريق Risk AI لدينا بلا كلل على تطوير وصيانة نظام ذكاء اصطناعي متقدم يمكنه تحديد النشاطات المشبوهة بفعالية. وبفضل جهودهم، يمكننا التحرك بسرعة لحماية حسابات Binance المخترقة من الخسائر المحتملة أو تقليل الضرر قدر الإمكان.
تابع المزيد من الرؤى حول جهودنا في تعلم الآلة، أو اطلع على بعض مقالاتنا السابقة أدناه. هل أنت مهتم بمسار مهني في تعلم الآلة لدى Binance؟ راجع Binance Engineering على صفحة الوظائف لدينا لمعرفة فرص العمل المفتوحة.
قراءات إضافية
نظرة أقرب على مخزن ميزات تعلم الآلة لدينا
استخدام MLOps لبناء خط أنابيب شامل لتعلم الآلة يعمل في الوقت الفعلي
دراسة حالة لهندسة الميزات في الاتساق واكتشاف الاحتيال
