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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

إدارة المهام

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

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

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

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

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

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

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

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

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

خدمة العارض

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

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

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

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

مضيفو الخدمة

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

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

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

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

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

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

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

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

يمكن توسيع نطاق كل مكوّن من هذه البنية بشكل مستقل. ويتم ذلك من خلال زيادة السعة في "المساحة السرية" أو في مجموعة 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 نموذجًا لأنّ هذه الإعدادات تعتمد بشكل كبير على احتياجات النشاط التجاري. يراعي التصميم الحالي احتياجات المطوّرين المحتملة لعمليات النسخ الاحتياطي والتكرار هذه. ونتيجةً لذلك، فهو متوافق مع خدمات المنتجات وخدمات النسخة الاحتياطية التي تقدّمها جهات خارجية.