خادم الحوسبة الموحّدة لتخصيص على الجهاز

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

خطوات التدريب

يتكون التدريب من تدفقات البيانات بين عميل FC وخادم FC. "عميل FC" هو وحدة Android أساسية لتدريب نماذج تعلُّم الآلة على الجهاز والتفاعل مع خادم FC. يعالج خادم FC النتائج الواردة من برنامج FC Client ويجمّعها بأمان في بيئة تنفيذ موثوقة (TEE).

يتكون التدريب من الخطوات التالية:

رسم بياني انسيابي يعرض تدفّق التدريب بين برنامج حوسبة موحّدة وخادم في "مبادرة حماية الخصوصية" لنظام التشغيل Android
  1. ينزِّل برنامج FC Client على الجهاز مفتاح تشفير عام من Key Services.
  2. يتواصل عميل FC مع خادم FC ويحصل على مهمة تدريب.
  3. يقوم عميل FC بتنزيل خطة تدريب، بالإضافة إلى أحدث إصدار من النموذج، الإصدار N.
  4. يتم تدريب برنامج FC Client باستخدام البيانات المحلية والخطة.
  5. يشفِّر "عميل FC" المساهمات التي يقدّمها هذا الجهاز باستخدام المفتاح العام الذي تم الحصول عليه في الخطوة 0 ويحمّلها إلى "خادم FC".
  6. يُبلغ برنامج FC Client خادم FC باكتمال تدريبه.
  7. ينتظر خادم FC Server حتى يرسل عدد كافٍ من العملاء مساهماتهم.
  8. تبدأ جولة من التجميع.
  9. تحمِّل منصة التجميع المساهمات المشفَّرة في بيئة تنفيذ موثوقة (TEE).
  10. يقدّم المجمّع إثباتًا لنفسه، وفقًا لبنية RFC 9334 Remote ATtestation procedureS (RATS) Architecture من معهد NIST، للمنسّقين. بعد إثبات الهوية بنجاح، تمنحه خدمات إدارة مفاتيح التشفير مفاتيح فك التشفير. يمكن تقسيم هذه المفاتيح على عدة موفِّري مفاتيح في نظام مشاركة المفاتيح السرّية في Shamir.
  11. تتولّى "أداة التجميع" تجميع المقاطع وتشويش البيانات على جميع الأجهزة وفقًا لآليات الخصوصية التفاضلية (DP) المناسبة، وتعرض النتائج التي تتضمّن محتوًى غير واضح.
  12. يشغِّل العارض أداة تحديث النماذج.
  13. تحمِّل أداة تعديل النماذج المساهمة المجمّعة وتطبّقها على الإصدار N من النموذج لإنشاء الإصدار N + 1 من النموذج. يتم توجيه النموذج الجديد إلى مساحة تخزين النموذج.

يمكن نشر "خادم FC" على أي خدمات سحابة تدعِّم وحدات TEE وميزات الأمان ذات الصلة. نحن نقيّم مزوّدي الخدمات السحابية العامة والتكنولوجيات الأساسية، ولكن يوضّح القسم التالي في الوقت الحالي مثالاً على تنفيذ Google Cloud باستخدام المساحة السرية.

التصميم العام

يتضمّن خادم FC المكوّنات التالية التي تم نشرها في Google Cloud:

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

تفاصيل المكوّن

توسّع الأقسام التالية من التصميم العام إلى تفاصيل إضافية:

مخطّط بياني يعرض مكوّنات خادم الحوسبة الموحّد في "مبادرة حماية الخصوصية" لنظام التشغيل Android

خدمة إدارة المهام

مخطّط بياني يعرض مخطط خدمة إدارة المهام في "مبادرة حماية الخصوصية" على Android

تتضمّن "خدمة إدارة المهام" مكوّنَين فرعيَين: خدمة الويب لإدارة المهام و"خدمة جدولة المهام"، وقد تم نشرهما على GKE.

إدارة المهام

هذه مجموعة من خدمات الويب في المقدّمة التي تتلقّى طلبات HTTPS وتُنشئ مهام أو تحصل عليها من قاعدة بيانات المهام.

أداة جدولة المهام

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

قاعدة بيانات المهام

قاعدة بيانات متوافقة مع ANSI SQL تخزّن معلومات "المهمة" و"التكرار" و"المهمة المخصّصة" في عملية التنفيذ هذه، يتم استخدام Google Cloud Spanner كخدمة قاعدة البيانات الأساسية.

خدمة إسناد المهام

مخطّط بياني يعرض بنية خدمة تحديد المهام في "مبادرة حماية الخصوصية" على Android

"خدمة إسناد المهام" هي خدمة ويب لواجهة أمامية تتم استضافتها على GKE. يتلقّى هذا القسم الطلبات من عملاء FC ويوزع مهام التدريب عند الاقتضاء.

قاعدة بيانات المهام هنا هي نفس مثيل قاعدة البيانات مثل قاعدة بيانات المهام في خدمة إدارة المهام.

خدمة العارض

مخطّط بياني يعرض مخطط خدمة تجميع البيانات في "مبادرة حماية الخصوصية" على Android
أداة تجميع البيانات وتعديل النماذج

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

