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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ตัวจัดตารางเวลางาน

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

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

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

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

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

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

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

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

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

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

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

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

โฮสต์บริการ

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

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

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

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

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

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

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

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

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

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

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

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

Spanner

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

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

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

Google Cloud Storage

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

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

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

ข้อมูลที่จัดเก็บใน GCS มีดังนี้

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

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

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

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