استخدام TFF لأبحاث التعلم الموحد

ملخص

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

الهيكل النموذجي لكود البحث في TFF

تتكون محاكاة FL البحثية التي يتم تنفيذها في TFF عادةً من ثلاثة أنواع رئيسية من المنطق.

  1. الأجزاء الفردية من تعليمات TensorFlow البرمجية، عادةً tf.function s، التي تغلف المنطق الذي يتم تشغيله في مكان واحد (على سبيل المثال، على العملاء أو على الخادم). عادةً ما تتم كتابة هذا الرمز واختباره بدون أي مراجع tff.* ، ويمكن إعادة استخدامه خارج TFF. على سبيل المثال، يتم تنفيذ حلقة تدريب العميل في المتوسط ​​الموحد على هذا المستوى.

  2. منطق التنسيق الموحد TensorFlow، الذي يربط معًا tf.function s الفردية من 1. عن طريق تغليفها كـ tff.tensorflow.computation s ثم تنظيمها باستخدام تجريدات مثل tff.federated_broadcast و tff.federated_mean داخل tff.federated_computation . انظر، على سبيل المثال، هذا التنسيق للمتوسط ​​الموحد .

  3. برنامج نصي لبرنامج تشغيل خارجي يحاكي منطق التحكم لنظام FL للإنتاج، واختيار العملاء المحاكيين من مجموعة بيانات ثم تنفيذ الحسابات الموحدة المحددة في 2. على هؤلاء العملاء. على سبيل المثال، سائق تجربة EMNIST الموحد .

مجموعات بيانات التعلم الموحدة

يستضيف TensorFlow المتحد مجموعات بيانات متعددة تمثل خصائص مشكلات العالم الحقيقي التي يمكن حلها من خلال التعلم الموحد.

تتضمن مجموعات البيانات ما يلي:

  • ستاكوفرفلوو . مجموعة بيانات نصية واقعية لنمذجة اللغة أو مهام التعلم الخاضعة للإشراف، مع 342,477 مستخدمًا فريدًا مع 135,818,730 مثالًا (جملًا) في مجموعة التدريب.

  • EMNIST الموحدة . معالجة مسبقة موحدة لمجموعة بيانات الأحرف والأرقام EMNIST، حيث يتوافق كل عميل مع كاتب مختلف. تحتوي مجموعة القطار الكاملة على 3400 مستخدم مع 671.585 نموذجًا من 62 علامة تجارية.

  • شكسبير . مجموعة بيانات نصية أصغر على مستوى الحرف تعتمد على الأعمال الكاملة لوليام شكسبير. تتكون مجموعة البيانات من 715 مستخدمًا (شخصيات من مسرحيات شكسبير)، حيث يتوافق كل مثال مع مجموعة متجاورة من السطور التي تنطقها الشخصية في مسرحية معينة.

  • سيفار-100 . تقسيم موحد لمجموعة بيانات CIFAR-100 عبر 500 عميل تدريب و100 عميل اختبار. كل عميل لديه 100 مثال فريد. ويتم التقسيم بطريقة تخلق تجانسًا أكثر واقعية بين العملاء. لمزيد من التفاصيل، راجع واجهة برمجة التطبيقات .

  • مجموعة بيانات Google Landmark v2 تتكون مجموعة البيانات من صور لمعالم عالمية مختلفة، مع صور مجمعة بواسطة المصور لتحقيق تقسيم موحد للبيانات. يتوفر نوعان من مجموعات البيانات: مجموعة بيانات أصغر تضم 233 عميلًا و23080 صورة، ومجموعة بيانات أكبر تضم 1262 عميلًا و164172 صورة.

  • CelebA مجموعة بيانات من الأمثلة (الصورة وسمات الوجه) لوجوه المشاهير. تحتوي مجموعة البيانات الموحدة على أمثلة لكل المشاهير مجمعة معًا لتكوين عميل. هناك 9343 عميلاً، لكل منهم 5 أمثلة على الأقل. يمكن تقسيم مجموعة البيانات إلى مجموعات تدريب واختبار إما عن طريق العملاء أو عن طريق الأمثلة.

  • iNaturalist تتكون مجموعة البيانات من صور لأنواع مختلفة. تحتوي مجموعة البيانات على 120300 صورة لـ 1203 نوعًا. تتوفر سبعة نكهات من مجموعة البيانات. تم تجميع إحداها بواسطة المصور وتتكون من 9257 عميلاً. يتم تجميع بقية مجموعات البيانات حسب الموقع الجغرافي الذي تم التقاط الصورة فيه. تتكون هذه النكهات الستة لمجموعة البيانات من 11 إلى 3606 عميلًا.

