Federated Learning
يدرّب التعلّم الاتحادي نموذجًا واحدًا عبر أجهزة أو مؤسسات متعددة تحتفظ ببياناتها الخام محليًا، ولا تشارك مع الخادم سوى تحديثات النموذج.
التعلّم الاتحادي أسلوب لتدريب نموذج واحد من التعلّم الآلي عبر العديد من الأجهزة أو المؤسسات التي تحتفظ ببيانات التدريب في مكان جمعها. يرسل خادم تنسيقي النموذج الحالي إلى المشاركين، ويدرّبه كل مشارك على بياناته، ولا تعود إلى الخادم سوى تحديثات النموذج الناتجة لدمجها في نموذج مشترك أفضل. أطلق باحثو Google على هذا النهج اسمه في ورقتهم لعام 2016 التعلّم الفعّال في الاتصال للشبكات العميقة من البيانات اللامركزية، التي قدّمت خوارزمية المتوسط الاتحادي (FedAvg) للتدريب على بيانات تظل على الأجهزة المحمولة للمستخدمين. إن نقل النموذج إلى البيانات يتيح للهواتف والمستشفيات والبنوك التعلّم من معلومات تحول قواعد الخصوصية أو اللوائح، مثل اللائحة العامة لحماية البيانات (GDPR) في الاتحاد الأوروبي، أو ضخامة البيانات نفسها، دون جمعها في بحيرة بيانات واحدة.
آلية عمل التعلّم الاتحادي#
يجري التدريب على شكل جولات. يختار الخادم مجموعة من العملاء المتاحين ويرسل إليهم أوزان النموذج العامة. وينفذ كل عميل بضع حقب من الانحدار المتدرج على بياناته المحلية، ثم يعيد أوزانه المحدّثة. بعد ذلك يحسب FedAvg متوسط الأوزان المعادة، مانحًا كل عميل حصة تتناسب مع عدد أمثلة التدريب لديه، وتصبح النتيجة النموذج العام للجولة التالية. وقد أدى تنفيذ عدة خطوات محلية بين عمليات الاتصال إلى خفض عدد جولات الاتصال بمقدار يتراوح بين 10 و100 مرة مقارنةً بـالانحدار المتدرج العشوائي المتزامن في تجارب FedAvg. يحاكي هذا الرمز FedAvg لنموذج خطي لدى ثلاثة عملاء لديهم كميات مختلفة من البيانات:
import torch
torch.manual_seed(0)
true_w = torch.tensor([2.0, -3.0])
# Three clients with private datasets of different sizes; raw data never leaves a client
clients = []
for n in (50, 200, 500):
X = torch.randn(n, 2)
clients.append((X, X @ true_w + 0.1 * torch.randn(n)))
global_w = torch.zeros(2)
for r in range(1, 6):
weighted = []
for X, y in clients:
w = global_w.clone()
for _ in range(5): # local gradient descent steps on the client's own data
w -= 0.1 * 2 * X.T @ (X @ w - y) / len(y)
weighted.append(len(y) * w)
# FedAvg: average the client weights, weighted by each client's number of samples
global_w = sum(weighted) / sum(len(y) for _, y in clients)
print(f"round {r}: global weights {[round(v, 3) for v in global_w.tolist()]}")يطبع الأوزان العامة [1.354, -2.023] بعد الجولة 1، و[1.935, -2.898] بعد الجولة 3، و[1.995, -2.99] بعد الجولة 5، مقتربًا من القيم الحقيقية [2, -3]، مع أن الخادم لا يتلقى مطلقًا سوى أوزان كل عميل.
التعلّم الاتحادي عبر الأجهزة وعبر المؤسسات#
يجري التعلم الاتحادي ضمن إعدادين ذوي قيود مختلفة. يشمل التدريب عبر الأجهزة ملايين الهواتف أو المستشعرات، يحوي كل منها قدرًا قليلًا من البيانات، وكثيرًا ما يكون غير متصل أو يعمل بالبطارية؛ لذا لا تستخدم كل جولة سوى نسبة صغيرة منها، ويجب أن تتحمل انقطاع بعضها. وتدرّب لوحة مفاتيح Gboard من Google نماذج التنبؤ بالكلمة التالية بهذه الطريقة. أما التدريب عبر المؤسسات فيربط عددًا قليلًا من المؤسسات، مثل المستشفيات أو المصارف، يمتلك كل منها مجموعات بيانات كبيرة على خوادم موثوقة. وفي دراسة تجزئة الأورام الاتحادية، درّبت 71 مؤسسة من مؤسسات الرعاية الصحية في ست قارات نموذج تجزئة للورم الأرومي الدبقي على 25,256 صورة رنين مغناطيسي من 6,314 مريضًا من دون مشاركة الصور، وحدد النموذج الاتحادي الورم القابل للاستهداف جراحيًا بدقة أعلى بنسبة 33% من نموذج دُرّب على بيانات عامة. ويتوقف اختيار الإعداد المناسب على موقع البيانات:
تعمل الحلقة نفسها مع نماذج الرؤية: يمكن لكل مستشفى أو مصنع أو متجر تحميل أوزان YOLO26 العامة الحالية، وضبطها الدقيق على صوره الخاصة باستخدام وضع التدريب القياسي في Ultralytics YOLO، ثم إعادة الأوزان المحدّثة فقط ليحسب الخادم متوسطها. وتتولى أطر العمل مفتوحة المصدر، مثل Flower وNVIDIA FLARE، اختيار العملاء والاتصال والتجميع في كلا الإعدادين.
الخصوصية والأمان#
لا يكفي إبقاء البيانات محلية لجعل التدريب خاصًا، لأن تحديثات النموذج تحمل معلومات عن البيانات التي أنتجتها. أعادت هجمات عكس التدرج، مثل التسرّب العميق من التدرجات، إنشاء صور التدريب وتسمياتها من التدرجات المشتركة، وتختبر هجمات استدلال العضوية ما إذا كان سجل معين قد استُخدم. تضيف أنظمة الإنتاج وسيلتين للدفاع. إذ يشفر التجميع الآمن التحديثات بحيث لا يعرف الخادم سوى مجموعها، كما تقصّ الخصوصية التفاضلية كل تحديث وتضيف ضوضاء مضبوطة بحيث يتعذر استرداد مساهمة أي مستخدم بمفرده؛ وأفادت Google بأن جميع نماذج الشبكات العصبية اللغوية للتنبؤ بالكلمة التالية في Gboard، التي تدربها بالتعلّم الاتحادي، تتمتع الآن بضمانات الخصوصية التفاضلية. ويجب على الخادم أيضًا الحماية من العملاء الذين يرسلون تحديثات مسمومة، وذلك باستخدام قواعد تجميع متينة، مثل الوسيط على مستوى الإحداثيات، للحد من تأثير أي عميل بمفرده. وقد يؤدي اختلاف بيانات العملاء اختلافًا كبيرًا بين المشاركين، مثل اختلاف ماسح مستشفى عن ماسح مستشفى آخر، إلى تباعد النماذج المحلية وإبطاء التقارب.
التعلّم الاتحادي والمصطلحات ذات الصلة#
- التدريب الموزع: يقسم مجموعة بيانات مخزنة مركزيًا على وحدات GPU متعددة في مركز بيانات واحد لتسريع التدريب. لا يستطيع التعلّم الاتحادي نقل البيانات، كما أن المشاركين فيه أبطأ وأقل موثوقية وتختلف توزيعات البيانات لديهم.
- التعلّم المجزّأ: يقسم الشبكة نفسها بين العميل والخادم ويتبادل التنشيطات الوسيطة، بينما يمنح التعلّم الاتحادي كل عميل النموذج كاملًا ويتبادل الأوزان.
- خصوصية البيانات: الهدف الأوسع المتمثل في حماية المعلومات الشخصية. والتعلّم الاتحادي إحدى تقنياته، ويُدمج عادةً مع الخصوصية التفاضلية والتجميع الآمن.
- الذكاء الاصطناعي الطرفي: يشغّل النماذج على الأجهزة. ويوسّع التعلّم الاتحادي عبر الأجهزة هذا النهج ليشمل التدريب على تلك الأجهزة أيضًا.










