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

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

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

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

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

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

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

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

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

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

উপাদানের বিবরণ

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

অ্যান্ড্রয়েডের জন্য প্রাইভেসি স্যান্ডবক্সের ফেডারেটেড কম্পিউট সার্ভারের উপাদানগুলি দেখানো চিত্র।

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

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

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

কার্য ব্যবস্থাপনা

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

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

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

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

একটি ANSI SQL-সম্মত ডাটাবেস যা টাস্ক, ইটারেশন এবং অ্যাসাইনমেন্ট তথ্য সংরক্ষণ করে। এই বাস্তবায়নে, Google Cloud Spanner কে অন্তর্নিহিত ডাটাবেস পরিষেবা হিসেবে ব্যবহার করা হয়।

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

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

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

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

অ্যাগ্রিগেটর পরিষেবা

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

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

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

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

পরিষেবা হোস্ট

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

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

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

একটি পরিষেবা ইউনিটে, কম্পিউট রিসোর্সটি দেখতে এরকম দেখাচ্ছে:

অ্যান্ড্রয়েডের জন্য প্রাইভেসি স্যান্ডবক্সের পরিষেবা ইউনিট টপোলজি দেখানো চিত্র।

স্কেলেবিলিটি

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

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

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

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

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

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

স্প্যানার

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

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

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

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

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

নকশায় তিনটি GCS উদাহরণ রয়েছে:

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

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

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

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

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

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