7 दिसंबर को महिला एमएल संगोष्ठी में भाग लें अभी पंजीकरण करें

फ़ेडरेटेड लर्निंग रिसर्च के लिए TFF का उपयोग करना

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

अवलोकन

TFF यथार्थवादी प्रॉक्सी डेटासेट पर फ़ेडरेटेड कंप्यूटेशंस का अनुकरण करके फ़ेडरेटेड लर्निंग (FL) अनुसंधान करने के लिए एक एक्स्टेंसिबल, शक्तिशाली ढांचा है। यह पृष्ठ मुख्य अवधारणाओं और घटकों का वर्णन करता है जो अनुसंधान सिमुलेशन के लिए प्रासंगिक हैं, साथ ही साथ TFF में विभिन्न प्रकार के शोध करने के लिए विस्तृत मार्गदर्शन भी करते हैं।

TFF में अनुसंधान कोड की विशिष्ट संरचना

TFF में कार्यान्वित एक शोध FL सिमुलेशन में आमतौर पर तीन मुख्य प्रकार के तर्क होते हैं।

  1. TensorFlow कोड के अलग-अलग टुकड़े, आमतौर पर tf.function s, जो एक ही स्थान पर चलने वाले तर्क को समाहित करता है (जैसे, क्लाइंट या सर्वर पर)। यह कोड आम तौर पर बिना किसी tff.* संदर्भों के लिखा और परीक्षण किया जाता है, और TFF के बाहर पुन: उपयोग किया जा सकता है। उदाहरण के लिए, फेडरेटेड एवरेजिंग में क्लाइंट ट्रेनिंग लूप इस स्तर पर लागू किया जाता है।

  2. TensorFlow फ़ेडरेटेड ऑर्केस्ट्रेशन लॉजिक, जो अलग-अलग tf.function s को 1 से बांधता है। उन्हें tff.tf_computation s के रूप में लपेटकर और फिर tff.federated_broadcast और tff.federated_mean जैसे tff.federated_computation के अंदर एब्स्ट्रैक्शन का उपयोग करके उन्हें ऑर्केस्ट्रेट करना। उदाहरण के लिए, फ़ेडरेटेड एवरेजिंग के लिए यह ऑर्केस्ट्रेशन देखें।

  3. एक बाहरी ड्राइवर स्क्रिप्ट जो उत्पादन FL सिस्टम के नियंत्रण तर्क का अनुकरण करती है, डेटासेट से सिम्युलेटेड क्लाइंट का चयन करती है और फिर उन क्लाइंट पर 2 में परिभाषित फ़ेडरेटेड कंप्यूटेशंस निष्पादित करती है। उदाहरण के लिए, एक फ़ेडरेटेड EMNIST प्रयोग ड्राइवर .

फ़ेडरेटेड लर्निंग डेटासेट

TensorFlow फ़ेडरेटेड कई डेटासेट होस्ट करता है जो वास्तविक दुनिया की समस्याओं की विशेषताओं के प्रतिनिधि हैं जिन्हें फ़ेडरेटेड लर्निंग के साथ हल किया जा सकता है।