محاكاة عالية الأداء

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

TFF لمجالات بحثية مختلفة

خوارزميات التحسين الموحدة

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

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

يمكن العثور على تطبيق أكثر عمومية للمتوسط ​​الموحد هنا . يسمح هذا التنفيذ بتقنيات تحسين أكثر تعقيدًا، بما في ذلك استخدام أدوات تحسين مختلفة على كل من الخادم والعميل. يمكن العثور على خوارزميات التعلم الموحدة الأخرى، بما في ذلك تجميع الوسائل k الموحدة، هنا .

ضغط تحديث النموذج

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

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

الخصوصية التفاضلية

TFF قابل للتشغيل المتبادل مع مكتبة TensorFlow Privacy لتمكين البحث في خوارزميات جديدة للتدريب الموحد للنماذج ذات الخصوصية التفاضلية. للحصول على مثال للتدريب مع DP باستخدام خوارزمية DP-FedAvg الأساسية وملحقاتها ، راجع برنامج تشغيل التجربة هذا .

إذا كنت تريد تنفيذ خوارزمية DP مخصصة وتطبيقها على التحديثات المجمعة للمتوسط ​​الموحد، فيمكنك تنفيذ خوارزمية متوسط ​​DP جديدة كفئة فرعية من tensorflow_privacy.DPQuery وإنشاء tff.aggregators.DifferentiallyPrivateFactory مع مثيل الاستعلام الخاص بك. يمكن العثور على مثال لتنفيذ خوارزمية DP-FTRL هنا

تعد شبكات GAN الموحدة (الموصوفة أدناه ) مثالًا آخر لمشروع TFF الذي يطبق الخصوصية التفاضلية على مستوى المستخدم (على سبيل المثال، هنا في الكود ).

الصلابة والهجمات

يمكن أيضًا استخدام TFF لمحاكاة الهجمات المستهدفة على أنظمة التعلم الموحد والدفاعات القائمة على الخصوصية التفاضلية التي تم تناولها في هل يمكنك حقًا التعلم الموحد من الباب الخلفي؟ . يتم ذلك عن طريق إنشاء عملية متكررة مع عملاء يحتمل أن يكونوا ضارين (راجع build_federated_averaging_process_attacked ). يحتوي الدليل Target_attack على مزيد من التفاصيل.

  • يمكن تنفيذ خوارزميات الهجوم الجديدة عن طريق كتابة وظيفة تحديث العميل وهي وظيفة Tensorflow، راجع ClientProjectBoost للحصول على مثال.
  • يمكن تنفيذ دفاعات جديدة عن طريق تخصيص "tff.utils.StatefulAggregateFn" الذي يجمع مخرجات العميل للحصول على تحديث عالمي.

للحصول على مثال لبرنامج نصي للمحاكاة، راجع emnist_with_targeted_attack.py .

شبكات الخصومة التوليدية

تعمل شبكات GAN على إنشاء نمط تنسيق متحد مثير للاهتمام والذي يبدو مختلفًا قليلاً عن المتوسط ​​الموحد القياسي. أنها تنطوي على شبكتين متميزتين (المولد والمميز) تم تدريب كل منهما على خطوة التحسين الخاصة بها.

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

إضفاء الطابع الشخصي

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

يتمثل أحد الأساليب في السماح لكل عميل بضبط نموذج عالمي واحد (يتم تدريبه باستخدام التعلم الموحد) باستخدام بياناته المحلية. هذا النهج له صلات بالتعلم الفوقي، انظر، على سبيل المثال، هذه الورقة . يوجد مثال على هذا الأسلوب في emnist_p13n_main.py . لاستكشاف ومقارنة استراتيجيات التخصيص المختلفة، يمكنك:

  • حدد استراتيجية التخصيص من خلال تنفيذ tf.function التي تبدأ من نموذج أولي، وتقوم بتدريب وتقييم نموذج مخصص باستخدام مجموعات البيانات المحلية لكل عميل. يتم تقديم مثال بواسطة build_personalize_fn .

  • حدد OrderedDict الذي يربط أسماء الاستراتيجيات بإستراتيجيات التخصيص المقابلة، واستخدمه كوسيطة personalize_fn_dict في tff.learning.build_personalization_eval_computation .

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