অন-ডিভাইস ব্যক্তিগতকরণ ফেডারেটেড কম্পিউট সার্ভার

ফেডারেটেড কম্পিউট (এফসি) সার্ভার হল অন-ডিভাইস পার্সোনালাইজেশন (ODP) দ্বারা অফার করা ফেডারেটেড লার্নিংয়ের অংশ। এই নথির উদ্দেশ্য হল ফেডারেটেড কম্পিউট সার্ভার (এফসি সার্ভার), এর উপাদান এবং ব্যবহৃত প্রযুক্তির পরিচয় দেওয়া। নথিটি আর্কিটেকচারের একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে এবং তারপরে প্রতিটি উপাদানে বিস্তারিতভাবে ডুব দেয়। এটি একটি ফেডারেটেড শেখার পরিবেশ প্রদানের জন্য উপাদানগুলি কীভাবে একসাথে কাজ করে তা নিয়েও আলোচনা করে এবং কাজের লোডগুলিকে স্কেলিং এবং শার্ড করার কৌশলগুলি অফার করে৷

প্রশিক্ষণ প্রবাহ

প্রশিক্ষণ এফসি ক্লায়েন্ট এবং এফসি সার্ভারের মধ্যে ডেটা প্রবাহ নিয়ে গঠিত। এফসি ক্লায়েন্ট হল একটি মূল অ্যান্ড্রয়েড মডিউল যা ডিভাইসে এমএল মডেলকে প্রশিক্ষণ দেয় এবং এফসি সার্ভারের সাথে ইন্টারঅ্যাক্ট করে। FC সার্ভার একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্টে (TEE) নিরাপদে FC ক্লায়েন্ট থেকে ফলাফলগুলি প্রক্রিয়া করে এবং একত্রিত করে।

প্রশিক্ষণ নিম্নলিখিত পদক্ষেপ নিয়ে গঠিত:

ফ্লো চার্ট যা Android এর জন্য গোপনীয়তা স্যান্ডবক্সে একটি ফেডারেটেড কম্পিউট ক্লায়েন্ট এবং সার্ভারের মধ্যে প্রশিক্ষণের প্রবাহ দেখায়।
  1. ডিভাইসে থাকা FC ক্লায়েন্ট কী পরিষেবাগুলি থেকে একটি পাবলিক এনক্রিপশন কী ডাউনলোড করে।
  2. FC ক্লায়েন্ট FC সার্ভারের সাথে চেক ইন করে এবং একটি প্রশিক্ষণের কাজ পায়।
  3. FC ক্লায়েন্ট একটি প্রশিক্ষণ পরিকল্পনা ডাউনলোড করে এবং মডেলটির সর্বশেষ সংস্করণ, সংস্করণ N।
  4. FC ক্লায়েন্ট স্থানীয় ডেটা এবং প্ল্যান ব্যবহার করে ট্রেনিং করে।
  5. FC ক্লায়েন্ট এই ডিভাইসের অবদানগুলিকে ধাপ 0 এ প্রাপ্ত সর্বজনীন কী দিয়ে এনক্রিপ্ট করে এবং FC সার্ভারে আপলোড করে।
  6. FC ক্লায়েন্ট FC সার্ভারকে জানায় যে তার প্রশিক্ষণ শেষ হয়েছে।
  7. পর্যাপ্ত ক্লায়েন্টরা তাদের অবদান জমা না দেওয়া পর্যন্ত FC সার্ভার অপেক্ষা করে।
  8. একত্রিতকরণ একটি রাউন্ড ট্রিগার করা হয়.
  9. এনক্রিপ্ট করা অবদান এগ্রিগেটর দ্বারা একটি বিশ্বস্ত এক্সিকিউশন এনভায়রনমেন্ট (TEE) এ লোড করা হয়।
  10. সমন্বয়কারীর কাছে NIST-এর RFC 9334 রিমোট অ্যাটেস্টেশন পদ্ধতিএস (RATS) আর্কিটেকচার অনুসরণ করে অ্যাগ্রিগেটর নিজেই প্রমাণ করে। সফল প্রত্যয়নের পরে, কী পরিষেবাগুলি এটিকে ডিক্রিপশন কীগুলি প্রদান করে৷ শামির গোপন শেয়ারিং স্কিমে এই কীগুলি একাধিক কী প্রদানকারীর মধ্যে বিভক্ত হতে পারে।
  11. অ্যাগ্রিগেটর যথাযথ ডিফারেনশিয়াল প্রাইভেসি (DP) প্রক্রিয়া অনুযায়ী ক্রস-ডিভাইস অ্যাগ্রিগেশন, ক্লিপ এবং নয়েজ করে এবং গোলমালের ফলাফল বের করে।
  12. অ্যাগ্রিগেটর মডেল আপডেটারকে ট্রিগার করে।
  13. মডেল আপডেটার একত্রিত অবদান লোড করে এবং মডেল সংস্করণ N + 1 তৈরি করতে মডেল সংস্করণ N এ প্রয়োগ করে। নতুন মডেলটিকে মডেল স্টোরেজে পুশ করা হয়।

