Core ML — ما هو، نموذج التعلم الآلي وطريقة العمل في iOS

المؤلف: IT Sectr نُشر: 2026-03-26 وقت القراءة: 8 دق

Core ML — إطار عمل للتعلم الآلي من Apple، محسّن لتشغيل نماذج ML مباشرة على أجهزة iOS و macOS و watchOS و tvOS. على عكس خدمات ML السحابية، يستخدم Core ML مسرعات الأجهزة من Apple: Neural Engine و GPU و CPU، مما يضمن زمن وصول ضئيل عند معالجة البيانات. وفقًا لوثائق Apple Core ML (2026)، يدعم الإطار نماذج PyTorch و TensorFlow و Create ML بتنسيق .mlpackage الموحد بمتوسط وقت استدلال يتراوح بين 5 و 50 مللي ثانية.

أهم النقاط

  • Core ML — إطار Apple للتعلم الآلي على الجهاز عبر جميع منصات النظام البيئي
  • Apple Neural Engine (ANE) يوفر تسريعًا ماديًا للشبكات العصبية بأداء يصل إلى 11 TOPS
  • تنسيق .mlpackage يدمج النموذج والبيانات الوصفية والتكوين في حاوية واحدة مريحة
  • التحويل من PyTorch و TensorFlow يتم عبر أداة Python coremltools
  • التكامل مع Vision و Natural Language يتيح إنشاء خطوط أنابيب ML معقدة

ما هو Core ML؟

Core ML هو إطار عمل للتعلم الآلي قدمته Apple في WWDC 2017 كجزء من النظام البيئي للتطوير لأجهزة iPhone و iPad و Mac و Apple Watch و Apple TV. يوفر Core ML بيئة تشغيل لتنفيذ نماذج ML على الجهاز، مما يجرد المطور من تفاصيل تحسين الأجهزة. يختار الإطار تلقائيًا أفضل محرك حوسبة — Neural Engine على رقائق A12+ أو GPU أو CPU — لكل عملية نموذج.

الميزة الرئيسية لـ Core ML هي التكامل العميق مع Apple Silicon. يتم تشغيل عمليات الشبكات العصبية على Neural Engine المخصص، الذي لا يحمّل النوى الرئيسية للمعالج. وفقًا لـ Apple (WWDC 2025)، تعمل نماذج Core ML أسرع بست مرات مقارنة بـ TensorFlow Lite على أجهزة Android المماثلة.

الميزات الرئيسية

Core ML يدعم مجموعة واسعة من مهام التعلم الآلي: تصنيف الصور، اكتشاف الأشياء، التقسيم الدلالي، معالجة اللغة الطبيعية، تحليل الصوت والبيانات الجدولية. يعمل الإطار مع أنواع مختلفة من النماذج: الشبكات العصبية (التلافيفية والمتكررة والمحولات) ومجموعات الأشجار والانحدارات الخطية والعمليات الغاوسية.

كيف يعمل Core ML

Core ML يستقبل نموذجًا مدربًا بتنسيق .mlpackage، ويجمعه في كود آلة محسّن للجهاز المحدد، ويشغل الاستدلال عبر واجهة برمجة تطبيقات موحدة. خط الأنابيب بالكامل — من تحميل النموذج إلى الحصول على النتيجة — يتطلب 3–5 أسطر من كود Swift.

تنسيق النموذج .mlpackage

.mlpackage هو تنسيق حاوية قدمته Apple في 2020 لاستبدال .mlmodel القديم. الحزمة هي دليل يحتوي على بيان JSON وملف نموذج بتنسيق MLProgram الثنائي وبيانات وصفية (المؤلف والإصدار والوصف) وموارد مثل تسميات الفئات. وفقًا لـ Apple، يقلل .mlpackage حجم النموذج بنسبة 30–50% مقارنة بـ .mlmodel من خلال تحسين الأوزان.

Apple Neural Engine

Apple Neural Engine (ANE) هو معالج عصبي مخصص مدمج في رقائق Apple بدءًا من A12 Bionic (2018). يعالج ANE عمليات المصفوفات بكفاءة أكبر بعشرات المرات من CPU بنفس استهلاك الطاقة. نما أداء ANE من 5 TOPS على A12 إلى 35 TOPS على M4 Ultra (2025)، مما يتيح تشغيل نماذج بمليارات المعاملات. يُستخدم ANE تلقائيًا لجميع نماذج Core ML ذات البنية العصبية.