डेटासेट में शामिल हैं:

  • स्टैक ओवरफ्लो प्रशिक्षण सेट में 135,818,730 उदाहरणों (वाक्य) के साथ 342,477 अद्वितीय उपयोगकर्ताओं के साथ भाषा मॉडलिंग या पर्यवेक्षित शिक्षण कार्यों के लिए एक यथार्थवादी टेक्स्ट डेटासेट।

  • संघीय EMNIST EMNIST कैरेक्टर और डिजिट डेटासेट का एक फ़ेडरेटेड प्री-प्रोसेसिंग, जहाँ प्रत्येक क्लाइंट एक अलग लेखक से मेल खाता है। पूरे ट्रेन सेट में 3400 उपयोगकर्ता हैं, जिनमें 62 लेबलों के 671,585 उदाहरण हैं।

  • शेक्सपियर . विलियम शेक्सपियर के संपूर्ण कार्यों पर आधारित एक छोटा चार-स्तरीय टेक्स्ट डेटासेट। डेटा सेट में 715 उपयोगकर्ता (शेक्सपियर नाटकों के पात्र) होते हैं, जहां प्रत्येक उदाहरण किसी दिए गए नाटक में चरित्र द्वारा बोली जाने वाली पंक्तियों के एक सन्निहित सेट से मेल खाता है।

  • सीआईएफएआर-100 500 प्रशिक्षण क्लाइंट और 100 परीक्षण क्लाइंट में CIFAR-100 डेटासेट का फ़ेडरेटेड विभाजन। प्रत्येक ग्राहक के पास 100 अद्वितीय उदाहरण हैं। ग्राहकों के बीच अधिक यथार्थवादी विषमता पैदा करने के लिए विभाजन किया जाता है। अधिक जानकारी के लिए, एपीआई देखें।

  • Google लैंडमार्क v2 डेटासेट डेटासेट में विभिन्न विश्व स्थलों की तस्वीरें होती हैं, जिसमें डेटा के फ़ेडरेटेड विभाजन को प्राप्त करने के लिए फ़ोटोग्राफ़र द्वारा समूहीकृत चित्र होते हैं। डेटासेट के दो फ्लेवर उपलब्ध हैं: 233 क्लाइंट और 23080 इमेज वाला एक छोटा डेटासेट, और 1262 क्लाइंट और 164172 इमेज वाला बड़ा डेटासेट।

  • CelebA सेलिब्रिटी चेहरों के उदाहरणों (छवि और चेहरे की विशेषताओं) का एक डेटासेट। फ़ेडरेटेड डेटासेट में क्लाइंट बनाने के लिए प्रत्येक सेलिब्रिटी के उदाहरण एक साथ समूहीकृत होते हैं। 9343 क्लाइंट हैं, जिनमें से प्रत्येक में कम से कम 5 उदाहरण हैं। डेटासेट को ग्राहकों या उदाहरणों द्वारा ट्रेन और परीक्षण समूहों में विभाजित किया जा सकता है।

  • iNaturalist एक डेटासेट में विभिन्न प्रजातियों की तस्वीरें होती हैं। डेटासेट में 1,203 प्रजातियों के लिए 120,300 चित्र हैं। डेटासेट के सात फ्लेवर उपलब्ध हैं। उनमें से एक को फोटोग्राफर द्वारा समूहीकृत किया जाता है और इसमें 9257 क्लाइंट होते हैं। शेष डेटासेट को उस भौगोलिक स्थान के आधार पर समूहीकृत किया जाता है जहां से फ़ोटो लिया गया था। डेटासेट के इन छह फ्लेवर में 11 - 3,606 क्लाइंट होते हैं।

उच्च प्रदर्शन सिमुलेशन

जबकि FL सिमुलेशन का वॉल-क्लॉक टाइम एल्गोरिदम के मूल्यांकन के लिए प्रासंगिक मीट्रिक नहीं है (क्योंकि सिमुलेशन हार्डवेयर वास्तविक FL परिनियोजन वातावरण का प्रतिनिधि नहीं है), FL सिमुलेशन को जल्दी से चलाने में सक्षम होना अनुसंधान उत्पादकता के लिए महत्वपूर्ण है। इसलिए, TFF ने उच्च-प्रदर्शन सिंगल और मल्टी-मशीन रनटाइम प्रदान करने में भारी निवेश किया है। प्रलेखन विकास के अधीन है, लेकिन अभी के लिए कुबेरनेट्स ट्यूटोरियल के साथ उच्च-प्रदर्शन सिमुलेशन , एक्सेलेरेटर के साथ टीएफएफ सिमुलेशन पर निर्देश और जीसीपी पर टीएफएफ के साथ सिमुलेशन स्थापित करने के निर्देश देखें। उच्च-प्रदर्शन TFF रनटाइम डिफ़ॉल्ट रूप से सक्षम होता है।

विभिन्न अनुसंधान क्षेत्रों के लिए TFF

फ़ेडरेटेड ऑप्टिमाइज़ेशन एल्गोरिदम

अनुकूलन के वांछित स्तर के आधार पर, TFF में फ़ेडरेटेड ऑप्टिमाइज़ेशन एल्गोरिदम पर अनुसंधान विभिन्न तरीकों से किया जा सकता है।

