ملخص
يُعدّ TFF إطار عمل قوي وقابل للتوسيع لإجراء أبحاث التعلّم الموحّد (FL) من خلال محاكاة العمليات الحسابية الموحّدة على مجموعات بيانات بديلة واقعية. تشرح هذه الصفحة المفاهيم والمكونات الرئيسية ذات الصلة بمحاكاة الأبحاث، بالإضافة إلى إرشادات تفصيلية لإجراء أنواع مختلفة من الأبحاث باستخدام TFF.
البنية النموذجية لرمز البحث في TFF
تتكون محاكاة FL البحثية المنفذة في TFF عادةً من ثلاثة أنواع رئيسية من المنطق.
أجزاء منفصلة من كود TensorFlow، عادةً ما تكون دوال
tf.function، تُغلف منطقًا يُنفذ في موقع واحد (مثلًا، على أجهزة العملاء أو على الخادم). يُكتب هذا الكود ويُختبر عادةً دون أيtff.*، ويمكن إعادة استخدامه خارج TensorFlow. على سبيل المثال، تُنفذ حلقة تدريب العميل في Federated Averaging على هذا المستوى.منطق التنسيق الموحد في TensorFlow، الذي يربط دوال
tf.functionالفردية من الخطوة 1، عن طريق تغليفها كـtff.tensorflow.computation، ثم تنسيقها باستخدام تجريدات مثلfederated_language.federated_broadcastوfederated_language.federated_meanداخلfederated_language.federated_computation. انظر، على سبيل المثال، هذا التنسيق للمتوسط الموحد .برنامج تشغيل خارجي يحاكي منطق التحكم لنظام FL إنتاجي، حيث يختار عملاء محاكاة من مجموعة بيانات، ثم ينفذ عمليات حسابية موحدة محددة في البند 2 على هؤلاء العملاء. على سبيل المثال، برنامج تشغيل تجربة EMNIST الموحدة .
مجموعات بيانات التعلم الموحد
يستضيف TensorFlow federated مجموعات بيانات متعددة تمثل خصائص مشاكل العالم الحقيقي التي يمكن حلها باستخدام التعلم الموحد.
تتضمن مجموعات البيانات ما يلي:
StackOverflow . مجموعة بيانات نصية واقعية لنمذجة اللغة أو مهام التعلم الخاضع للإشراف، مع 342,477 مستخدمًا فريدًا و135,818,730 مثالًا (جملة) في مجموعة التدريب.
مجموعة بيانات EMNIST الموحدة . معالجة مسبقة موحدة لمجموعة بيانات EMNIST للأحرف والأرقام، حيث يمثل كل مستخدم كاتبًا مختلفًا. تحتوي مجموعة التدريب الكاملة على 3400 مستخدم مع 671,585 مثالًا من 62 تصنيفًا.
شكسبير . مجموعة بيانات نصية أصغر على مستوى الأحرف، تستند إلى الأعمال الكاملة لويليام شكسبير. تتكون مجموعة البيانات من 715 مستخدمًا (شخصيات من مسرحيات شكسبير)، حيث يتوافق كل مثال مع مجموعة متصلة من الأسطر التي نطقت بها الشخصية في مسرحية معينة.
CIFAR-100 . تقسيم موحد لمجموعة بيانات CIFAR-100 عبر 500 عميل تدريب و100 عميل اختبار. يحتوي كل عميل على 100 مثال فريد. يتم التقسيم بطريقة تُحقق تباينًا أكثر واقعية بين العملاء. لمزيد من التفاصيل، راجع واجهة برمجة التطبيقات (API) .
مجموعة بيانات Google Landmark v2: تتكون هذه المجموعة من صور لمعالم عالمية متنوعة، حيث تم تجميع الصور حسب المصور لتحقيق تقسيم موحد للبيانات. يتوفر نوعان من مجموعة البيانات: مجموعة أصغر تضم 233 عميلًا و23080 صورة، ومجموعة أكبر تضم 1262 عميلًا و164172 صورة.
CelebA هي مجموعة بيانات تضم أمثلة (صور وخصائص وجه) لوجوه المشاهير. تحتوي هذه المجموعة الموحدة على أمثلة لكل مشهور مُجمّعة لتشكيل عميل. يوجد 9343 عميلًا، لكل منهم 5 أمثلة على الأقل. يمكن تقسيم مجموعة البيانات إلى مجموعتي تدريب واختبار إما حسب العملاء أو حسب الأمثلة.
تتألف مجموعة بيانات iNaturalist A من صور لأنواع مختلفة. تحتوي المجموعة على 120,300 صورة لـ 1,203 نوعًا. تتوفر سبعة إصدارات من مجموعة البيانات. أحدها مُصنّف حسب المصوّر، ويضم 9257 مستخدمًا. أما الإصدارات الستة المتبقية، فهي مُصنّفة حسب الموقع الجغرافي لالتقاط الصورة، وتضم كل منها ما بين 11 و3,606 مستخدمين.
محاكاة عالية الأداء
على الرغم من أن زمن تشغيل محاكاة التعلم الآلي ليس معيارًا مناسبًا لتقييم الخوارزميات (نظرًا لأن أجهزة المحاكاة لا تُمثل بيئات نشر التعلم الآلي الحقيقية)، إلا أن القدرة على تشغيل محاكاة التعلم الآلي بسرعة أمر بالغ الأهمية لزيادة الإنتاجية البحثية. ولذلك، استثمرت TFF بكثافة في توفير بيئات تشغيل عالية الأداء على جهاز واحد أو عدة أجهزة. لا تزال الوثائق قيد التطوير، ولكن يمكنك حاليًا الاطلاع على تعليمات محاكاة TFF باستخدام المُسرّعات ، وتعليمات إعداد المحاكاة باستخدام TFF على منصة جوجل السحابية . بيئة تشغيل TFF عالية الأداء مُفعّلة افتراضيًا.
TFF لمجالات بحثية مختلفة
خوارزميات التحسين الموحد
يمكن إجراء البحوث حول خوارزميات التحسين الموحد بطرق مختلفة في TFF، اعتمادًا على مستوى التخصيص المطلوب.
يُقدَّم هنا تطبيقٌ بسيطٌ ومستقلٌّ لخوارزمية المتوسط الموحد . يتضمن الكود دوال TF للحسابات المحلية، وحسابات TFF للتنسيق، وبرنامج تشغيل على مجموعة بيانات EMNIST كمثال. يمكن تعديل هذه الملفات بسهولة لتطبيقات مخصصة وتغييرات خوارزمية باتباع التعليمات المفصلة في ملف README .
يمكن الاطلاع على تطبيق أكثر شمولاً لخوارزمية المتوسط الموحد هنا . يتيح هذا التطبيق استخدام تقنيات تحسين أكثر تطوراً، بما في ذلك استخدام مُحسِّنات مختلفة على كلٍّ من الخادم والعميل. كما يمكن الاطلاع على خوارزميات تعلم موحد أخرى، بما في ذلك التجميع الموحد باستخدام خوارزمية k-means، هنا .
ضغط تحديث النموذج
يمكن أن يؤدي الضغط الفاقد لتحديثات النموذج إلى تقليل تكاليف الاتصال، مما قد يؤدي بدوره إلى تقليل وقت التدريب الإجمالي.
للاطلاع على ورقة بحثية حديثة، يُرجى مراجعة هذا المشروع البحثي . ولتطبيق خوارزمية ضغط مخصصة، يُرجى مراجعة قسم comparison_methods في المشروع للاطلاع على الخطوط الأساسية كمثال، بالإضافة إلى دليل TFF Aggregators التعليمي إذا لم تكن على دراية به مسبقًا.
الخصوصية التفاضلية
يتوافق TFF مع مكتبة TensorFlow Privacy لتمكين البحث في خوارزميات جديدة للتدريب الموحد للنماذج مع الخصوصية التفاضلية. للاطلاع على مثال للتدريب باستخدام الخصوصية التفاضلية باستخدام خوارزمية DP-FedAvg الأساسية والإضافات ، راجع برنامج تشغيل التجربة هذا .
إذا كنت ترغب في تطبيق خوارزمية خصوصية تفاضلية مخصصة وتطبيقها على التحديثات المجمعة للمتوسط الموحد، يمكنك تطبيق خوارزمية متوسط خصوصية تفاضلية جديدة كفئة فرعية من tensorflow_privacy.DPQuery وإنشاء tff.aggregators.DifferentiallyPrivateFactory باستخدام نسخة من استعلامك. يمكنك الاطلاع على مثال لتطبيق خوارزمية DP-FTRL هنا.
تُعد شبكات GAN الموحدة (الموصوفة أدناه ) مثالًا آخر على مشروع TFF الذي ينفذ الخصوصية التفاضلية على مستوى المستخدم (على سبيل المثال، هنا في الكود ).
المتانة والهجمات
يمكن أيضًا استخدام TFF لمحاكاة الهجمات الموجهة على أنظمة التعلم الموحد والدفاعات القائمة على الخصوصية التفاضلية، والتي تم تناولها في بحث "هل يمكنك حقًا اختراق التعلم الموحد؟" . يتم ذلك من خلال إنشاء عملية تكرارية مع عملاء قد يكونون خبيثين (انظر build_federated_averaging_process_attacked ). يحتوي دليل targeted_attack على مزيد من التفاصيل.
- يمكن تنفيذ خوارزميات الهجوم الجديدة عن طريق كتابة دالة تحديث العميل وهي دالة Tensorflow، انظر
ClientProjectBoostللحصول على مثال. - يمكن تطبيق دفاعات جديدة عن طريق تخصيص 'tff.utils.StatefulAggregateFn' الذي يجمع مخرجات العميل للحصول على تحديث عالمي.
للاطلاع على مثال لبرنامج محاكاة، انظر emnist_with_targeted_attack.py .
الشبكات التوليدية التنافسية
تُشكّل الشبكات التوليدية الخصومية (GANs) نمطًا مثيرًا للاهتمام للتنسيق الموحد ، يختلف قليلًا عن المتوسط الموحد القياسي. فهي تتضمن شبكتين منفصلتين (المولد والمميز)، يتم تدريب كل منهما بخطوة تحسين خاصة بها.
يمكن استخدام 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.
ثمة نهج آخر يتمثل في تجنب تدريب نموذج شامل بالكامل من خلال تدريب جزء منه محليًا. يُشرح تطبيق هذا النهج في هذه المدونة . ويرتبط هذا النهج أيضًا بالتعلم الفائق، انظر هذه الورقة البحثية .