ميزة مهمة في Core ML هي دعم التكميم للنماذج إلى FP16 و INT8 دون فقدان الدقة. يقلل التكميم حجم النموذج بمقدار 2–4 مرات ويسرّع الاستدلال بنسبة 40–60% على ANE. توفر Apple أداة Xcode Model Quantization للاختيار التلقائي للدقة المثلى: يقوم المطور بتحميل نموذج، وتحديد فقدان الجودة المقبول (عادةً 0.1–0.5%)، ويختار Xcode أفضل تنسيق لتمثيل الأوزان.

مقارنة أداء Core ML

الرقاقةTOPS (ANE)استدلال ResNet-50السنة
A12 Bionic518 مللي ث2018
A14 Bionic119 مللي ث2020
M1 Max224 مللي ث2021
M4 Ultra352 مللي ث2025

تحويل النماذج إلى Core ML

معظم نماذج ML تُنشأ في PyTorch أو TensorFlow وتتطلب تحويلاً إلى تنسيق .mlpackage للاستخدام في Core ML. توفر Apple أداة coremltools — حزمة Python لتحويل النماذج وتحسينها والتحقق من صحتها.

أداة coremltools

coremltools هي الأداة الرسمية من Apple لتحويل نماذج ML. تدعم الاستيراد من PyTorch (عبر torch.onnx أو مباشرة) و TensorFlow (SavedModel و H5 و Frozen Graph) و ONNX. بعد التحويل، يمكن تفعيل التكميم FP16 أو INT8، مما يقلل حجم النموذج بمقدار 2–4 مرات دون فقدان كبير في الدقة.

مثال تحويل من PyTorch

لننظر في تحويل نموذج PyTorch مدرب إلى تنسيق Core ML باستخدام coremltools الإصدار 8.0. تستغرق العملية 2–3 خطوات في Python.

python
import torch
import coremltools as ct

# جارٍ تحميل نموذج PyTorch المدرب
model = torch.load('model.pth')
model.eval()

# جارٍ تتبع النموذج مع إدخال عينة
example_input = torch.randn(1, 3, 224, 224)
traced_model = torch.jit.trace(model, example_input)

# جارٍ التحويل إلى Core ML .mlpackage
mlmodel = ct.convert(
    traced_model,
    convert_to='mlprogram',
    inputs=[ct.TensorType(shape=(1, 3, 224, 224))]
)
mlmodel.save('Model.mlpackage')

يقوم الكود بتحميل نموذج PyTorch المدرب، وإجراء تتبع JIT مع إدخال عينة، وتحويله إلى تنسيق mlprogram (تنسيق Core ML الثنائي). يمكن سحب .mlpackage الناتج إلى Xcode واستخدامه فورًا في كود Swift.

دمج Core ML في تطبيق iOS

بعد تحويل النموذج، يتم دمجه في تطبيق iOS بلغة Swift في بضعة أسطر. يقوم Xcode تلقائيًا بإنشاء فئة Swift للنموذج بناءً على البيانات الوصفية لـ .mlpackage.

مثال كود Swift

لننظر في مثال لتصنيف الصور باستخدام Core ML وإطار Vision. يقوم Vision تلقائيًا بتحويل الصورة إلى الحجم المطلوب وتنسيق البكسل.

swift
import CoreML
import Vision

// جارٍ تحميل نموذج Core ML
guard let model = try? VNCoreMLModel(
    for: MobileNetV2.configuration.model
) else { return }