التدرجات والتدرجات المجمعة والنموذج والمخطط
  • مساحة تخزين متدرجة لدرجات الألوان التي تم تحميلها (المشفَّرة) على جهاز العميل
  • مساحة تخزين مجمّعة للتدرُّج للتدرجات المجمّعة والمقطوعة والتشويشية
  • نموذج وخطة تخزين لخطط التدريب والنماذج والأوزان.
أداة الجمع

أداة التجميع هي خدمة تُحتسَب بشكل دوري عمليات إرسال جهاز العميل خلال جولة تدريب. ويتم إرسال إشعار إلى مجمّع السلع لبدء عملية التجميع فور توفّر عدد كافٍ من عمليات الإرسال.

مضيفو الخدمة

يتم استضافة جميع الخدمات التي لا يمكنها الوصول إلى المعلومات الحسّاسة على GKE.

تتم استضافة جميع الخدمات التي قد تلمس معلومات حسّاسة في المساحة السرية.

يتم تشفير جميع البيانات الحسّاسة باستخدام مفاتيح تشفير تديرها خدمات إدارة مفاتيح تشفير متعددة تملكها جهات متعددة. لا يمكن الوصول إلى مفاتيح فك التشفير إلا من خلال الرمز البرمجي المفتوح المصدر الذي أصدره ODP بنجاح والذي يعمل في الإصدارات المشروعة من الحوسبة السرية المفعّلة من "المساحة السرية".

في وحدة خدمة واحدة، يبدو مورد الحوسبة على النحو التالي:

مخطّط بياني يعرض مخطط وحدة الخدمة الخاصة بـ "مبادرة حماية الخصوصية" على Android

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

تركِّز البنية الأساسية الموضّحة سابقًا على وحدة خدمة واحدة.

تستخدِم وحدة خدمة واحدة قاعدة بيانات Cloud Spanner واحدة. يمكنك الاطّلاع على حصص وحدود أدوات الربط لمعرفة القيود الملحوظة.

يمكن قياس كل مكون من مكونات هذه البنية بشكل مستقل. ويتم ذلك من خلال زيادة السعة في "المساحة السرية" أو في مجموعة GKE باستخدام آليات التوسيع العادية. يمكن زيادة قدرة المعالجة بشكل فعّال من خلال إضافة المزيد من نُسخ ما يلي:

  • خدمة ويب لتعيين المهام
  • خدمة ويب إدارة المهام
  • مثيلات العارض
  • نُسخ "أداة تعديل النماذج"

المرونة

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

Spanner

يستخدم التنفيذ التلقائي لخادم FC Server Google Cloud Spanner كقاعدة بيانات لتخزين حالة المهمة التي يتم استخدامها للتحكم في تدفق التدريب. يجب تقييم المفاضلات بين الاتساق ومدى التوفّر وفقًا لاحتياجات نشاطك التجاري قبل اختيار إعدادات مناطق متعدّدة.

ولا يتم تخزين أي بيانات للمستخدمين أو اشتقاقاتها، سواء كانت أولية أو مشفّرة، في أي من مثيلات Spanner. يمكنك استخدام أي من ميزات الاسترداد في حالات الكوارث المتاحة والمقدّمة من Spanner.

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

Google Cloud Storage

يستخدم التنفيذ التلقائي لخادم FC Google Cloud Storage لتخزين بيانات وحدات البيانات غير القابلة للتغيير، مثل النماذج وخطط التدريب والمساهمات المشفّرة من الأجهزة.

هناك ثلاث نُسخ من GCS في التصميم:

  • مساهمات الأجهزة: مساهمات الأجهزة المشفَّرة التي يتم تحميلها من الأجهزة
  • النماذج: خطط التدريب والنماذج وأوزانها.
  • التدرجات المجمّعة: التدرجات المجمّعة التي أنشأها العارض

البيانات المخزّنة في GCS هي إمّا:

  • بيانات قدّمها المطوّر، مثل خطة تدريب
  • البيانات التي يُحتمل أن تكون خاصة لأنّها مشتقة من إشارات المستخدمين (المحمية بتشفير مزوّد بتنسيقات متعددة للمنسق) مثل التدرجات التي تم تحميلها من الأجهزة والتدرجات المجمّعة
  • البيانات غير الخاصة المستمَدة من إشارات المستخدِمين بعد تطبيق "الخصوصية التفاضلية"، مثل أوزان النماذج

عليك تقييم المفاضلات بين الاتساق ومدى التوفّر واختيار ميزات مدى توفّر بيانات GCS وطول مدة الاحتفاظ بها المناسبة. وعليك تحديد سياسات الاحتفاظ بالبيانات الخاصة بك.

النسخ المتماثل والنسخ الاحتياطية

بالإضافة إلى آليات النسخ المتماثل للبيانات التي توفرها Google Cloud، يمكنك أيضًا اختيار الاحتفاظ بنسخة احتياطية من البيانات بشكل دوري في Spanner وGCS. على سبيل المثال، يمكنك استخدام خدمات وعروض إعادة النسخ على جميع خدمات السحابة الإلكترونية. لا يوفّر ODP نموذجًا لأنّ هذه الإعدادات تعتمد بشكل كبير على احتياجات النشاط التجاري. يأخذ التصميم الحالي في الاعتبار احتياجات المطورين المحتملة لمثل هذه النسخ المكررة والنسخ الاحتياطية. ونتيجةً لذلك، فهو متوافق مع خدمات المنتجات وخدمات النسخة الاحتياطية التي تقدّمها جهات خارجية.