সাহায্য Kaggle উপর TensorFlow সঙ্গে গ্রেট বেরিয়ার রিফ রক্ষা চ্যালেঞ্জ যোগদান

ফেডারেটড লার্নিং রিসার্চের জন্য টিএফএফ ব্যবহার করা

ওভারভিউ

TFF বাস্তবসম্মত প্রক্সি ডেটাসেটের উপর ফেডারেটেড কম্পিউটেশন অনুকরণ করে ফেডারেটেড লার্নিং (FL) গবেষণা পরিচালনা করার জন্য একটি এক্সটেনসিবল, শক্তিশালী কাঠামো। এই পৃষ্ঠাটি প্রধান ধারণা এবং উপাদানগুলি বর্ণনা করে যা গবেষণা সিমুলেশনের জন্য প্রাসঙ্গিক, সেইসাথে TFF-তে বিভিন্ন ধরণের গবেষণা পরিচালনার জন্য বিশদ নির্দেশিকা।

TFF-এ গবেষণা কোডের সাধারণ কাঠামো

TFF এ বাস্তবায়িত একটি গবেষণা FL সিমুলেশন সাধারণত তিনটি প্রধান ধরনের যুক্তি নিয়ে গঠিত।

  1. TensorFlow কোডের স্বতন্ত্র টুকরা, সাধারণত tf.function গুলি, যে encapsulate যুক্তিবিজ্ঞান একটি একক অবস্থানে রান (যেমন, ক্লায়েন্ট বা সার্ভার তে) খুলুন। এই কোড সাধারণত লেখা হয় এবং পরীক্ষিত কোনো ছাড়া tff.* রেফারেন্স, এবং পুনরায় ব্যবহার করা TFF বাইরে হতে পারে। উদাহরণস্বরূপ, ফেডারেটেড গড় ক্লায়েন্ট প্রশিক্ষণ লুপ এই পর্যায়ে বাস্তবায়িত হয়।

  2. TensorFlow ফেডারেটেড অর্কেস্ট্রারচনা যুক্তি, যা বেঁধে একসঙ্গে পৃথক tf.function তাদের মোড়কে 1. থেকে গুলি tff.tf_computation s এবং তারপর মত বিমূর্ত ব্যবহার করে সেগুলি পরিকল্পনার tff.federated_broadcast এবং tff.federated_mean একটি ভিতরে tff.federated_computation । উদাহরণস্বরূপ দেখুন, এই ফেডারেটেড গড় জন্য অর্কেস্ট্রারচনা

  3. একটি আউটার ড্রাইভার স্ক্রিপ্ট যা একটি প্রোডাকশন এফএল সিস্টেমের কন্ট্রোল লজিককে অনুকরণ করে, একটি ডেটাসেট থেকে সিমুলেটেড ক্লায়েন্ট নির্বাচন করে এবং তারপর সেই ক্লায়েন্টগুলিতে 2. এ সংজ্ঞায়িত ফেডারেটেড গণনাগুলি কার্যকর করে। উদাহরণস্বরূপ, একটি ফেডারেটেড EMNIST পরীক্ষা চালক

ফেডারেটেড লার্নিং ডেটাসেট

TensorFlow ফেডারেট হোস্ট একাধিক ডেটাসেট যে বাস্তব বিশ্বের সমস্যার বৈশিষ্ট্য ফেডারেট লার্নিং সঙ্গে সমাধান করা যেতে পারে প্রতিনিধি।