// جارٍ إنشاء VNCoreMLRequest
let request = VNCoreMLRequest(model: model) { request, error in
    guard let results = request.results
        as? [VNClassificationObservation]
    else { return }

    // إخراج أفضل 3 توقعات
    for result in results.prefix(3) {
        print("\(result.identifier):
              \(result.confidence)")
    }
}

// جارٍ بدء معالجة الصورة
let handler = VNImageRequestHandler(
    url: imageURL
)
try? handler.perform([request])

يقوم كود Swift بتحميل نموذج MobileNetV2 عبر إطار Vision، وإنشاء طلب تصنيف، ومعالجة النتيجة — مصفوفة من كائنات VNClassificationObservation مع تسميات الفئات ونسب الثقة. خط الأنابيب بالكامل من التحميل إلى إخراج النتيجة يستغرق 5–50 مللي ثانية حسب النموذج.

لتحسين وقت البدء، يقوم Core ML بتجميع النموذج عند أول استخدام. التجميع المسبق يقلل وقت التشغيل البارد من 2–3 ثوانٍ إلى 100–200 مللي ثانية. يُوصى بتجميع النموذج في وقت البناء في Xcode، وليس عند أول تشغيل للتطبيق. هذا مهم بشكل خاص للتطبيقات التي تحتوي على نماذج ML متعددة — على سبيل المثال، اكتشاف الأشياء + التصنيف + NLP.

Core ML مقابل ML Kit

Core ML و ML Kit يحلان مهام ML مماثلة على الجهاز لكنهما موجهان لأنظمة بيئية مختلفة. Core ML متكامل بعمق مع Apple Silicon ويدعم منصات Apple فقط. ML Kit من Google هو حل متعدد المنصات لأندرويد و iOS.

الميزةCore MLML Kit
المنصاتiOS, macOS, watchOS, tvOSAndroid, iOS
واجهات برمجة مدمجةعبر Vision, Natural Language15+ واجهة برمجة مدمجة
نماذج مخصصة.mlpackage (PyTorch, TF)TFLite (عبر محول)
تسريع الأجهزةANE, GPU, CPUGPU (Android), CPU
سهولة البدايةيتطلب تحويل النموذجواجهات برمجة جاهزة بدون Data Science
الأداء2–50 مللي ث (ANE)80–200 مللي ث (CPU/GPU)

اختر Core ML إذا كان نظامك البيئي هو Apple حصريًا وتحتاج أقصى أداء عبر ANE. إذا كنت بحاجة إلى تعدد المنصات أو واجهات برمجة جاهزة بدون تحويل، فسيكون ML Kit أكثر عملية.

من الناحية العملية، تستخدم العديد من المشاريع كلا الإطارين: iOS Core ML للأداء العالي، و ML Kit أو TensorFlow Lite على Android. يتم تحويل نموذج PyTorch الموحد إلى .mlpackage لـ Apple وإلى .tflite لـ Android، مما يسمح بالحفاظ على جودة ميزات ML متسقة على كلا المنصتين. يتطلب هذا النهج جهدًا إضافيًا طفيفًا في DevOps لكنه يوفر أقصى تغطية للجمهور.

عند الاختيار بين Core ML والبدائل، ضع في اعتبارك تكلفة التطوير: Core ML يتطلب كود تكامل أقل (3–5 أسطر Swift مقابل 15–20 سطرًا مع TFLite)، لكنه يتطلب Mac و Xcode للبناء. ML Kit، من ناحية أخرى، يعمل على أي منصة لكنه يعطي أداءً أقل على iOS بسبب عدم الوصول إلى Apple Neural Engine.

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

ما هي الحد الأدنى من المتطلبات لـ Core ML؟

iOS 11+ للنماذج الأساسية، iOS 14+ لتنسيق .mlpackage. يتطلب Apple Neural Engine رقاقة A12 Bionic أو أحدث. يدعم Core ML جميع أجهزة iPhone و iPad و Mac منذ 2017.

هل يمكن استخدام Core ML مع TensorFlow؟

نعم، عبر أداة coremltools. يتم تحويل نماذج TensorFlow إلى .mlpackage مع الحفاظ على الدقة. التنسيقات المدعومة تشمل TensorFlow 2.x و SavedModel و H5 و Frozen Graph.

كيف يختلف .mlpackage عن .mlmodel؟

.mlpackage هو تنسيق حاوية حديث، منظم كدليل يحتوي على بيانات وصفية وملف MLProgram ثنائي وموارد. إنه أكثر إحكامًا بمقدار 2–3 مرات من .mlmodel القديم ويدعم التكميم.

كيف يتعامل Core ML مع خصوصية البيانات؟

جميع الحسابات تتم بشكل صارم على الجهاز. لا يرسل Core ML البيانات إلى خوادم Apple. يعمل الإطار في وضع الطيران ولا يتطلب اتصالاً بالإنترنت للاستدلال.

ما هي لغات البرمجة التي يدعمها Core ML؟

Swift هي اللغة الرئيسية لدمج Core ML في تطبيقات iOS/macOS. Python يُستخدم لتحويل النماذج عبر coremltools. Objective-C مدعوم أيضًا للتوافق مع الإصدارات السابقة.

الخلاصة

  • Core ML — إطار Apple للتعلم الآلي على الجهاز عبر جميع منصات النظام البيئي مع دعم Apple Neural Engine
  • .mlpackage — تنسيق حاوية حديث يجمع النموذج والبيانات الوصفية والموارد في حزمة واحدة
  • Apple Neural Engine يوفر تسريعًا ماديًا للشبكات العصبية بأداء يصل إلى 35 TOPS على M4 Ultra
  • coremltools يتيح تحويل النماذج من PyTorch و TensorFlow و ONNX في ثلاث خطوات باستخدام Python
  • التكامل عبر إطار Vision يتطلب 5–10 أسطر من كود Swift لتشغيل نموذج على صورة
  • أداء الاستدلال يتراوح بين 2–50 مللي ثانية حسب النموذج والرقاقة
  • خصوصية البيانات — جميع الحسابات محلية بشكل صارم، دون إرسال بيانات إلى الخوادم

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا