Remote Data Science แนวคิดใหม่ที่ OpenMined นำเสนอ

Jan 17 2023
ค้นหาสิ่งที่ฉันได้เรียนรู้ระหว่างโปรแกรม Padawan ที่ OpenMined! ฉันยินดีที่ได้รับเลือกให้เข้าร่วมโปรแกรม Padawan ที่ OpenMined ด้าน Privacy Enhancing Technology (PETs) โปรแกรมนี้ประกอบด้วยชั้นเรียนแบบตัวต่อตัวกับที่ปรึกษาซึ่งจะสอนคุณเกี่ยวกับกรอบงาน โดยอธิบายรายละเอียดวิธีการทำงาน

ค้นหาสิ่งที่ฉันได้เรียนรู้ระหว่างโปรแกรม Padawan ที่ OpenMined!

ฉันยินดีที่ได้รับเลือกให้เข้าร่วมโปรแกรม Padawan ที่ OpenMined ด้าน Privacy Enhancing Technology (PETs) โปรแกรมนี้ประกอบด้วยชั้นเรียนแบบตัวต่อตัวกับที่ปรึกษาซึ่งจะสอนคุณเกี่ยวกับกรอบงาน โดยอธิบายรายละเอียดวิธีการทำงาน ในบล็อกนี้ฉันพยายามสรุปสิ่งที่ฉันได้เรียนรู้

OpenMined คืออะไร?

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

OpenMinedเป็นชุมชนโอเพ่นซอร์สที่เน้นการค้นคว้า พัฒนา และยกระดับเครื่องมือเพื่อความปลอดภัยและการรักษาความเป็นส่วนตัว

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

เหตุใดสิ่งนี้จึงมีประโยชน์

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

เทคโนโลยีเพิ่มความเป็นส่วนตัว (PETs)

เทคโนโลยีมากมายมีอยู่ในกองเทคโนโลยีนี้:

  • การเข้ารหัสแบบโฮโมมอร์ฟิก:รูปแบบของการเข้ารหัสที่ช่วยให้สามารถคำนวณข้อมูลที่เข้ารหัสได้โดยไม่ต้องถอดรหัสก่อน
  • Zero-knowledge Proof:ในวิธีนี้ ผู้พิสูจน์สามารถพิสูจน์ให้อีกฝ่ายเห็นว่าข้อความนั้นเป็นความจริงโดยไม่ต้องให้ข้อมูลใดๆ
  • การคำนวณแบบหลายฝ่ายที่ปลอดภัย:ในขณะที่รักษาอินพุตให้เป็นส่วนตัว ให้คำนวณฟังก์ชันเหนืออินพุตเหล่านั้น
  • ความเป็นส่วนตัวที่แตกต่าง:แบ่งปันข้อมูลสู่สาธารณะโดยไม่เปิดเผยว่าข้อมูลของแต่ละคนเป็นส่วนหนึ่งของชุดข้อมูลหรือไม่
  • การเรียนรู้แบบรวมศูนย์:ฝึกโมเดลแมชชีนเลิร์นนิงทั่วทั้งโหนดแบบกระจาย โดยที่แต่ละโหนดมีชุดข้อมูลส่วนตัว

Syftเป็นเฟรมเวิร์กโอเพ่นซอร์สที่พัฒนาโดย OpenMined ซึ่งพยายามจัดหา Data Science ที่ปลอดภัยและเป็นส่วนตัวใน Python มีวัตถุประสงค์เพื่อใช้เทคนิคต่างๆ เช่น Federated Learning, Differential Privacy และ Encrypted Computation บนข้อมูลโดยผสานรวมกับ Deep Learning frameworks

Syft กับกริด

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

ความเป็นส่วนตัวที่แตกต่างทำงานใน Syft อย่างไร

Syft มีการพิจารณาวิชาต่างๆ:

  1. Data Subject: บุคคลที่แสดงในข้อมูล ซึ่งข้อมูลที่เราต้องการปกป้อง
  2. เจ้าของข้อมูล: ผู้อัปโหลดข้อมูล
  3. Data Scientist: ผู้ที่เข้าถึงข้อมูล

Syft ให้ DP ใน 3 ระดับ:

  1. Adversarial Differential Privacy: 3 บทบาทที่เกี่ยวข้อง: ในกรณีนี้คือ Data Subjects, Data Owner และ Data Scientist โดยที่ Data Scientist สามารถค้นหาได้ก็ต่อเมื่อมีงบประมาณด้านความเป็นส่วนตัวเพียงพอ
  2. ความเป็นส่วนตัวที่แตกต่างส่วนบุคคล: ผลลัพธ์ของอัลกอริทึมไม่ได้ขึ้นอยู่กับค่าสำหรับแต่ละบุคคล งบประมาณความเป็นส่วนตัวถูกติดตามในระดับของเจ้าของข้อมูลแต่ละราย
  3. Automatic Differential Privacy: เมื่อมีงบประมาณด้านความเป็นส่วนตัวเพียงพอ คุณจะได้รับผลลัพธ์โดยไม่ต้องปิดกั้นหรือรอการยอมรับจากเจ้าของข้อมูล

