YOLO Vision 2026:

تكامل Apple Core AI#

يتطلب تصدير Core AI نظام macOS 26 أو أحدث على أجهزة Apple silicon

تنشر coreai-core عجلات macosx_26_0_arm64 فقط، ولذلك يُجرى التصدير على أجهزة Mac المزودة بـ Apple silicon. يعمل .aimodel المُصدَّر على iOS 27 وmacOS 27. لا تحمّل حِزمتا Ultralytics iOS وFlutter أصول .aimodel بعد — استخدم Core ML لهذه الأصول.

Core AI هو إطار Apple الجديد لتشغيل الشبكات العصبية مباشرةً على Apple silicon. ويقدم تنسيق النموذج .aimodel، وواجهة استدلال حديثة بلغة Swift، وأدوات تحويل قائمة على PyTorch، وترجمة مسبقة، وتخصيصًا للنماذج، وأدوات مخصصة لتصحيح الأخطاء وتحليل الأداء.

تصف Apple ‏Core AI بأنه التطور التالي لتنفيذ الذكاء الاصطناعي على الجهاز، وإطار الاستدلال الذي يقف وراء Apple Intelligence على الجهاز. وقد صُمم لمعمارية الشبكات العصبية الحالية، بدءًا من نماذج الرؤية المدمجة ووصولًا إلى النماذج التوليدية الكبيرة، ويمكنه جدولة العمل عبر CPU وGPU ومحرك Apple العصبي (ANE).

يُعد Core AI مسار نشر جديدًا، وليس اسمًا جديدًا لـ Core ML. وتستخدم الأطر تنسيقات نماذج وأدوات تحويل وواجهات برمجة وقت تشغيل وأنماط تكامل مع التطبيقات مختلفة.

مقارنة بين Core AI وCore ML#

الإمكانيةCore AICore ML
أثر النموذج.aimodel.mlpackage أو .mlmodel
تصدير Ultralyticsمتاح مع format=coreaiمتاح مع format=coreml
واجهة برمجة وقت تشغيل AppleAIModel وInferenceFunction وNDArrayMLModel، غالبًا عبر VNCoreMLModel وVNCoreMLRequest
سير عمل التحويلPyTorch torch.export عبر coreai-torchتحويل TorchScript عبر coremltools
التركيز الأساسيالشبكات العصبية الحديثة والذكاء الاصطناعي التوليديالنشر الواسع لتعلم الآلة، بما في ذلك النماذج العصبية وغير العصبية
تكامل الصورتُعدّ التطبيقات الموترات أو تستخدم واصفات الصور والمخازن المؤقتة في Core AIتكامل مباشر مع إطار Vision لتحجيم الصور وتغيير اتجاهها وإجراء الطلبات
العتادCPU وGPU ومحرك Apple العصبيCPU وGPU ومحرك Apple العصبي
إعداد النموذجالتخصيص عند التثبيت أو أول استخدام، مع خيار الترجمة المسبقةترجمة النموذج باستخدام Xcode أو على الجهاز
العمليات المخصصةعمليات Core AI المخصصة منخفضة المستوى ونوى Metalطبقات Core ML المخصصة وعمليات MIL المدعومة
توفر النشرجيل جديد من أنظمة تشغيل Apple؛ وهو حاليًا في المرحلة التجريبيةدعم واسع عبر أنظمة تشغيل Apple الحالية
حزمتا Ultralytics iOS وFlutterغير مدعومتين بعدمدعومتان بالكامل

يظل Core ML الخيار المناسب عندما يحتاج التطبيق إلى تغطية واسعة للأجهزة، أو التكامل مع إطار Vision، أو أنواع نماذج مثل أشجار القرار وخطوط المعالجة الجدولية. وتواصل Apple دعم Core ML، وتوجّه المطورين الذين يستخدمون أنواع النماذج غير العصبية إليه.

كيفية عمل تنسيق Core AI#

يبدأ سير عمل تأليف Core AI من نموذج PyTorch:

PyTorch model
    ↓ torch.export
ExportedProgram
    ↓ coreai-torch
Core AI program
    ↓ optimize and save
.aimodel
    ↓ specialize or compile ahead of time
Apple silicon executable

تحوّل حزمة Apple ‏coreai-torch عنصر torch.export.ExportedProgram عبر خفض عمليات PyTorch ATen إلى عمليات Core AI. ويمكن تنفيذ العمليات غير المدعومة باستخدام خفض مخصص أو نواة Metal مخصصة.