ডেটাসেট অন্তর্ভুক্ত:

  • Stackoverflow। প্রশিক্ষণ সেটে 135,818,730টি উদাহরণ (বাক্য) সহ 342,477 জন অনন্য ব্যবহারকারী সহ ভাষা মডেলিং বা তত্ত্বাবধান করা শেখার কাজের জন্য একটি বাস্তবসম্মত পাঠ্য ডেটাসেট।

  • ফেডারেটেড EMNIST। EMNIST ক্যারেক্টার এবং ডিজিট ডেটাসেটের একটি ফেডারেটেড প্রাক-প্রসেসিং, যেখানে প্রতিটি ক্লায়েন্ট একটি ভিন্ন লেখকের সাথে মিলে যায়। সম্পূর্ণ ট্রেন সেটটিতে 62টি লেবেল থেকে 671,585টি উদাহরণ সহ 3400 জন ব্যবহারকারী রয়েছে।

  • শেক্সপীয়ার। উইলিয়াম শেক্সপিয়ারের সম্পূর্ণ কাজের উপর ভিত্তি করে একটি ছোট চার-স্তরের পাঠ্য ডেটাসেট। ডেটা সেটটিতে 715 জন ব্যবহারকারী রয়েছে (শেক্সপিয়ারের নাটকের চরিত্র), যেখানে প্রতিটি উদাহরণ একটি প্রদত্ত নাটকের চরিত্রের দ্বারা উচ্চারিত লাইনের সংলগ্ন সেটের সাথে মিলে যায়।

  • CIFAR-100। 500 প্রশিক্ষণ ক্লায়েন্ট এবং 100 পরীক্ষামূলক ক্লায়েন্ট জুড়ে CIFAR-100 ডেটাসেটের একটি ফেডারেটেড পার্টিশনিং। প্রতিটি ক্লায়েন্ট 100 অনন্য উদাহরণ আছে. ক্লায়েন্টদের মধ্যে আরও বাস্তবসম্মত ভিন্নতা তৈরি করার জন্য পার্টিশন করা হয়। অধিক বিবরণের জন্য, দেখুন এপিআই

  • গুগল ল্যান্ডমার্ক v2 ডেটা সেটটি ডেটা সেটটি ফটোগ্রাফার দ্বারা দলবদ্ধ ডেটার একটি ফেডারেট পার্টিশন অর্জন করা ইমেজ সঙ্গে, বিভিন্ন বিশ্বের দর্শনীয় স্থান ফটো নিয়ে গঠিত। ডেটাসেটের দুটি স্বাদ পাওয়া যায়: 233টি ক্লায়েন্ট এবং 23080টি ছবি সহ একটি ছোট ডেটাসেট এবং 1262টি ক্লায়েন্ট এবং 164172টি ছবি সহ একটি বড় ডেটাসেট৷

  • CelebA কীর্তি মুখমন্ডল উদাহরণ (ছবির এবং মুখের বৈশিষ্ট্যাবলী) একটি ডেটা সেটটি। ফেডারেটেড ডেটাসেটে প্রতিটি সেলিব্রিটির উদাহরণ একত্রিত করে ক্লায়েন্ট গঠন করা হয়েছে। 9343 জন ক্লায়েন্ট রয়েছে, যার প্রত্যেকটিতে কমপক্ষে 5টি উদাহরণ রয়েছে। ডেটাসেটকে ক্লায়েন্ট বা উদাহরণ দ্বারা ট্রেন এবং পরীক্ষা গ্রুপে বিভক্ত করা যেতে পারে।

  • iNaturalist একটি ডেটাসেটের বিভিন্ন প্রজাতির ফটো নিয়ে গঠিত। ডেটাসেটে 1,203 প্রজাতির জন্য 120,300টি ছবি রয়েছে। ডেটাসেটের সাতটি স্বাদ পাওয়া যায়। তাদের মধ্যে একটি ফটোগ্রাফার দ্বারা গোষ্ঠীভুক্ত এবং এটি 9257 ক্লায়েন্ট নিয়ে গঠিত। বাকি ডেটাসেটগুলি জিও অবস্থান অনুসারে গোষ্ঠীভুক্ত করা হয়েছে যেখানে ছবিটি তোলা হয়েছিল৷ ডেটাসেটের এই ছয়টি স্বাদে 11 - 3,606 ক্লায়েন্ট রয়েছে।

উচ্চ কর্মক্ষমতা সিমুলেশন

