Remote Data Science แนวคิดใหม่ที่ OpenMined นำเสนอ
ค้นหาสิ่งที่ฉันได้เรียนรู้ระหว่างโปรแกรม 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 มีการพิจารณาวิชาต่างๆ:
- Data Subject: บุคคลที่แสดงในข้อมูล ซึ่งข้อมูลที่เราต้องการปกป้อง
- เจ้าของข้อมูล: ผู้อัปโหลดข้อมูล
- Data Scientist: ผู้ที่เข้าถึงข้อมูล
Syft ให้ DP ใน 3 ระดับ:
- Adversarial Differential Privacy: 3 บทบาทที่เกี่ยวข้อง: ในกรณีนี้คือ Data Subjects, Data Owner และ Data Scientist โดยที่ Data Scientist สามารถค้นหาได้ก็ต่อเมื่อมีงบประมาณด้านความเป็นส่วนตัวเพียงพอ
- ความเป็นส่วนตัวที่แตกต่างส่วนบุคคล: ผลลัพธ์ของอัลกอริทึมไม่ได้ขึ้นอยู่กับค่าสำหรับแต่ละบุคคล งบประมาณความเป็นส่วนตัวถูกติดตามในระดับของเจ้าของข้อมูลแต่ละราย
- 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 ]
ฉันจะเปิดตัวได้อย่างไร
- ติดตั้ง syft ด้วย python (เวอร์ชันล่าสุดในขณะนี้):
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/





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)