FC সার্ভার যেকোন ক্লাউড পরিষেবা(গুলি)তে স্থাপন করা যেতে পারে যা TEE এবং সম্পর্কিত নিরাপত্তা বৈশিষ্ট্য সমর্থন করে। আমরা পাবলিক ক্লাউড প্রদানকারী এবং অন্তর্নিহিত প্রযুক্তির মূল্যায়ন করছি, কিন্তু আপাতত নিম্নলিখিত বিভাগটি গোপনীয় স্থান ব্যবহার করে একটি Google ক্লাউড উদাহরণ বাস্তবায়ন উপস্থাপন করে।

উচ্চ-স্তরের স্থাপত্য

FC সার্ভারে Google ক্লাউডে নিম্নলিখিত উপাদানগুলি স্থাপন করা হয়েছে:

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

উপাদান বিবরণ

নিম্নলিখিত বিভাগগুলি উচ্চ-স্তরের আর্কিটেকচারকে আরও বিশদ বিবরণে প্রসারিত করে:

ডায়াগ্রাম যা Android এর জন্য গোপনীয়তা স্যান্ডবক্সের ফেডারেটেড কম্পিউট সার্ভারের উপাদানগুলি দেখায়৷

টাস্ক ম্যানেজমেন্ট সার্ভিস

ডায়াগ্রাম যা Android এর জন্য গোপনীয়তা স্যান্ডবক্সের টাস্ক ম্যানেজমেন্ট পরিষেবার টপোলজি দেখায়।

টাস্ক ম্যানেজমেন্ট সার্ভিসে দুটি সাব কম্পোনেন্ট রয়েছে: টাস্ক ম্যানেজমেন্ট ওয়েব সার্ভিস এবং টাস্ক শিডিউলার সার্ভিস, উভয়ই GKE- তে স্থাপন করা হয়েছে।

টাস্ক ম্যানেজমেন্ট

এটি ফ্রন্টএন্ড ওয়েব পরিষেবাগুলির একটি সেট যা HTTPS অনুরোধগুলি গ্রহণ করে এবং টাস্ক ডেটাবেস থেকে কাজগুলি তৈরি করে বা পায়৷

টাস্ক শিডিউলার

একটি ব্যাকগ্রাউন্ড পরিষেবা যা ক্রমাগত টাস্ক ডেটাবেস স্ক্যান করে। এটি প্রশিক্ষণ প্রবাহ পরিচালনা করে, উদাহরণস্বরূপ নতুন প্রশিক্ষণ রাউন্ড এবং পুনরাবৃত্তি তৈরি করা।

টাস্ক ডাটাবেস

একটি ANSI SQL-সঙ্গতিপূর্ণ ডাটাবেস যা টাস্ক, পুনরাবৃত্তি এবং অ্যাসাইনমেন্ট তথ্য সংরক্ষণ করে। এই বাস্তবায়নে, Google ক্লাউড স্প্যানার অন্তর্নিহিত ডাটাবেস পরিষেবা হিসাবে ব্যবহৃত হয়।

টাস্ক অ্যাসাইনমেন্ট পরিষেবা

ডায়াগ্রাম যা Android এর জন্য গোপনীয়তা স্যান্ডবক্সের টাস্ক অ্যাসাইনমেন্ট পরিষেবার টপোলজি দেখায়।

টাস্ক অ্যাসাইনমেন্ট সার্ভিস হল একটি ফ্রন্টএন্ড ওয়েব পরিষেবা যা GKE- তে হোস্ট করা হয়। এটি FC ক্লায়েন্টদের কাছ থেকে অনুরোধ গ্রহণ করে এবং প্রযোজ্য হলে প্রশিক্ষণের কাজগুলি বিতরণ করে।

