تمت ترجمة المحتوى الموجود على هذا الموقع باستخدام الذكاء الاصطناعي (AI) أو تقنية الترجمة الآلية، وقد تحتوي على أخطاء.

Skip to content

ما وراء الصور الذاتية: كيف يساعد نظام التحقق من العمر في Roblox على تحديث عمليات التحقق من العمر

نظام تعلم آلي سلوكي معياري ومتعدد الوسائط يضع السلامة في المقام الأول

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

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

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

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

اختيار الإشارات المناسبة للتنبؤ بالعمر

تتفاعل الفئات العمرية المختلفة مع Roblox بطرق مختلفة عبر أنماط اللعب والتواصل والتفاعل مع المنصة. لرصد تنوع السلوك، نقسم مدخلاتنا إلى مجموعات إشارات متميزة:

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

تحصل كل مجموعة من الإشارات على نموذج يتناسب مع شكل بياناتها. يتم التعامل مع الإشارات المجمعة المتفرقة وذات الأبعاد العالية بواسطة أشجار القرار المعززة بالتدرج (مثل مصنفات XGBoost)؛ ويتم التعامل مع النص بواسطة مشفر محول متعدد اللغات تم ضبطه بدقة (mmBERT)؛ وتغذي تمثيلات المستخدم بعض الشبكات العصبية المدمجة (Multilayer Perceptron). 

يتنبأ كل نموذج فرعي بنفس الهدف: توزيع احتمالي على مجموعة من الفئات العمرية. ثم يقوم مُتعلّم ميتا مدعّم بالتدرج بدمج متجهات الاحتمالات هذه في التقدير النهائي المعاير. 

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

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

التحيز في اختيار التصنيفات

تأتي التسميات ذات الثقة الأعلى لدينا من المستخدمين الذين أكملوا عملية تحقق قوية من العمر. هذه التسميات مفيدة، لكنها ليست عينة عشوائية من مستخدمي Roblox. بالنسبة لنظام يمكن أن يؤثر على وصول المستخدمين، فإن التمثيلية هي جزء أساسي من هدف التدريب. 

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

نعمل بشكل متعدد الوظائف مع قسم أبحاث المستخدمين، مستخدمين نتائج الاستطلاعات المجمعة لتوجيه المجموعات السكانية المستهدفة المستخدمة في عملية الترجيح. ومن هناك، نستخدم تقنيات مثل الترجيح العكسي للميل (inverse propensity weighting) والملاءمة التناسبية التكرارية — أو الترتيب (raking) — لمواءمة العينة المرجحة عبر أبعاد متعددة في آن واحد بدلاً من تصحيح عامل واحد بمعزل عن البقية. 

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

نسعى جاهدين لتنقية التصنيفات باستخدام تصفية التصنيفات التي تراعي النزاهة أو مناهج تحديد أخطاء التصنيف مثل «التعلم الواثق» (Confident Learning) قبل التدريب لإزالة الأمثلة التي تبدو خارج نطاق التوزيع من أجل نمذجة السلوك. تُظهر التجارب الأولية أن هذا النوع من التنقية يساعد في حماية النموذج من الإفراط في التكيف ويوفر مكاسب متسقة في الأداء.

التدريب والاستدلال وتجنب الانحراف على نطاق Roblox

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

تتوافق حزمة الحوسبة مع شكل عبء العمل. نستخدم Apache Spark للتحويلات المنظمة واسعة النطاق، وإطار عمل Ray لأعباء العمل المدعومة بوحدة معالجة الرسومات (GPU)، ووحدات الإنتاج لمعالجة الإشارات في الوقت الفعلي. 

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

للمساعدة في الحفاظ على الاستقرار على نطاقنا، نطبق قرارين تصميميين صارمين عبر مسارات الميزات لدينا:

  • تخزين الميزات المشتقة: نقوم بتخزين الميزات المشتقة بدلاً من تدفقات الأنشطة الأولية حيثما أمكن ذلك. نحتفظ بالإشارة التي نحتاجها للنمذجة، وليس السجل الكامل وراءها.
  • عقود البيانات الموحدة: تُغذي نفس عقود البيانات كلاً من التدريب والاستدلال. وهذا يقلل من أحد أكثر أنماط الفشل شيوعًا في أنظمة التعلم الآلي: التباين بين ما تم تدريبه وما يتم تقديمه.

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

ثانيًا، يتم تقييد مخرجات الاستدلال قبل نشرها في المراحل اللاحقة. تبحث الفحوصات الآلية عن تراجع في الجودة وتغيرات كبيرة في توزيع التنبؤات. إذا فشل أحد الفحوصات، يتم حظر خطوة النشر. في نظام التعلم الآلي المرتبط بسير عمل السلامة الموجهة للمستخدمين، غالبًا ما يكون «عدم القيام بأي شيء اليوم» نمط فشل أكثر أمانًا من نشر تغير غير مبرر في التوزيع.

قياس أداء النظام 

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

يصل النموذج المدمج إلى دقة متوسطة تزيد عن 0.9 على بيانات التقييم المرجحة والمحتفظ بها. كما أن تقديراته عالية الثقة متسقة من يوم لآخر. حيث يبقى أكثر من 99% ضمن نفس الفئة العمرية العامة في أيام متتالية. 

كما نقارن النموذج بالحقائق الميدانية المستقلة التي ينتجها مراجعون بشريون مدربون من خلال سير عمل قسم «الثقة والسلامة» لدينا. عند مستوى الثقة العالي، يتوافق تقدير النموذج للفئة العمرية مع التصنيف الإجماعي البشري للبالغين في أكثر من 80% من الحالات. 

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

ما هي الخطوة التالية

إن امتلاك هذا النظام داخليًّا يتيح لنا الاستفادة من الإشارات الخاصة بـ Roblox بأمان، والعمل بدقة متناهية، والتكرار المستمر.

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