সময় একটি এফএল সিমুলেশন প্রাচীরের-ঘড়ির সময় আলগোরিদিম মূল্যায়নের (যেমন সিমুলেশন হার্ডওয়্যার বাস্তব এফএল স্থাপনার পরিবেশের প্রতিনিধি নয়) জন্য একটি প্রাসঙ্গিক মেট্রিক, চালানোর জন্য এফএল সিমিউলেশন দ্রুত গবেষণা উৎপাদনশীলতা সঙ্কটপূর্ণ সক্ষম হচ্ছে না। তাই, TFF উচ্চ-পারফরম্যান্স একক এবং মাল্টি-মেশিন রানটাইম প্রদানে প্রচুর বিনিয়োগ করেছে। নথিপত্র বিকাশ চলছে, কিন্তু এখন দেখতে জন্য TFF সঙ্গে উচ্চ ক্ষমতা সম্পন্ন সিমিউলেশন টিউটোরিয়াল, নির্দেশাবলী ত্বরক সঙ্গে TFF সিমিউলেশন উপর, এবং নির্দেশাবলী GCP উপর TFF সঙ্গে সিমিউলেশন স্থাপনের । উচ্চ-কর্মক্ষমতা TFF রানটাইম ডিফল্টরূপে সক্রিয় করা হয়।

বিভিন্ন গবেষণা এলাকার জন্য TFF

ফেডারেটেড অপ্টিমাইজেশান অ্যালগরিদম

কাস্টমাইজেশনের পছন্দসই স্তরের উপর নির্ভর করে ফেডারেটেড অপ্টিমাইজেশন অ্যালগরিদমগুলির উপর গবেষণা টিএফএফ-এ বিভিন্ন উপায়ে করা যেতে পারে।

একটি সংক্ষিপ্ত অনুষঙ্গহীন বাস্তবায়ন ফেডারেটেড গড় অ্যালগরিদম প্রদান করা হয় এখানে । কোড অন্তর্ভুক্ত রয়েছে এমন মেমরি ফাংশন স্থানীয় গণনার জন্য, TFF কম্পিউটেশন অর্কেস্ট্রারচনা জন্য, এবং একটি চালক স্ক্রিপ্ট একটি উদাহরণ হিসাবে EMNIST ডেটা সেটটি উপর। এই ফাইলগুলি সহজেই কাস্টমাইজড applciations এবং বিস্তারিত নির্দেশনা অনুসরণ আলগোরিদিমিক পরিবর্তনের জন্য অভিযোজিত করা যাবে README

ফেডারেটেড গড় একটি আরো সাধারণ বাস্তবায়ন খুঁজে পাওয়া যেতে পারে এখানে । এই বাস্তবায়নটি আরও পরিশীলিত অপ্টিমাইজেশন কৌশলগুলির জন্য অনুমতি দেয়, যার মধ্যে শেখার হার নির্ধারণ এবং সার্ভার এবং ক্লায়েন্ট উভয় ক্ষেত্রেই বিভিন্ন অপ্টিমাইজারের ব্যবহার অন্তর্ভুক্ত। কোড এটি বিভিন্ন কাজের এবং ফেডারেট ডেটাসেট এই সাধারণ ফেডারেটেড গড় প্রযোজ্য খুঁজে পাওয়া যেতে পারে এখানে

মডেল এবং আপডেট কম্প্রেশন

TFF ব্যবহার tensor_encoding সার্ভার এবং গ্রাহকদের মধ্যে communicatation খরচ কমানোর লজি কম্প্রেশন আলগোরিদিম সক্ষম করতে API- টি। সার্ভার-থেকে-ক্লায়েন্ট এবং ক্লায়েন্ট-থেকে-সার্ভার সঙ্গে প্রশিক্ষণ এর একটি উদাহরণ হিসাবে কম্প্রেশন ফেডারেটেড গড় ব্যবহার অ্যালগরিদম দেখুন এই গবেষণা