এখানে টাস্ক ডাটাবেস টাস্ক ম্যানেজমেন্ট সার্ভিসের টাস্ক ডাটাবেসের মতো একই ডাটাবেস উদাহরণ।

এগ্রিগেটর সার্ভিস

ডায়াগ্রাম যা Android-এর জন্য গোপনীয়তা স্যান্ডবক্সের অ্যাগ্রিগেটর পরিষেবার টপোলজি দেখায়।
অ্যাগ্রিগেটর এবং মডেল আপডেটার

অ্যাগ্রিগেটর এবং মডেল আপডেটার একই রকম। এগুলি হল ব্যাকগ্রাউন্ড পরিষেবা যা গোপনীয় স্থানে নিরাপদে ডেটা প্রক্রিয়া করে৷ অফলাইন কাজের মধ্যে যোগাযোগ PubSub এর মাধ্যমে।

গ্রেডিয়েন্ট, সমষ্টিগত গ্রেডিয়েন্ট, মডেল এবং পরিকল্পনা
  • ক্লায়েন্ট ডিভাইসের জন্য একটি গ্রেডিয়েন্ট স্টোরেজ আপলোড করা (এনক্রিপ্ট করা) গ্রেডিয়েন্ট।
  • একত্রিত, ক্লিপ করা এবং শব্দযুক্ত গ্রেডিয়েন্টের জন্য একটি সমষ্টিগত গ্রেডিয়েন্ট স্টোরেজ।
  • প্রশিক্ষণ পরিকল্পনা, মডেল এবং ওজনের জন্য একটি মডেল এবং পরিকল্পনা স্টোরেজ।
কালেক্টর

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

সেবা হোস্ট

সংবেদনশীল তথ্যে অ্যাক্সেস নেই এমন সমস্ত পরিষেবা GKE- তে হোস্ট করা হয়।

সংবেদনশীল তথ্য স্পর্শ করতে পারে এমন সমস্ত পরিষেবা গোপনীয় স্থানে হোস্ট করা হয়৷

সমস্ত সংবেদনশীল ডেটা একাধিক পক্ষের মালিকানাধীন কী পরিষেবা দ্বারা পরিচালিত এনক্রিপশন কীগুলির সাথে এনক্রিপ্ট করা হয়৷ শুধুমাত্র সফলভাবে প্রত্যয়িত, ODP-রচিত ওপেন সোর্স কোড গোপনীয় স্থানের বৈধ, গোপনীয় কম্পিউটিং সক্ষম সংস্করণে চলমান ডিক্রিপশন কীগুলি অ্যাক্সেস করতে পারে।

একটি পরিষেবা ইউনিটে, গণনা সংস্থানটি এইরকম দেখায়:

ডায়াগ্রাম যা Android এর জন্য গোপনীয়তা স্যান্ডবক্সের পরিষেবা ইউনিট টপোলজি দেখায়।

পরিমাপযোগ্যতা

পূর্বে বর্ণিত অবকাঠামো একটি পরিষেবা ইউনিটের উপর দৃষ্টি নিবদ্ধ করে।

একটি পরিষেবা ইউনিট একটি ক্লাউড স্প্যানার ব্যবহার করে। উল্লেখযোগ্য সীমাবদ্ধতার জন্য স্প্যানার কোটা এবং সীমা দেখুন।

এই স্থাপত্যের প্রতিটি উপাদান স্বাধীনভাবে মাপানো যেতে পারে। এটি গোপনীয় স্থানের মধ্যে বা GKE ক্লাস্টারের মধ্যে স্ট্যান্ডার্ড স্কেলিং প্রক্রিয়া ব্যবহার করে ক্ষমতা স্কেলিং করে করা হয়। কার্যকরভাবে, প্রক্রিয়াকরণ ক্ষমতা আরও উদাহরণ যোগ করে বাড়ানো যেতে পারে:

  • টাস্ক অ্যাসাইনমেন্ট ওয়েব সার্ভিস
  • টাস্ক ম্যানেজমেন্ট ওয়েব পরিষেবা
  • এগ্রিগেটর ইনস্ট্যান্স
  • মডেল আপডেটার উদাহরণ

স্থিতিস্থাপকতা