يُعد .aimodel الناتج أصل نموذج غير مخصص. وعندما يُعدّ التطبيق النموذج، يخصصه Core AI للجهاز المستهدف. ويمكن للتطبيقات السماح بحدوث ذلك عند أول استخدام، أو طلب التخصيص مبكرًا، أو شحن نموذج مُترجَم مسبقًا لتقليل وقت التحميل الأولي.

في Swift، تحمّل التطبيقات الأصل باستخدام إطار Core AI، وتحدد وظيفة استدلال، وتوفر مدخلات NDArray ذات أنواع محددة، وتتلقى مخرجات مسماة. ويختلف ذلك عن تغليف نموذج Core ML داخل طلب Vision، ولذلك يتطلب اعتماد Core AI وقت تشغيل للتطبيق مصممًا لأصول .aimodel.

للاطلاع على تفاصيل التنفيذ، راجع وثائق Apple الخاصة بـ AIModel، وتخصيص النماذج والتخزين المؤقت، والترجمة المسبقة.

تصدير نماذج YOLO26 إلى Core AI#

مثال
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
model.export(format="coreai")  # creates 'yolo26n.aimodel'
model.export(format="coreai", quantize=16)  # FP16 asset

# Run the exported model
coreai_model = YOLO("yolo26n.aimodel")
results = coreai_model("https://ultralytics.com/images/bus.jpg")

للاطلاع على قائمة الوسائط الكاملة، راجع وضع التصدير. الرسم البياني ثابت: إذ يُتتبَّع عند imgsz المُمرَّر إلى export، لذا تنبأ بالحجم نفسه. تنتقل بيانات Ultralytics الوصفية داخل metadata.json الخاص بالأصل، ولذلك تبقى أسماء الفئات وstride والمهمة محفوظة خلال الرحلة ذهابًا وإيابًا.

اختيار الرأس#

مع nms=False، يقوم YOLO26 بتصدير رأسه من طرف إلى طرف، والذي يحدد الاكتشافات داخل الرسم البياني. لا تمتلك Core AI أي عنصر أساسي من نوع top-k، لذا فإن هذا التحديد يُخفض إلى فرز كامل ويتحمل تكلفة ثابتة عند حدود تقسيم Apple Neural Engine — حوالي 1.7 مللي ثانية، بغض النظر عن max_det. التصدير باستخدام nms=None يُصدر تنبؤات (1, 84, 8400) الخام بدلاً من ذلك ويترك كبح التنبؤات المتداخلة غير القصوى للمتنبئ:

yolo export model=yolo26n.pt format=coreai nms=None quantize=16

على هاتف iPhone 17 Pro الذي يعمل بنظام iOS 27.0، يسجل نموذج YOLO26n بحجم 640 مسافة زمنية قدرها 3.01 مللي ثانية مع وجود الرأس داخل الرسم البياني و1.28 مللي ثانية بدونه (بتقنية FP16، ومجمع مسبقاً، وثلاث كتل متداخلة من 50 تكراراً). يمر كلاهما ذهاباً وإياباً عبر YOLO(...) للاستدلال. استخدم nms=False عندما يجب أن يُعيد استدعاء الرسم البياني الواحد اكتشافات جاهزة، أو احتفظ بالقيمة الافتراضية nms=None لكبح التنبؤات المتداخلة غير القصوى الخارجي.

على iOS 27 أو macOS 27، سيحمّل التطبيق الأصل المُصدَّر ويشغّله عبر واجهة Swift البرمجية لـ Core AI من Apple. تستخدم الأصول المُصدَّرة نقطة الدخول main، وتتلقى إدخالًا واحدًا images بالشكل [batch, 3, imgsz, imgsz]، وتعيد output0:

import CoreAI

let modelURL = Bundle.main.url(forResource: "yolo26n", withExtension: "aimodel")!
let model = try await AIModel(contentsOf: modelURL)
guard let function = try model.loadFunction(named: "main") else {
    throw AppError.missingInferenceFunction
}

let outputs = try await function.run(inputs: ["images": imageTensor])

على خلاف سير عمل Core ML وVision الحالي، سيتطلب مسار Core AI المستقبلي تحديد المعالجة المسبقة للصور، وبناء NDArray، وبيانات النموذج الوصفية، وفك ترميز المخرجات في حزمة Ultralytics iOS. توفر Apple تفاصيل واجهة البرمجة الحالية في وثائق إطار Core AI، وأمثلة نماذج عاملة في مستودع نماذج Core AI.

مزايا Core AI#