একটি কাস্টম কম্প্রেশন অ্যালগরিদম বাস্তবায়ন করতে এবং এটি প্রশিক্ষণ লুপে প্রয়োগ করতে, আপনি করতে পারেন:

  1. একটি উপশ্রেণী হিসাবে একটি নতুন কম্প্রেশন অ্যালগরিদম বাস্তবায়ন EncodingStageInterface বা তার আরও সাধারণ বৈকল্পিক, AdaptiveEncodingStageInterface নিম্নলিখিত এই উদাহরণে
  2. আপনার নতুন আঁকো Encoder এবং এটি জন্য বিশেষজ্ঞ মডেল সম্প্রচারের বা মডেল আপডেট গড়
  3. সমগ্র গড়ে তুলতে যারা বস্তুর ব্যবহার করুন প্রশিক্ষণ গণনার

ডিফারেনশিয়াল গোপনীয়তা

TFF সাথে অন্তর্চালিত হয় TensorFlow গোপনীয়তা ডিফারেনশিয়াল গোপনীয়তা মডেলের ফেডারেট প্রশিক্ষণের জন্য নতুন আলগোরিদিম গবেষণা সক্ষম করতে গ্রন্থাগার। ব্যবহার ডিপি সঙ্গে প্রশিক্ষণ একটি উদাহরণ মৌলিক ডিপি-FedAvg অ্যালগরিদম এবং এক্সটেনশন দেখুন এই গবেষণা চালক

আপনি একটি কাস্টম ডিপি অ্যালগরিদম বাস্তবায়ন এবং ফেডারেট গড় সমষ্টিগত আপডেট করার জন্য এটি প্রয়োগ করতে চান, তাহলে আপনি একটি উপশ্রেণী হিসাবে একটি নতুন ডিপি গড় অ্যালগরিদম বাস্তবায়ন করতে পারে tensorflow_privacy.DPQuery এবং একটি তৈরি tff.aggregators.DifferentiallyPrivateFactory আপনার প্রশ্নের একটি দৃষ্টান্ত দিয়ে। বাস্তবায়নের একটি উদাহরণ ডিপি-FTRL অ্যালগরিদম খুঁজে পাওয়া যেতে পারে এখানে

ফেডারেটেড Gans (বর্ণনা নিচে ) একটি TFF প্রকল্পের (যেমন, ব্যবহারকারী লেভেলের ডিফারেনশিয়াল গোপনীয়তা বাস্তবায়নে আরেকটি উদাহরণ কোডে এখানে )।

দৃঢ়তা এবং আক্রমণ

TFF এছাড়াও ফেডারেট লার্নিং সিস্টেম এবং ডিফারেনশিয়াল গোপনীয়তা ভিত্তিক সুরক্ষা টার্গেট করা হামলায় বিবেচিত ভান ব্যবহার করা যেতে পারে আপনি কি সত্যিই খিড়কি ফেডারেটেড শিক্ষণ? . এই সম্ভাব্য ক্ষতিকারক ক্লায়েন্টদের সাথে একটি প্রক্রিয়া পুনরাবৃত্ত নির্মাণের দ্বারা সম্পন্ন করা হয় (দেখুন build_federated_averaging_process_attacked )। Targeted_attack ডিরেক্টরির আরো বিস্তারিত জানার রয়েছে।

  • নিউ আক্রমনাত্মক আলগোরিদিম একটি ক্লায়েন্ট আপডেট ফাংশন একটি Tensorflow ফাংশন যা লেখার মাধ্যমে বাস্তবায়ন করা যেতে পারে, দেখতে ClientProjectBoost উদাহরণের জন্য।
  • নিউ সুরক্ষা কাস্টমাইজ দ্বারা প্রয়োগ করা যাবে 'tff.utils.StatefulAggregateFn' যা ক্লায়েন্ট আউটপুট একত্রিত করে একটি বিশ্বব্যাপী আপডেট পেতে।

সিমুলেশন জন্য একটি উদাহরণ স্ক্রিপ্টের জন্য, দেখুন emnist_with_targeted_attack.py

জেনারেটিভ অ্যাডভারসারিয়াল নেটওয়ার্ক

