Model Merging
اكتشف كيف يجمع دمج النماذج بين نماذج متعددة مدربة مسبقًا في نموذج واحد. تعلم كيفية دمج أوزان Ultralytics YOLO26 لتعزيز الأداء دون تأخير إضافي.
يعد دمج النماذج تقنية مبتكرة في تعلم الآلة (ML) تجمع بين المعلمات (الأوزان) المكتسبة لنماذج متعددة مدربة مسبقاً في نموذج واحد موحد. وعلى عكس إعدادات النماذج المتعددة التقليدية، يقوم الدمج بدمج أوزان النموذج مباشرة في فضاء المعلمات. يتيح ذلك للممارسين الجمع بين المعرفة المتخصصة لنماذج متعددة تم ضبطها بدقة على مهام أو مجموعات بيانات مختلفة دون تحمل تكاليف الذاكرة والحوسبة الناتجة عن تشغيل نماذج متعددة في وقت واحد.
من خلال تطبيق العمليات مباشرة على الأوزان، يحافظ دمج النماذج على البصمة المعمارية لشبكة واحدة. وتعتبر هذه الميزة ذات قيمة خاصة عند نشر خطوط أنابيب الرؤية الحاسوبية (CV) المتقدمة على أجهزة الحافة (edge devices)، حيث يعد تقليل زمن انتقال الاستدلال وتوفير الذاكرة أمراً بالغ الأهمية.
Link to this sectionالتمييز بين دمج النماذج#
من المفيد التمييز بين دمج النماذج والمفاهيم ذات الصلة مثل تجميع النماذج (Model Ensemble) والتعلم بالنقل (Transfer Learning).
- دمج النماذج مقابل تجميع النماذج: يحافظ تجميع النماذج على الشبكات الفردية منفصلة، حيث يتم تشغيل كل منها أثناء الاستدلال ومتوسط مخرجاتها. هذا يزيد من الدقة ولكنه يضاعف العبء الحسابي. بينما يجمع دمج النماذج الأوزان الفعلية قبل الاستدلال، مما ينتج عنه نموذج واحد لا يتطلب أي موارد حسابية إضافية أثناء وقت التشغيل.
- دمج النماذج مقابل التعلم بالنقل: يتضمن التعلم بالنقل أخذ نموذج أساسي وتدريبه بشكل إضافي على مجموعة بيانات جديدة. لا يتطلب دمج النماذج أي ضبط دقيق (fine-tuning) إضافي؛ بل يستخدم عمليات رياضية لدمج نماذج مدربة بالفعل.
Link to this sectionالتقنيات الشائعة#
طور الباحثون عدة طرق لدمج الأوزان بفعالية دون تدمير القدرات الأساسية للشبكة، كما هو موضح في الأبحاث الأكاديمية الحديثة على arXiv.
- متوسط الأوزان (Weight Averaging): أبسط طريقة، وهي حساب متوسط أوزان نماذج متعددة تشترك في نفس البنية.
- حساب المهام (Task Arithmetic): تقنية يتم فيها إضافة أو طرح "متجهات المهام" (الفرق بين النموذج المضبوط بدقة ونموذجه الأساسي) لدمج أو إزالة سلوكيات معينة.
- دمج TIES (TIES-Merging): نهج متقدم يحل تداخل المعلمات عن طريق تقليم القيم الزائدة واختيار العلامات المتسقة عبر النماذج، مما يحافظ على الأداء عبر مهام متنوعة.
Link to this sectionتطبيقات العالم الحقيقي#
يعتبر دمج النماذج فعالاً للغاية لبناء أنظمة معممة دون الحاجة إلى إعادة التدريب من الصفر.
- المركبات ذاتية القيادة (Autonomous Vehicles): قد تستخدم سيارة ذاتية القيادة نموذجاً أساسياً من Ultralytics YOLO26. يمكن للمهندسين تدريب إصدار نموذج واحد بشكل مستقل لاكتشاف حركات المشاة الدقيقة، وإصداراً آخر لقراءة إشارات الطريق المعقدة. يؤدي دمج هذين النموذجين إلى إنشاء كاشف واحد عالي القدرة يتعامل مع كلتا المهمتين في وقت واحد دون مضاعفة وقت الاستدلال.
- الذكاء الاصطناعي في الرعاية الصحية (AI in Healthcare): في التصوير الطبي، قد تقوم مستشفيات بحثية مختلفة بضبط النماذج بدقة على مجموعات بيانات محلية متخصصة (على سبيل المثال، واحدة لمسحات الرنين المغناطيسي والأخرى لمسحات الأشعة المقطعية) بسبب قوانين خصوصية البيانات الصارمة. من خلال دمج النماذج بشكل آمن، يمكن للباحثين إنشاء أداة تشخيصية شاملة تستفيد من توزيعات البيانات المتنوعة.
Link to this sectionمثال: متوسط الأوزان البسيط#
يمكنك بسهولة تنفيذ دمج النماذج الأساسي باستخدام PyTorch. يوضح المثال التالي كيفية حساب متوسط قواميس الحالة (state dictionaries) لنموذجين متطابقين في البنية.
import torch
# Load the weights (state dicts) from two identical architectures
weights_a = torch.load("yolo26_task1.pt")["model"].state_dict()
weights_b = torch.load("yolo26_task2.pt")["model"].state_dict()
# Perform simple weight averaging
merged_weights = {k: (weights_a[k] + weights_b[k]) / 2.0 for k in weights_a.keys()}
# Save the newly merged model weights
torch.save({"model": merged_weights}, "yolo26_merged.pt")بالنسبة للفرق التي تتطلع إلى تبسيط سير العمل المعقد لتسمية مجموعات البيانات والتدريب والنشر، توفر منصة Ultralytics واجهة بديهية لإدارة مشاريع الذكاء الاصطناعي للرؤية من البداية إلى النهاية بكل سهولة.






