เซิร์ฟเวอร์ Compute แบบรวมศูนย์สําหรับการปรับเปลี่ยนอุปกรณ์ในแบบของคุณ

เซิร์ฟเวอร์ Federated Compute (FC) เป็นส่วนหนึ่งของการเรียนรู้แบบรวมศูนย์ที่การปรับเปลี่ยนในอุปกรณ์ตามโปรไฟล์ของผู้ใช้ (ODP) นำเสนอ เอกสารนี้มีจุดประสงค์เพื่อแนะนำ Federated Compute Server (FC Server) คอมโพเนนต์ และเทคโนโลยีที่ใช้ เอกสารนี้จะให้ภาพรวมระดับสูงของสถาปัตยกรรม จากนั้นจะเจาะลึกรายละเอียดของแต่ละคอมโพเนนต์ นอกจากนี้ ยังอธิบายถึงวิธีที่คอมโพเนนต์ทำงานร่วมกันเพื่อมอบสภาพแวดล้อมการเรียนรู้แบบรวมศูนย์ รวมถึงนำเสนอกลยุทธ์ในการปรับขนาดและแบ่งพาร์ติชันเวิร์กโหลด

ขั้นตอนการฝึก

การฝึกประกอบด้วยการไหลของข้อมูลระหว่างไคลเอ็นต์ FC กับเซิร์ฟเวอร์ FC ไคลเอ็นต์ FC เป็นโมดูลหลักของ Android ที่ฝึกโมเดล ML ในอุปกรณ์และโต้ตอบกับเซิร์ฟเวอร์ FC เซิร์ฟเวอร์ FC จะประมวลผลและรวบรวมผลลัพธ์จากไคลเอ็นต์ FC อย่างปลอดภัยในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE)

การฝึกประกอบด้วยขั้นตอนต่อไปนี้

โฟลว์ชาร์ตที่แสดงโฟลว์การฝึกระหว่างไคลเอ็นต์การคำนวณแบบรวมศูนย์กับเซิร์ฟเวอร์ใน Privacy Sandbox สำหรับ Android
  1. ไคลเอ็นต์ FC ในอุปกรณ์จะดาวน์โหลดคีย์การเข้ารหัสสาธารณะจากบริการคีย์
  2. ไคลเอ็นต์ FC จะเช็คอินกับเซิร์ฟเวอร์ FC และรับงานการฝึก
  3. ไคลเอ็นต์ FC จะดาวน์โหลดแผนการฝึก รวมถึงโมเดลเวอร์ชันล่าสุด ซึ่งก็คือเวอร์ชัน N
  4. ไคลเอ็นต์ FC จะฝึกโดยใช้ข้อมูลและแผนในเครื่อง
  5. ไคลเอ็นต์ FC จะเข้ารหัสข้อมูลที่อุปกรณ์นี้ส่งมาด้วยคีย์สาธารณะที่ได้รับในขั้นตอนที่ 0 และอัปโหลดไปยังเซิร์ฟเวอร์ FC
  6. ไคลเอ็นต์ FC จะแจ้งให้เซิร์ฟเวอร์ FC ทราบว่าการฝึกเสร็จสมบูรณ์แล้ว
  7. เซิร์ฟเวอร์ FC จะรอจนกว่าไคลเอ็นต์จะส่งข้อมูลมากพอ
  8. ระบบจะทริกเกอร์รอบการรวม
  9. ผู้รวบรวมจะโหลดข้อมูลที่เข้ารหัสลงในสภาพแวดล้อมการดำเนินการที่เชื่อถือได้ (TEE)
  10. ผู้รวบรวมจะรับรองตนเองตามสถาปัตยกรรมของกระบวนการรับรองระยะไกล (RATS) ของ RFC 9334 ของ NIST ต่อผู้ประสานงาน เมื่อการรับรองสำเร็จแล้ว บริการจัดการคีย์จะให้คีย์ถอดรหัสแก่แอป คีย์เหล่านี้อาจแยกออกเป็นผู้ให้บริการคีย์หลายรายในรูปแบบการแชร์ข้อมูลลับของ Shamir
  11. Aggregator จะรวมข้อมูลข้ามอุปกรณ์ คลิป และสัญญาณรบกวนต่อกลไกความเป็นส่วนตัวเชิงแตกต่าง (DP) ที่เหมาะสม และแสดงผลลัพธ์ที่มีสัญญาณรบกวน
  12. Aggregator จะทริกเกอร์ Model Updater
  13. โปรแกรมอัปเดตโมเดลจะโหลดการสนับสนุนที่รวบรวมไว้และใช้กับการสนับสนุนดังกล่าวกับโมเดลเวอร์ชัน N เพื่อสร้างโมเดลเวอร์ชัน N + 1 ระบบจะพุชโมเดลใหม่ไปยังที่เก็บข้อมูลโมเดล