Gans একটি আকর্ষণীয় করে তুলতে ফেডারেট অর্কেস্ট্রারচনা প্যাটার্ন যে আদর্শ ফেডারেটেড গড় চেয়ে একটু ভিন্ন মনে হচ্ছে। তারা দুটি স্বতন্ত্র নেটওয়ার্ক (জেনারেটর এবং বৈষম্যকারী) জড়িত প্রতিটি তাদের নিজস্ব অপ্টিমাইজেশান ধাপে প্রশিক্ষিত।

GAN-এর ফেডারেটেড প্রশিক্ষণের উপর গবেষণার জন্য TFF ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, ডিপি-FedAvg-GAN উপস্থাপন অ্যালগরিদম সাম্প্রতিক কাজ করা হয় TFF বাস্তবায়িত । এই কাজটি ফেডারেট শিক্ষা, সৃজক মডেল, এবং মিশ্রন কার্যকারিতা প্রমান ডিফারেনশিয়াল গোপনীয়তা

ব্যক্তিগতকরণ

ফেডারেটেড শেখার সেটিংয়ে ব্যক্তিগতকরণ একটি সক্রিয় গবেষণা ক্ষেত্র। ব্যক্তিগতকরণের লক্ষ্য হল বিভিন্ন ব্যবহারকারীদের বিভিন্ন অনুমান মডেল প্রদান করা। এই সমস্যার সম্ভাব্য বিভিন্ন পন্থা আছে.

একটি পদ্ধতি হল প্রতিটি ক্লায়েন্টকে তাদের স্থানীয় ডেটার সাথে একটি একক গ্লোবাল মডেল (ফেডারেটেড লার্নিং ব্যবহার করে প্রশিক্ষিত) ফাইন-টিউন করতে দেওয়া। এই পদ্ধতির মেটা-লার্নিং, দেখুন, যেমন, এর সংযোগ আছে এই কাগজ । এই পদ্ধতির একটি উদাহরণ দেওয়া হয় emnist_p13n_main.py । বিভিন্ন ব্যক্তিগতকরণ কৌশল অন্বেষণ এবং তুলনা করতে, আপনি করতে পারেন:

  • একটি প্রয়োগ করে একটি ব্যক্তিগতকরণ কৌশল নির্ধারণ tf.function যে ইনিশিয়াল মডেল, ট্রেন থেকে শুরু এবং প্রতিটি ক্লায়েন্টের স্থানীয় ডেটাসেট ব্যবহার করে একটি ব্যক্তিগতকৃত মডেল মূল্যায়ন করে। একটি উদাহরণ দেওয়া হয় build_personalize_fn

  • একটি নির্ধারণ OrderedDict সংশ্লিষ্ট ব্যক্তিগতকরণ কৌশল কৌশল নাম মানচিত্র, এবং হিসাবে এটি ব্যবহার personalize_fn_dict মধ্যে যুক্তি tff.learning.build_personalization_eval

আরেকটি পদ্ধতি হল সম্পূর্ণরূপে স্থানীয়ভাবে একটি মডেলের অংশ প্রশিক্ষণের মাধ্যমে একটি সম্পূর্ণ বৈশ্বিক মডেলের প্রশিক্ষণ এড়ানো। এই পদ্ধতির একটি ইনস্ট্যান্স বর্ণনা করা হয় এই ব্লগ পোস্টে । এই পদ্ধতির এছাড়াও মেটা শেখার সাথে সংযুক্ত করা হয় দেখতে, এই কাগজ । আংশিকভাবে স্থানীয় ফেডারেটেড লার্নিং অন্বেষণ করতে, আপনি করতে পারেন:

  • পরীক্ষা করে দেখুন টিউটোরিয়াল ফেডারেটেড রিকনস্ট্রাকশন এন্ড আবেদন সম্পূর্ণ কোড উদাহরণস্বরূপ ফলো-আপ ব্যায়াম

  • একটি আংশিকভাবে স্থানীয় প্রশিক্ষণ প্রক্রিয়া ব্যবহার করে তৈরি করুন tff.learning.reconstruction.build_training_process , পরিবর্তন dataset_split_fn কাস্টমাইজ প্রক্রিয়া আচরণের।