يقدم Core AI عدة مزايا واعدة لنشر Ultralytics مستقبلًا:

  • مسار تصدير PyTorch حديث: يبدأ التحويل من torch.export، مع الحفاظ على رسم PyTorch أكثر تعبيرًا من سير عمل التتبع الذي تستخدمه العديد من المُصدِّرات الحالية.
  • تحكم دقيق في وقت التشغيل: يمكن للتطبيقات إدارة التخصيص، وذاكرات النماذج المُترجَمة، ووظائف الاستدلال، والذاكرة، وتوزيع الحسابات.
  • دعم متقدم للنماذج: صُمم التنفيذ ذو الحالة، والأشكال الديناميكية، والوظائف المتعددة في أصل واحد، ونوى Metal المخصصة لمعمارية الرؤية والتوليد الحديثة.
  • أدوات مخصصة للمطورين: يستطيع Core AI Debugger فحص الرسوم البيانية وقيم الموترات وتتبعها رجوعًا إلى شيفرة Python الأصلية. ويوفر Xcode وInstruments تحليلًا لأداء وقت التشغيل.
  • إمكانات النسخ الصفري: يعرض Core AI عناصر تحكم في التخزين والمخازن المؤقتة تهدف إلى تقليل عمليات النسخ بين الكاميرا والرسومات وأحمال الاستدلال.
  • تحسين Apple silicon: يتيح تخصيص الجهاز لـ Apple تحسين النموذج من أجل CPU وGPU والمحرك العصبي المتاحين على الجهاز المحدد.
  • ضغط مرن: تدعم أدوات Core AI Optimization من Apple التكميم، والتحويل إلى لوحات ألوان، والتقليم، بما في ذلك تنسيقات الأوزان منخفضة البتات.

قد تكون هذه الإمكانات مفيدة بصفة خاصة لنماذج YOLO المستقبلية ذات التنفيذ الديناميكي، أو المكونات الكبيرة متعددة الوسائط، أو العمليات المخصصة التي لا تُطابِق عمليات Core ML الحالية بصورة سليمة.

العيوب والقيود الحالية#

لا يُعد Core AI حاليًا بديلًا لمسار Core ML المخصص للإنتاج:

  • الحاجة إلى أنظمة تشغيل جديدة: يستهدف الإطار العام جيل iOS 27 وmacOS 27، بينما يدعم Core ML قاعدة أجهزة مثبتة أكبر بكثير.
  • البرمجيات التجريبية: لا يزال إطار Core AI من Apple وأجزاء من سلسلة أدوات Python الخاصة به أولية، وقد تتغير قبل إصداراتها المستقرة.
  • بيئة تصدير أضيق: يتطلب coreai-torch حاليًا Python 3.11 أو أحدث، ولكن أقدم من 3.14، بالإضافة إلى إصدارات حديثة من PyTorch، وهو نطاق أضيق بكثير من نطاق Python وPyTorch المدعوم في Ultralytics.
  • يُجرى التصدير على macOS فقط: تنشر coreai-core عجلات macosx_26_0_arm64 فقط، ولذلك يحتاج format=coreai إلى جهاز Mac مزود بـ Apple silicon ويعمل بنظام macOS 26 أو أحدث.
  • لا يوجد وقت تشغيل لتطبيقات Ultralytics بعد: يحمّل تطبيق YOLO الرسمي لنظام iOS وإضافة Flutter حاليًا أصول Core ML عبر MLModel وVision.
  • تتطلب التطبيقات الترحيل: لا يمكن استبدال .aimodel بـ .mlpackage؛ إذ يحتاج تحميل النموذج والمعالجة المسبقة واستدعاءات الاستدلال ومعالجة البيانات الوصفية وفك ترميز المخرجات إلى تنفيذ Core AI.
  • أدلة إنتاج محدودة: يلزم التحقق من الأداء واستهلاك الطاقة ووقت التخصيص عند التشغيل الأول والدقة والضغط عبر مصفوفة مهام YOLO والأجهزة المدعومة.
  • خط أنابيب بدون كبح التنبؤات المتداخلة غير القصوى: يمكن لـ Core ML حزم مرحلة كبح التنبؤات المتداخلة غير القصوى لنماذج اكتشاف YOLO القديمة. تقوم Core AI بتصدير تنبؤات خام من واحد إلى كثير بشكل افتراضي؛ استخدم nms=False لرأس YOLO26 الخالي من كبح التنبؤات المتداخلة غير القصوى. كبح التنبؤات المتداخلة غير القصوى المضمن (nms=True) وdynamic=True غير مدعومين. لا يحتوي coreai-torch على أي خفض لـ torchvision::nms، لذلك يظل كبح التنبؤات المتداخلة غير القصوى على المضيف.
  • حجم إدخال ثابت: يُتتبَّع الرسم البياني المُصدَّر عند imgsz واحد، ولا يحتوي على أشكال ديناميكية، ولذلك تنبأ بالحجم الذي صُدِّر به.
  • قد تتوقف أصول FP16 أثناء التحميل: تفشل بعض أصول FP16 .aimodel في تحميل برنامج محرك Apple العصبي، ويثير MPSGraph تأكيدًا فاشلًا، ما ينهي العملية بدلًا من الرجوع إلى بديل. يحدث ذلك داخل وقت تشغيل Apple، قبل تشغيل أي شيفرة من Ultralytics، بينما يُحمَّل الأصل نفسه مع تخصيص يقتصر على CPU. فضّل FP32 إلى أن تُصلح المشكلة في المنبع.