คุณสามารถติดตั้งใช้งาน FC Server ในบริการระบบคลาวด์ใดก็ได้ที่รองรับ TEE และฟีเจอร์ความปลอดภัยที่เกี่ยวข้อง เรากำลังประเมินผู้ให้บริการระบบคลาวด์สาธารณะและเทคโนโลยีพื้นฐาน แต่ในตอนนี้ ส่วนต่อไปนี้จะแสดงตัวอย่างการติดตั้งใช้งาน Google Cloud โดยใช้ Confidential Space

สถาปัตยกรรมระดับสูง

เซิร์ฟเวอร์ FC มีคอมโพเนนต์ต่อไปนี้ที่ติดตั้งใช้งานใน Google Cloud

แผนภาพที่แสดงสถาปัตยกรรมของเซิร์ฟเวอร์การประมวลผลแบบรวมของ Privacy Sandbox สำหรับ Android
คอมโพเนนต์ คำอธิบาย
บริการจัดการงาน บริการเว็บสำหรับจัดการงานการฝึก พาร์ทเนอร์ควรใช้ Task Management API เพื่อสร้างงานการฝึก แสดงรายการงานการฝึกที่มีอยู่ทั้งหมด ยกเลิกงาน และดึงสถานะการฝึกทั้งหมด
บริการมอบหมายงาน บริการเว็บที่ใช้ HTTPS ซึ่งอุปกรณ์ไคลเอ็นต์จะเช็คอินเป็นระยะๆ เพื่อรับงานการฝึกและรายงานสถานะการฝึก
ผู้รวบรวมข้อมูล บริการในเบื้องหลังที่ทำงานใน Confidential Space เรียกใช้ภาระงานที่เขียนโดย ODP โดยจะต้องรับรองต่อผู้ประสานงาน ซึ่งจะควบคุมการเข้าถึงคีย์การถอดรหัส มีเพียงผู้รวบรวมข้อมูลที่ได้รับการรับรองเรียบร้อยแล้วเท่านั้นที่จะถอดรหัสข้อมูลที่อุปกรณ์ไคลเอ็นต์ส่งมาและทำการรวบรวมข้อมูลข้ามอุปกรณ์ได้
โปรแกรมอัปเดตโมเดล บริการเบื้องหลังที่ทำงานในพื้นที่ลับซึ่งใช้การไล่ระดับสีที่รวบรวมไว้กับโมเดล

รายละเอียดคอมโพเนนต์

ส่วนต่อไปนี้จะขยายสถาปัตยกรรมระดับสูงให้มีรายละเอียดเพิ่มเติม

แผนภาพที่แสดงคอมโพเนนต์ของเซิร์ฟเวอร์การประมวลผลแบบรวมของ Privacy Sandbox สำหรับ Android

บริการจัดการงาน

แผนภาพที่แสดงโทโพโลยีของบริการการจัดการงานของ Privacy Sandbox สำหรับ Android

บริการจัดการงานมีคอมโพเนนต์ย่อย 2 รายการ ได้แก่ บริการเว็บจัดการงานและบริการตัวกำหนดเวลางาน ซึ่งทั้ง 2 รายการนี้ได้รับการติดตั้งใช้งานใน GKE

การจัดการงาน

ซึ่งเป็นชุดบริการบนเว็บส่วนหน้าที่จะรับคำขอ HTTPS และสร้างหรือรับงานจากฐานข้อมูลงาน

Task Scheduler

บริการเบื้องหลังที่สแกนฐานข้อมูลงานอย่างต่อเนื่อง โดยจะจัดการขั้นตอนการฝึก เช่น การสร้างรอบการฝึกและการทำซ้ำใหม่

ฐานข้อมูลงาน

ฐานข้อมูลที่สอดคล้องกับ ANSI SQL ซึ่งจัดเก็บข้อมูลงาน การทำซ้ำ และการมอบหมาย ในการติดตั้งใช้งานนี้ Google Cloud Spanner จะใช้เป็นบริการฐานข้อมูลพื้นฐาน

บริการมอบหมายงาน

แผนภาพที่แสดงโทโพโลยีของบริการกำหนดงานของ Privacy Sandbox สำหรับ Android

บริการกำหนดงานเป็นบริการเว็บส่วนหน้าซึ่งโฮสต์อยู่ใน GKE โดยจะรับคำขอจากไคลเอ็นต์ FC และกระจายงานการฝึกเมื่อเกี่ยวข้อง