একটি FC সার্ভারের স্থিতিস্থাপকতা প্রতিলিপিকৃত স্টোরেজ ব্যবহার করে দুর্যোগ পুনরুদ্ধারের দ্বারা পরিচালিত হয়। আপনি যদি দুর্যোগ পুনরুদ্ধারে আগ্রহী হন, আপনার ক্রস-অঞ্চল ডেটা প্রতিলিপি সক্ষম করা উচিত। এটি নিশ্চিত করবে যে যদি কোনো দুর্যোগ ঘটে (যেমন কোনো আবহাওয়ার ঘটনা কোনো ডেটা সেন্টারে ব্যাঘাত ঘটায়), তাহলে প্রশিক্ষণের শেষ রাউন্ড থেকে পরিষেবাটি আবার চালু হবে।

স্প্যানার

এফসি সার্ভারের ডিফল্ট বাস্তবায়ন ডাটাবেস হিসাবে Google ক্লাউড স্প্যানার ব্যবহার করে টাস্ক স্ট্যাটাস সংরক্ষণ করতে যা প্রশিক্ষণ প্রবাহ নিয়ন্ত্রণ করতে ব্যবহৃত হয়। একাধিক অঞ্চল কনফিগারেশন নির্বাচন করার আগে আপনার ব্যবসার চাহিদা অনুযায়ী ধারাবাহিকতা এবং প্রাপ্যতার মধ্যে ট্রেডঅফ মূল্যায়ন করা উচিত।

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

স্প্যানার পরিবর্তনের ইতিহাস রেকর্ড করে। অ্যাগ্রিগেটর এবং মডেল আপডেটার প্রতি প্রশিক্ষণ রাউন্ডের ডেটা সংরক্ষণ করে এবং প্রতিটি রাউন্ডের ফলাফল একে অপরকে ওভাররাইট না করে আলাদাভাবে সংরক্ষণ করা হয়। এর কারণে, বিপর্যয় ঘটলে প্রশিক্ষণের শেষ রাউন্ড থেকে পরিষেবাটি পুনরায় চালু করা যেতে পারে।

গুগল ক্লাউড স্টোরেজ

FC সার্ভারের ডিফল্ট বাস্তবায়ন Google ক্লাউড স্টোরেজ ব্যবহার করে ব্লব ডেটা যেমন মডেল, প্রশিক্ষণ পরিকল্পনা এবং এনক্রিপ্ট করা ডিভাইস অবদান সংরক্ষণ করতে।

ডিজাইনে তিনটি জিসিএস উদাহরণ রয়েছে:

  • ডিভাইস অবদান: ডিভাইস থেকে আপলোড করা এনক্রিপ্ট করা ডিভাইস অবদান।
  • মডেল: প্রশিক্ষণ পরিকল্পনা, মডেল এবং তাদের ওজন।
  • এগ্রিগেটেড গ্রেডিয়েন্ট: অ্যাগ্রিগেটর দ্বারা উত্পাদিত সমষ্টি গ্রেডিয়েন্ট।

GCS-এ সংরক্ষিত ডেটা হয়:

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

আপনার সামঞ্জস্য এবং প্রাপ্যতার মধ্যে ট্রেডঅফগুলি মূল্যায়ন করা উচিত এবং সঠিক GCS ডেটা উপলব্ধতা এবং স্থায়িত্ব বৈশিষ্ট্যগুলি নির্বাচন করা উচিত৷ আপনার নিজের ডেটা ধারণ নীতি নির্দিষ্ট করা উচিত।

প্রতিলিপি এবং ব্যাকআপ

Google ক্লাউড দ্বারা প্রদত্ত ডেটা প্রতিলিপি প্রক্রিয়া ছাড়াও, আপনি স্প্যানার এবং GCS-এ ডেটার ব্যাকআপ নেওয়ার জন্যও বেছে নিতে পারেন। উদাহরণস্বরূপ, আপনি ক্রস-ক্লাউড প্রতিলিপি পরিষেবা এবং অফারগুলি ব্যবহার করতে পারেন। ODP একটি নমুনা প্রদান করে না কারণ এই কনফিগারেশনগুলি অত্যন্ত ব্যবসার প্রয়োজনের উপর নির্ভরশীল। বর্তমান নকশাটি এই ধরনের প্রতিলিপি এবং ব্যাকআপের জন্য বিকাশকারীদের সম্ভাব্য চাহিদা বিবেচনা করে। ফলস্বরূপ, এটি তৃতীয় পক্ষের প্রদত্ত প্রতিলিপি এবং ব্যাকআপ পরিষেবা এবং পণ্যগুলির সাথে সামঞ্জস্যপূর্ণ।