फ़ेडरेटेड एवरेजिंग एल्गोरिथम का एक न्यूनतम स्टैंड-अलोन कार्यान्वयन यहाँ दिया गया है । कोड में स्थानीय गणना के लिए TF फ़ंक्शन , ऑर्केस्ट्रेशन के लिए TFF संगणना , और उदाहरण के रूप में EMNIST डेटासेट पर एक ड्राइवर स्क्रिप्ट शामिल है। रीडमे में विस्तृत निर्देशों का पालन करते हुए इन फाइलों को आसानी से अनुकूलित प्रशंसाओं और एल्गोरिथम परिवर्तनों के लिए अनुकूलित किया जा सकता है।

फेडरेटेड एवरेजिंग का अधिक सामान्य कार्यान्वयन यहां पाया जा सकता है। यह कार्यान्वयन सर्वर और क्लाइंट दोनों पर विभिन्न अनुकूलकों के उपयोग सहित अधिक परिष्कृत अनुकूलन तकनीकों की अनुमति देता है। फ़ेडरेटेड k- साधन क्लस्टरिंग सहित अन्य फ़ेडरेटेड लर्निंग एल्गोरिदम, यहां पाए जा सकते हैं।

मॉडल अद्यतन संपीड़न

मॉडल अपडेट के हानिपूर्ण संपीड़न से संचार लागत कम हो सकती है, जिससे बदले में समग्र प्रशिक्षण समय कम हो सकता है।

हाल के एक पेपर को पुन: पेश करने के लिए, इस शोध परियोजना को देखें। कस्टम कंप्रेशन एल्गोरिथम को लागू करने के लिए, बेसलाइन के लिए प्रोजेक्ट में एक उदाहरण के रूप में तुलना_मेथड्स देखें, और यदि पहले से परिचित नहीं हैं तो टीएफएफ एग्रीगेटर्स ट्यूटोरियल देखें।

डिफरेंशियल प्राइवेसी

TFF अलग-अलग गोपनीयता वाले मॉडल के फ़ेडरेटेड प्रशिक्षण के लिए नए एल्गोरिदम में अनुसंधान को सक्षम करने के लिए TensorFlow गोपनीयता लाइब्रेरी के साथ इंटरऑपरेबल है। बुनियादी DP-FedAvg एल्गोरिथम और एक्सटेंशन का उपयोग करके DP के साथ प्रशिक्षण के उदाहरण के लिए, यह प्रयोग ड्राइवर देखें।

यदि आप एक कस्टम DP एल्गोरिथम लागू करना चाहते हैं और इसे फ़ेडरेटेड औसत के समग्र अपडेट पर लागू करना चाहते हैं, तो आप tensorflow_privacy.DPQuery के उपवर्ग के रूप में एक नया DP माध्य एल्गोरिथम लागू कर सकते हैं और एक 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 परिभाषित करें जो रणनीति के नामों को संबंधित वैयक्तिकरण रणनीतियों में मैप करता है, और इसे tff.learning.build_personalization_eval में personalize_fn_dict तर्क के रूप में उपयोग करता है।

एक अन्य दृष्टिकोण पूरी तरह से स्थानीय रूप से एक मॉडल के भाग को प्रशिक्षित करके पूरी तरह से वैश्विक मॉडल के प्रशिक्षण से बचना है। इस ब्लॉग पोस्ट में इस दृष्टिकोण का एक त्वरित वर्णन किया गया है। यह दृष्टिकोण मेटा लर्निंग से भी जुड़ा है, इस पेपर को देखें। आंशिक रूप से स्थानीय फ़ेडरेटेड लर्निंग को एक्सप्लोर करने के लिए, आप यह कर सकते हैं:

  • फ़ेडरेटेड पुनर्निर्माण और अनुवर्ती अभ्यासों को लागू करने वाले संपूर्ण कोड उदाहरण के लिए ट्यूटोरियल देखें।

  • tff.learning.reconstruction.build_training_process का उपयोग करके आंशिक रूप से स्थानीय प्रशिक्षण प्रक्रिया बनाएं, प्रक्रिया व्यवहार को अनुकूलित करने के लिए tff.learning.reconstruction.build_training_process को संशोधित dataset_split_fn