أي تنسيق من Apple ينبغي استخدامه؟#

استخدم Core ML اليوم عندما تحتاج إلى:

  • النشر عبر أنظمة تشغيل Apple الحالية والأقدم
  • التكامل مع حزمة Ultralytics iOS أو Flutter
  • معالجة الصور باستخدام إطار Vision
  • نشر YOLO باستخدام FP16 وINT8 بعد اختباره
  • NMS مضمّن لنماذج الكشف القديمة المتوافقة

قيّم Core AI عندما يمكنك اشتراط iOS 27 أو macOS 27 وتحتاج إلى:

  • أحدث وقت تشغيل للشبكات العصبية على أجهزة Apple
  • تخصيص وإدارة صريحة للتخزين المؤقت
  • تنفيذ متقدم للنماذج الديناميكية أو ذات الحالة
  • عمليات Core AI مخصصة أو نوى Metal
  • تصحيح أخطاء رسومات Core AI وتحليل أداء وقت التشغيل بالتفصيل

من المتوقع أن يتعايش Core ML وCore AI أثناء انتقال التطبيقات. ولا يؤدي دعم Core AI إلى إزالة الحاجة إلى Core ML فورًا، لأن أهداف النشر وعقود التطبيقات مختلفة بينهما.

خارطة طريق Ultralytics#

تم تنفيذ هدف التصدير المخصص coreai: إذ يغطي التصدير والتحقق العددي نماذج مهام YOLO26 المدعومة، ويُشغَّلان باستمرار في CI الخاص بـ Ultralytics على macOS 26، كما يُقاس زمن استجابة FP16 على الجهاز. وتتضمن خارطة الطريق المتبقية قبل وصول Core AI إلى التكافؤ مع مسار Core ML ما يلي:

  1. تحميل نماذج Core AI والمعالجة المسبقة في حزمة Ultralytics iOS.
  2. تكامل Flutter واستراتيجية توافق للأجهزة التي تعمل بإصدارات أقدم من iOS 27.
  3. إصدارات مستقرة من إطار Apple وأدوات التحويل (جيل iOS 27 وmacOS 27 حاليًا في المرحلة التجريبية).
  4. معايير قياس الذاكرة والطاقة والتخصيص عبر مصفوفة الأجهزة المدعومة.

يظل Core ML الهدف الموصى به للتطبيقات التي تحتاج إلى حزمة Ultralytics iOS أو Flutter، أو إلى تغطية إصدارات أقدم من iOS 27؛ تابع خارطة طريق Ultralytics وملاحظات الإصدار للاطلاع على العناصر المتبقية.

موارد إضافية#

الأسئلة الشائعة#

  • نعم. صدِّر باستخدام model.export(format="coreai") أو yolo export format=coreai على جهاز Mac مزود بشريحة Apple silicon ويعمل بنظام macOS 26 أو إصدار أحدث؛ ويعمل .aimodel المُصدَّر على iOS 27 وmacOS 27. بالنسبة إلى حِزَم تطوير iOS وFlutter SDKs من Ultralytics، وأنظمة التشغيل الأقدم من ذلك الإصدار، صدِّر ملفات Core ML .mlpackage باستخدام format="coreml".

  • ليس على الفور. يُعد Core AI المسار الأحدث من Apple للشبكات العصبية الحديثة، بينما يظل Core ML مدعومًا ويوفر تغطية أوسع لأنظمة التشغيل، وتكاملًا مع Vision، ودعمًا للنماذج غير العصبية.

  • لا. فهي تحتوي على تمثيلات مختلفة للنماذج، وتُحمَّل باستخدام أُطر عمل مختلفة. يجب أن تبدأ عملية التحويل من النموذج المصدر عبر سلسلة الأدوات المناسبة من Apple.

  • من المتوقع أن يتعايش التكامل الأولي مع Core ML. ويعتمد أي قرار استبدال مستقبلي على مدى اعتماد أنظمة التشغيل، واستقرار الأدوات، والأداء، والدعم اللاحق لنظامَي iOS وFlutter.

المساهمون
GLglenn-jocher3DADaisuke Majima1

التعليقات