ฐานข้อมูลงานที่นี่คืออินสแตนซ์ฐานข้อมูลเดียวกันกับฐานข้อมูลงานในบริการการจัดการงาน

บริการรวมข้อมูล

แผนภาพที่แสดงโทโพโลยีของบริการรวบรวมข้อมูลของ Privacy Sandbox สำหรับ Android
ผู้รวบรวมข้อมูลและโปรแกรมอัปเดตโมเดล

Aggregator และ Model Updater มีลักษณะคล้ายกัน ซึ่งเป็นบริการเบื้องหลังที่ประมวลผลข้อมูลอย่างปลอดภัยใน Confidential Space การสื่อสารระหว่างงานแบบออฟไลน์จะผ่าน PubSub

การไล่ระดับสี การไล่ระดับสีแบบรวม โมเดล และแผน
  • ที่เก็บข้อมูลแบบไล่ระดับสีสำหรับอัปโหลด (เข้ารหัส) การไล่ระดับสีของอุปกรณ์ไคลเอ็นต์
  • ที่เก็บข้อมูลการไล่ระดับสีแบบรวมสำหรับการไล่ระดับสีแบบรวม แบบตัด และแบบมีสัญญาณรบกวน
  • ที่เก็บโมเดลและแผนสำหรับแผนการฝึก โมเดล และน้ำหนัก
ผู้รวบรวม

ตัวรวบรวมเป็นบริการเบื้องหลังที่จะนับการส่งอุปกรณ์ไคลเอ็นต์เป็นระยะๆ ในระหว่างรอบการฝึก โดยจะแจ้งให้ผู้รวบรวมข้อมูลเริ่มการรวมเมื่อมีข้อมูลที่ส่งเพียงพอ

โฮสต์บริการ

บริการทั้งหมดที่ไม่มีสิทธิ์เข้าถึงข้อมูลที่ละเอียดอ่อนจะโฮสต์อยู่ใน GKE

บริการทั้งหมดที่อาจเข้าถึงข้อมูลที่ละเอียดอ่อนจะโฮสต์อยู่ใน Confidential Space

ข้อมูลที่ละเอียดอ่อนทั้งหมดจะได้รับการเข้ารหัสด้วยคีย์การเข้ารหัสที่จัดการโดยบริการจัดการคีย์ของบุคคลที่สาม เฉพาะโค้ดโอเพนซอร์สที่เขียนโดย ODP ซึ่งได้รับการรับรองเรียบร้อยแล้วและทำงานใน Confidential Space เวอร์ชันที่เปิดใช้การประมวลผลแบบเป็นความลับที่ถูกต้องเท่านั้นที่จะเข้าถึงคีย์การถอดรหัสได้

ในหน่วยบริการหนึ่ง หน่วยประมวลผลจะมีลักษณะดังนี้

แผนภาพที่แสดงโทโพโลยีหน่วยบริการของ Privacy Sandbox สำหรับ Android

ความสามารถในการปรับขนาด

โครงสร้างพื้นฐานที่อธิบายไว้ก่อนหน้านี้มุ่งเน้นที่หน่วยบริการเดียว

หน่วยบริการ 1 หน่วยใช้ Cloud Spanner 1 รายการ ดูข้อจำกัดที่สำคัญได้ที่โควต้าและขีดจำกัดของ Spanner

คอมโพเนนต์แต่ละรายการของสถาปัตยกรรมนี้สามารถปรับขนาดแยกกันได้ โดยทำได้ด้วยการปรับขนาดความจุภายใน Confidential Space หรือภายในคลัสเตอร์ GKE โดยใช้กลไกการปรับขนาดมาตรฐาน โดยคุณจะเพิ่มความสามารถในการประมวลผลได้ด้วยการเพิ่มอินสแตนซ์ของรายการต่อไปนี้

  • เว็บเซอร์วิสการมอบหมายงาน
  • บริการเว็บสำหรับการจัดการงาน
  • อินสแตนซ์ของผู้รวบรวมข้อมูล
  • อินสแตนซ์โปรแกรมอัปเดตโมเดล

ความยืดหยุ่น

ความยืดหยุ่นของเซิร์ฟเวอร์ FC จะได้รับการจัดการโดยการกู้คืนจากภัยพิบัติโดยใช้ที่เก็บข้อมูลที่จำลองแบบ หากสนใจการกู้คืนจากภัยพิบัติ คุณควรเปิดใช้การจำลองข้อมูลข้ามภูมิภาค ซึ่งจะช่วยให้มั่นใจได้ว่าหากเกิดภัยพิบัติ (เช่น เหตุการณ์ทางสภาพอากาศที่รบกวนศูนย์ข้อมูล) บริการจะกลับมาทำงานต่อจากการฝึกรอบล่าสุด