สถาปัตยกรรม Syft ถูกสร้างขึ้นอย่างไร?

ส่วนประกอบหลายส่วนผสานรวมสถาปัตยกรรมนี้เพื่อรับประกันวัตถุประสงค์หลักของเฟรมเวิร์ก

มันวิ่งไปที่ไหน? สามารถรันบนโฮสต์คอนเทนเนอร์ที่รองรับเช่นDockerหรือKubernetes

โดเมน

โดเมนคือชุดของคอนเทนเนอร์และโค้ดที่ห่อหุ้มข้อมูลส่วนตัวและจัดเตรียม API ที่อนุญาตให้ดำเนินการด้านวิทยาศาสตร์ข้อมูลระยะไกลในฐานะไคลเอ็นต์

Grid Server ทำงานในโดเมนเซิร์ฟเวอร์โหนด

เครือข่าย

เครือข่ายคือการให้โดเมนต่างๆสื่อสารกัน อยู่ในระดับ VPN

ลูกค้า

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

ข้อความ

คอนเทนเนอร์ที่เรียกว่าพร็อกซีเรียกใช้ระบบที่เรียกว่าtraefikซึ่งเรากำหนดเส้นทาง HTTP โปรโตคอลข้อความขึ้นอยู่กับ RPC

ซิงค์และบล็อกข้อความ: ขึ้นอยู่กับว่าเราต้องการทำอะไร เราสามารถใช้การส่งข้อความแบบซิงก์หรืออะซิงก์ ตัวอย่างเช่น การดำเนินการส่วนใหญ่เป็นแบบ async และถูกส่ง ไปยังปลายทางสตรีม ( คิว RabbitMQ ) และใช้งานโดยพนักงานCelery

พื้นที่จัดเก็บ

ออบเจ็กต์ชั่วคราวถูกจัดเก็บไว้ในRedisและอ็อบเจ็กต์หน่วยเก็บข้อมูลถาวรถูกจัดเก็บไว้ในPostgres

เนื่องจากวัตถุทั้งหมดใน `syft` มี UUID ข้อมูลส่วนใหญ่จึงถูกจัดเก็บไว้ในที่เก็บ `key` / `value` ซึ่งเป็นคีย์ของ UUID ฐานข้อมูลนี้กำลังถูกย้ายไปยัง MongoDB ซึ่งเป็นฐานข้อมูลแบบเอกสาร

เมื่อข้อมูลถูกถ่ายโอนระหว่างระบบ ข้อมูลนั้นจะต้องถูกทำให้เป็นอนุกรมใน blob (Binary Large Object)

แบ็กเอนด์

แบ็กเอนด์และแบ็กเอนด์_สตรีมมีหน้าที่รับข้อความซิงโครนัสและอะซิงโครนัสตามลำดับ

ส่วนหน้า

เป็น UI เพื่อโต้ตอบกับโดเมนและจัดการผู้ใช้และชุดข้อมูล

[ภาพจากPadaway Course ]

ฉันจะเปิดตัวได้อย่างไร

  1. ติดตั้ง syft ด้วย python (เวอร์ชันล่าสุดในขณะนี้):
  2. pip install syft==0.7.0b57
    

    pip install hagrid
    

    hagrid launch xyz - tag=latest
    

บทสรุป

ยังมีสิ่งที่ต้องทำอีกมากภายในระบบนิเวศของ syft เพื่อนำไปใช้ในกรณีศึกษาจริง เครื่องมือนี้ให้คำมั่นสัญญาถึงความก้าวหน้าอย่างมากในด้าน Data Science ทำให้สามารถแบ่งปันข้อมูลระหว่างองค์กรต่างๆ โดยคำนึงถึงการรับประกันความเป็นส่วนตัว ฉันรู้สึกตื่นเต้นมากที่ได้เห็นว่าเครื่องมือนี้มีวิวัฒนาการอย่างไรในอนาคต และช่วยให้อุตสาหกรรมที่เกี่ยวข้อง เช่น การดูแลสุขภาพสร้างแบบจำลองที่แม่นยำยิ่งขึ้นเพื่อเร่งการคาดการณ์ความเจ็บป่วย

คุณต้องการเรียนหลักสูตรนี้หรือไม่? เปิดรับสมัครแล้ว !https://blog.openmined.org/work-on-ais-most-exciting-frontier-no-phd-required/