พื้นฐาน AI

อะไรคือ Federated Learning?

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

อะไรคือ Federated Learning?

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

ในระบบ Federated Learning อุปกรณ์ต่างๆ ที่เป็นส่วนหนึ่งของเครือข่ายการเรียนรู้จะมีคัดลอกโมเดลบนอุปกรณ์แต่ละเครื่อง อุปกรณ์ต่างๆ /クライเอ็นต์ฝึกอบรมคัดลอกโมเดลของตนเองโดยใช้ข้อมูลท้องถิ่นของクライเอ็นต์ จากนั้นพารามิเตอร์/น้ำหนักจากโมเดลแต่ละตัวจะถูกส่งไปยังอุปกรณ์หลัก หรือเซิร์ฟเวอร์ ที่รวมพารามิเตอร์และอัปเดตโมเดลระดับโลก การฝึกอบรมนี้สามารถทำซ้ำจนกว่าจะได้ระดับความแม่นยำที่ต้องการ ในสั้นๆ ความคิดเบื้องหลัง Federated Learning คือไม่มีข้อมูลฝึกอบรมที่ส่งระหว่างอุปกรณ์หรือระหว่างฝ่ายต่างๆ เพียงแค่อัปเดตที่เกี่ยวข้องกับโมเดลเท่านั้น

Federated Learning สามารถแบ่งออกเป็นสามขั้นตอนหรือระยะต่างๆ Federated Learning มักจะเริ่มต้นด้วยโมเดลทั่วไปที่ทำหน้าที่เป็นบรรทัดฐานและฝึกอบรมบนเซิร์ฟเวอร์กลาง ในขั้นตอนแรก โมเดลทั่วไปนี้จะถูกส่งไปยังクライเอ็นต์ของแอปพลิเคชัน คัดลอกท้องถิ่นเหล่านี้จะถูกฝึกอบรมบนข้อมูลที่สร้างโดยระบบクライเอ็นต์ การเรียนรู้และปรับปรุงประสิทธิภาพของตนเอง

ในขั้นตอนที่สอง クライเอ็นต์ทั้งหมดจะส่งพารามิเตอร์โมเดลที่ได้เรียนรู้ไปยังเซิร์ฟเวอร์กลาง ซึ่งเกิดขึ้นเป็นระยะๆ ตามกำหนดเวลา

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

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

ตัวอย่างของโมเดล Federated Learning รวมถึงเครื่องมือแนะนำ การตรวจจับฉ้อโกง และโมเดลทางการแพทย์ เครื่องมือแนะนำ เช่น ตัวที่ใช้โดย Netflix (NFLX ) หรือ Amazon (AMZN ) สามารถฝึกอบรมบนข้อมูลที่รวบรวมจากผู้ใช้หลายพันคน อุปกรณ์クライเอ็นต์จะฝึกอบรมโมเดลที่แยกจากกัน และโมเดลกลางจะเรียนรู้ที่จะทำการคาดเดาที่ดีขึ้น แม้ว่าจุดข้อมูลแต่ละจุดจะไม่เหมือนกันสำหรับผู้ใช้แต่ละคนก็ตาม ในทำนองเดียวกัน โมเดลการตรวจจับฉ้อโกงที่ใช้โดยธนาคารสามารถฝึกอบรมบนรูปแบบของกิจกรรมจากอุปกรณ์ต่างๆ ที่แตกต่างกัน และธนาคารหลายแห่งสามารถร่วมมือกันฝึกอบรมโมเดลที่ใช้ร่วมกัน ในด้านโมเดล Federated Learning ทางการแพทย์ โรงพยาบาลหลายแห่งสามารถร่วมมือกันฝึกอบรมโมเดลที่ใช้ร่วมกันซึ่งสามารถระบุเนื้องอกที่อาจเกิดขึ้นผ่านการสแกนภาพทางการแพทย์

ประเภทของ Federated Learning

การวางแผน Federated Learning โดยทั่วไปจะแบ่งออกเป็นสองประเภทหลัก ระบบหลายฝ่ายและระบบฝ่ายเดียว ระบบ Federated Learning แบบฝ่ายเดียวเรียกว่า “ฝ่ายเดียว” เนื่องจากมีหน่วยงานเดียวที่รับผิดชอบในการดูแลการเก็บและการไหลของข้อมูลทั่วทั้งอุปกรณ์クライเอ็นต์ในเครือข่ายการเรียนรู้ โมเดลที่มีอยู่บนอุปกรณ์クライเอ็นต์จะถูกฝึกอบรมบนข้อมูลที่มีโครงสร้างเดียวกัน แม้ว่าจุดข้อมูลจะไม่เหมือนกันสำหรับผู้ใช้และอุปกรณ์ต่างๆ ก็ตาม

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

เฟรมเวิร์กสำหรับ Federated Learning

เฟรมเวิร์กที่ได้รับความนิยมในการใช้สำหรับ Federated Learning รวมถึง Tensorflow Federated, Federated AI Technology Enabler (FATE) และ PySyft PySyft เป็นไลบรารี Federated Learning แบบเปิดที่สร้างขึ้นจากไลบรารีการเรียนรู้ลึก PyTorch PySyft มีจุดมุ่งหมายเพื่อให้แน่ใจว่าการเรียนรู้ลึกที่ปลอดภัยและเป็นส่วนตัวระหว่างเซิร์ฟเวอร์และเอเจนต์โดยใช้การคำนวณที่เข้ารหัส ในขณะที่ Tensorflow Federated เป็นเฟรมเวิร์กแบบเปิดที่สร้างขึ้นจากแพลตฟอร์ม Tensorflow ของ Google (GOOGL ) นอกจากการทำให้ผู้ใช้สามารถสร้างอัลกอริทึม Federated Learning ของตนเองแล้ว Tensorflow Federated ยังช่วยให้ผู้ใช้สามารถจำลองอัลกอริทึม Federated Learning ที่รวมไว้บนโมเดลและข้อมูลของตนเองได้ สุดท้าย FATE เป็นเฟรมเวิร์กแบบเปิดที่ออกแบบโดย Webank AI และมีจุดมุ่งหมายเพื่อให้ระบบนิเวศ Federated AI มีเฟรมเวิร์กการคำนวณที่ปลอดภัย

ความท้าทายของ Federated Learning

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

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

การระบุฉลากและการมาตรฐานข้อมูลเป็นความท้าทายอีกอย่างหนึ่งที่ระบบ Federated Learning ต้อง克服 โมเดลการเรียนรู้แบบมีคำแนะนำต้องการข้อมูลฝึกอบรมที่มีการระบุฉลากและสม่ำเสมอ ซึ่งอาจเป็นเรื่องยากที่จะทำได้บนอุปกรณ์クライเอ็นต์หลายตัวที่เป็นส่วนหนึ่งของระบบ ด้วยเหตุนี้จึงจำเป็นต้องพัฒนาโมเดลข้อมูลที่ใช้การระบุฉลากอัตโนมัติในลักษณะที่เป็นมาตรฐานตามเหตุการณ์และการกระทำของผู้ใช้

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

ภาพ: Jeromemetronome via Wikimedia Commons, CC By S.A. 4.0 (https://en.wikipedia.org/wiki/File:Federated_learning_process_central_case.png)

นักบล็อกและโปรแกรมเมอร์ที่มีความเชี่ยวชาญใน Machine Learning และ Deep Learning หัวข้อ Daniel หวังที่จะช่วยให้ผู้อื่นใช้พลังของ AI สำหรับสิ่งที่ดี