Spanner

การติดตั้งใช้งานเริ่มต้นของเซิร์ฟเวอร์ FC ใช้ Google Cloud Spanner เป็นฐานข้อมูลเพื่อจัดเก็บสถานะของงานที่ใช้ควบคุมขั้นตอนการฝึก คุณควรประเมินข้อดีข้อเสียระหว่างความสอดคล้องและความพร้อมใช้งานตามความต้องการทางธุรกิจก่อนเลือกการกำหนดค่าหลายภูมิภาค

ไม่มีการจัดเก็บข้อมูลผู้ใช้หรือข้อมูลที่ได้จากข้อมูลผู้ใช้ ไม่ว่าจะอยู่ในรูปแบบดิบหรือเข้ารหัสไว้ในอินสแตนซ์ Spanner ใดๆ คุณสามารถใช้ฟีเจอร์การกู้คืนจากภัยพิบัติที่ Spanner มีให้ได้

Spanner จะบันทึกประวัติการเปลี่ยนแปลง Aggregator และ Model Updater จะจัดเก็บข้อมูลต่อรอบการฝึก และผลลัพธ์ของแต่ละรอบจะจัดเก็บแยกกันโดยไม่เขียนทับกัน ด้วยเหตุนี้ บริการจึงสามารถกลับมาทำงานต่อจากรอบการฝึกครั้งล่าสุดได้ในกรณีที่เกิดภัยพิบัติ

Google Cloud Storage

การใช้งานเริ่มต้นของเซิร์ฟเวอร์ FC ใช้ Google Cloud Storage เพื่อจัดเก็บข้อมูล Blob เช่น โมเดล แผนการฝึก และข้อมูลที่เข้ารหัสที่อุปกรณ์ส่งมา

การออกแบบมีอินสแตนซ์ GCS 3 รายการ ดังนี้

  • การมีส่วนร่วมจากอุปกรณ์: การมีส่วนร่วมจากอุปกรณ์ที่เข้ารหัสซึ่งอัปโหลดจากอุปกรณ์
  • โมเดล: แผนการฝึก โมเดล และน้ำหนักของโมเดล
  • การไล่ระดับสีแบบรวม: การไล่ระดับสีแบบรวมที่สร้างขึ้นโดยตัวรวม

ข้อมูลที่จัดเก็บไว้ใน GCS จะเป็นอย่างใดอย่างหนึ่งต่อไปนี้

  • ข้อมูลที่นักพัฒนาแอปให้ เช่น แผนการฝึก หรือ
  • ข้อมูลที่อาจเป็นส่วนตัวเนื่องจากได้มาจากสัญญาณของผู้ใช้ (ได้รับการปกป้องด้วยการเข้ารหัสที่ได้รับการสนับสนุนจากหลายตัวประสานงาน) เช่น การไล่ระดับสีที่อัปโหลดจากอุปกรณ์และการไล่ระดับสีที่รวบรวม หรือ
  • ข้อมูลที่ไม่ใช่ข้อมูลส่วนตัวซึ่งได้จากสัญญาณของผู้ใช้ แต่หลังจากการใช้ Differential Privacy เช่น น้ำหนักของโมเดล

คุณควรประเมินข้อแลกเปลี่ยนระหว่างความสอดคล้องและความพร้อมใช้งาน แล้วเลือกฟีเจอร์ความพร้อมใช้งานและความคงทนของข้อมูล GCS ที่เหมาะสม คุณควรกำหนดนโยบายการเก็บรักษาข้อมูลของคุณเอง

การจำลองและการสำรองข้อมูล

นอกเหนือจากกลไกการจำลองข้อมูลที่ Google Cloud มีให้แล้ว คุณยังเลือกสำรองข้อมูลใน Spanner และ GCS เป็นระยะๆ ได้ด้วย เช่น คุณสามารถใช้บริการและการเสนอการจำลองแบบข้ามระบบคลาวด์ ODP ไม่ได้ให้ตัวอย่างเนื่องจากการกำหนดค่าเหล่านี้ขึ้นอยู่กับความต้องการทางธุรกิจเป็นอย่างมาก การออกแบบปัจจุบันพิจารณาถึงความต้องการที่อาจเกิดขึ้นของนักพัฒนาแอปสำหรับการจำลองและการสำรองข้อมูลดังกล่าว จึงใช้งานร่วมกับบริการและผลิตภัณฑ์การจำลองและการสำรองข้อมูลที่บุคคลที่สามจัดหาให้ได้