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

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

مسار التدريب

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

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

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

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

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

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

مخطّط يوضّح بنية خادم الحوسبة الاتّحادية في "مبادرة حماية الخصوصية" على Android
المكوّن الوصف
خدمة إدارة المهام خدمة ويب لإدارة مهمة التدريب على الشركاء استخدام Task Management API لإنشاء مهمة تدريبية وإدراج جميع مهام التدريب الحالية وإلغاء مهمة واسترداد جميع حالات التدريب.
خدمة إسناد المهام خدمة ويب مستندة إلى HTTPS تتحقّق فيها الأجهزة من وقت لآخر للحصول على مهام التدريب وإبلاغ حالة التدريب.
موقع تجميع خدمة تعمل في الخلفية في "مساحة للبيانات السرية" تشغيل أحمال العمل التي تم إنشاؤها باستخدام ODP يجب أن يشهد على المنسّقين الذين يفرضون قيودًا على الوصول إلى مفاتيح فك التشفير. يمكن لمجمّعي البيانات الذين تمّت المصادقة عليهم بنجاح فقط فكّ تشفير البيانات التي أرسلتها الأجهزة العميلة وإجراء عملية تجميع البيانات على مستوى الأجهزة.
أداة تعديل النماذج خدمة تعمل في الخلفية في Confidential Space وتطبّق التدرجات المجمّعة على النموذج

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

توسّع الأقسام التالية بنية المستوى الأعلى لتشمل المزيد من التفاصيل:

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

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

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

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

إدارة المهام

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

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

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

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

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

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

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

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

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

خدمة تجميع البيانات

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

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

التدرّجات والتدرّجات المجمّعة والنموذج والخطة
  • مساحة تخزين تدرّجات الألوان التي تم تحميلها (المشفّرة) من أجهزة العملاء
  • مخزن تدرّجات مجمّعة للتدرّجات المجمّعة والمقطوعة والمشوّشة
  • مساحة تخزين للنماذج والخطط، بما في ذلك خطط التدريب والنماذج والأوزان
المجمِّع

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

مضيفو الخدمة

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

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

يتم تشفير جميع البيانات الحسّاسة باستخدام مفاتيح تشفير تديرها خدمات مفاتيح تملكها جهات متعددة. يمكن لمفاتيح فك التشفير الوصول إلى إصدارات Confidential Space التي تم إثبات صحتها بنجاح والتي تتضمّن رمزًا برمجيًا مفتوح المصدر تم إنشاؤه باستخدام ODP ويتم تشغيله في إصدارات شرعية من Confidential Space تم تفعيل الحوسبة السرية فيها.

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

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

قابلية التطور

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

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

يمكن توسيع نطاق كل مكوّن من بنية التطبيق هذه بشكل مستقل. يتم ذلك من خلال توسيع نطاق السعة إما في Confidential Space أو في مجموعة GKE باستخدام آليات توسيع النطاق العادية. يمكن زيادة سعة المعالجة بشكل فعّال من خلال إضافة المزيد من مثيلات:

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

المرونة

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

Spanner

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

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

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

Google Cloud Storage

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

يتضمّن التصميم ثلاث آلات افتراضية من GCS:

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

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

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

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

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

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