Create ML هي أداة من Apple لتدريب نماذج التعلم الآلي دون كتابة كود، مدمجة في Xcode ومتاحة أيضاً كتطبيق مستقل لنظام macOS. تتيح الأداة إنشاء وتدريب واختبار نماذج Core ML باستخدام واجهة رسومية: كل ما عليك فعله هو تحميل مجموعة بيانات، اختيار نوع المهمة وبدء التدريب. وفقاً لوثائق Apple Create ML (2025)، تدعم الأداة التعلم بالنقل (transfer learning) باستخدام شبكات عصبية مدمجة، وتضبط المعلمات الفائقة تلقائياً، وتصدر النموذج النهائي بتنسيق .mlpackage.
الخلاصة
Create ML هو مكون من نظام Apple للتعلم الآلي، تم تقديمه في WWDC 2018 كأداة لتدريب نماذج Core ML دون الحاجة إلى كتابة كود. قبل Create ML، كان المطورون يستخدمون مكتبات Python (TensorFlow وPyTorch وscikit-learn) ثم يقومون بتحويل النماذج إلى Core ML عبر coremltools. قام Create ML بتجريد هذه العملية بأكملها من خلال توفير واجهة بصرية وشبكات عصبية مدمجة للتعلم بالنقل وتصدير تلقائي إلى تنسيق Core ML.
النسخة الأولى من Create ML (iOS 11/macOS 10.14) كانت تدعم فقط المهام الأساسية: تصنيف الصور وتحليل النصوص. النسخة macOS 10.15 أضافت اكتشاف الكائنات وتحليل الصوت والانحدار. Create ML 3 (macOS 13، 2022) قدم دعم أنظمة التوصية والبيانات الجدولية مع اختيار تلقائي للخوارزميات وتصور محسن لعملية التدريب. Create ML 4 (macOS 14، 2024) أضاف دعم النماذج الديناميكية والتدريب على البيانات المتدفقة والتكامل مع الخدمات السحابية من Apple للتدريب الموزع.
Create ML مصمم لثلاث فئات من المستخدمين: مطورو iOS الذين ليس لديهم خبرة في ML ويريدون إضافة ميزات ذكية إلى تطبيقهم؛ مدراء المنتجات والمصممون الذين يرغبون في إنشاء نماذج أولية سريعة لميزات ML؛ وباحثو البيانات الذين يحتاجون إلى التحقق السريع من الفرضيات قبل نقل النموذج إلى البنية التحتية للإنتاج. للنماذج المعقدة ذات البنية غير القياسية، Create ML غير مناسب – في هذه الحالات، تُستخدم أطر Python مع التحويل اللاحق إلى Core ML.
يقدم Create ML سبعة أنواع من المهام، كل منها مع قالب مهيأ مسبقاً: تصنيف الصور، اكتشاف الكائنات، تصنيف النصوص ووسم الكلمات، الانحدار الجدولي، التصنيف الجدولي، تصنيف الصوت، والتوصية. يتضمن كل قالب بنية شبكة عصبية محددة مسبقاً ومحسنة لهذا النوع من المهام.
| نوع المهمة | البيانات المدخلة | مثال الاستخدام |
|---|---|---|
| تصنيف الصور | صور مصنفة | تحديد سلالة الكلب من الصورة |
| اكتشاف الكائنات | صور مع تعليقات | البحث عن وجوه في الصورة |
| تصنيف النصوص | نصوص مصنفة | مرشح البريد العشوائي للرسائل |
| الانحدار الجدولي | بيانات جدولية (CSV) | توقع أسعار العقارات |
| تصنيف الصوت | ملفات صوتية مصنفة | التعرف على أصوات الطبيعة |
تصنيف الصور هو القالب الأكثر شهرة في Create ML. لتدريب نموذج، يكفي توفير مجموعة من الصور مرتبة في مجلدات (اسم المجلد = تسمية الفئة). يقوم Create ML تلقائياً بتطبيق زيادة البيانات (التدوير، التحجيم، تغيير اللون) لزيادة الحجم الفعال لمجموعة البيانات ويستخدم شبكة Vision FeaturePrint المدربة مسبقاً (ResNet-50 المعدلة) لاستخراج الميزات. يستغرق التدريب بالتعلم بالنقل من 2 إلى 15 دقيقة حسب حجم مجموعة البيانات وأداء Mac.
قالب اكتشاف الكائنات يتطلب صوراً مع شرح بمربعات إحاطة (bounding boxes) لكل كائن. يستخدم Create ML بنية YOLOv5 (You Only Look Once) المكيفة مع Core ML، بأوزان مدربة مسبقاً على مجموعة COCO. الحد الأدنى – 30 صورة مشروحة لكل فئة، الموصى به – 200+. يدعم Create ML استيراد التعليقات بتنسيقات PASCAL VOC وCOCO JSON وCreate ML JSON.
سير العمل في Create ML داخل Xcode يتكون من ثلاث مراحل: إعداد البيانات، التدريب والتحقق، والتصدير. في مرحلة إعداد البيانات، يتم استيراد مجموعات التدريب والاختبار. يقوم Create ML تلقائياً بتقسيم البيانات (افتراضياً 80/20) ويعرض توزيع الفئات. في مرحلة التدريب، تعرض الأداة رسوماً بيانية للدقة والخسارة في الوقت الفعلي، بالإضافة إلى مقاييس: الدقة والإحكام والاستدعاء ودرجة F1. في مرحلة التحقق، يمكن اختبار النموذج على بيانات جديدة مباشرة في نافذة Create ML.
import CreateML
let data = try MLImageClassifierData.labeledDirectories(
at: URL(fileURLWithPath: "/path/to/training-data")
)
let model = try MLImageClassifier(
trainingData: data,
parameters: MLImageClassifier.Parameters(
featureExtractor: .scenePrint(revision: 1)
)
)
try model.write(
to: URL(fileURLWithPath: "/path/to/MyModel.mlpackage")
)
الواجهة الرسومية لـ Create ML في Xcode تظهر في المحرر الجانبي بعد اختيار ملف قالب الفئة. تحتوي الواجهة على علامات تبويب: Data (تحميل البيانات ومعاينتها)، Features (اختيار الميزات والمعلمات)، Model (بنية الشبكة العصبية)، Training (رسوم التدريب والمقاييس)، Evaluation (الاختبار على البيانات المحجوزة)، Preview (الاختبار التفاعلي للنموذج). يمكن للمطور التبديل بين علامات التبويب أثناء التدريب دون إيقاف العملية.
التعلم بالنقل (Transfer Learning) هو التقنية الأساسية التي تقوم عليها قوالب Create ML. بدلاً من تدريب شبكة عصبية من الصفر (وهو ما يتطلب ملايين الأمثلة المصنفة)، يستخدم Create ML شبكة مدربة مسبقاً (FeaturePrint) كمستخرج ميزات ويقوم بتدريب الطبقات الأخيرة من المصنف فقط. هذا يحقق دقة عالية (90-95%) على مجموعات بيانات من 10 إلى 50 صورة لكل فئة مع وقت تدريب من 2 إلى 5 دقائق.
يستخدم Create ML عدة مستخرجات FeaturePrint مدربة مسبقاً: .scenePrint (قائم على ResNet-50، مدرب على Places365)، .objectPrint (قائم على YOLOv5، مدرب على COCO)، .textPrint (قائم على BERT، مدرب على Wikipedia). يعتمد اختيار المستخرج على نوع المهمة ومجال البيانات. على سبيل المثال، .scenePrint مناسب أكثر لتصنيف صور الأماكن الداخلية والمناظر الطبيعية، بينما .objectPrint أفضل لاكتشاف كائنات محددة (سيارات، أشخاص، حيوانات).
يقوم Create ML تلقائياً بتطبيق زيادة البيانات أثناء التدريب: القلب الأفقي، التدوير حتى 20 درجة، تغيير اللون، ضبط السطوع والتباين. يتم تطبيق الزيادة عشوائياً على كل صورة في كل دورة تدريبية، مما يزيد الحجم الفعال لمجموعة البيانات بمقدار 10-20 مرة. هذا مهم بشكل خاص لمجموعات البيانات الصغيرة حيث التجهيز الزائد (overfitting) هو المشكلة الرئيسية. يمكن ضبط معلمات الزيادة في علامة التبويب Features.
بالإضافة إلى الواجهة البصرية، يوفر Create ML واجهة Swift API للتدريب البرمجي للنماذج، مما يتيح أتمتة خطوط أنابيب التدريب وتكاملها في عمليات CI/CD. تشمل واجهة Swift API الفئات MLImageClassifier وMLObjectDetector وMLTextClassifier وMLWordTagger وMLTabularRegressor وMLSoundClassifier وMLRecommender. كل فئة تنفذ بروتوكول MLModelTrainer مع طرق train() وevaluate() وwrite().
import CreateML
let csvFile = try MLDataTable(
contentsOf: URL(fileURLWithPath: "data.csv")
)
let (trainingData, testData) = csvFile.randomSplit(by: 0.8)
let regressor = try MLTabularRegressor(
trainingData: trainingData,
targetColumn: "price",
parameters: MLTabularRegressor.Parameters(
algorithm: .randomForest
)
)
let evaluation = regressor.evaluation(on: testData)
print("RMSE: \(evaluation.rootMeanSquaredError)")
يمكن تشغيل واجهة Swift API لـ Create ML في نصوص مراحل البناء (build phases) في Xcode أو في GitLab/GitHub Actions على مشغلات macOS. هذا يسمح بإعادة تدريب النموذج تلقائياً كلما تم تحديث مجموعة بيانات التدريب في المستودع. على سبيل المثال، يمكن إعداد خط أنابيب: دفع البيانات إلى المستودع ← مشغل GitLab ينفذ سكريبت Swift الخاص بـ Create ML ← نموذج .mlpackage المصدر يتم إرجاعه إلى المستودع ← يتم بناء التطبيق بالنموذج المحدث.
على الرغم من سهولة استخدامه، فإن Create ML لديه عدة قيود مهمة يجب مراعاتها عند اختيار أداة لمهام ML. أهمها: يعمل فقط على macOS، تحكم محدود في بنية الشبكة العصبية، عدم القدرة على استخدام طبقات مخصصة، الاعتماد على مستخرجات FeaturePrint المدمجة، وعدم دعم التدريب على عدة وحدات GPU أو في عنقود.
Create ML غير مصمم لـ التدريب الإنتاجي على مجموعات بيانات كبيرة (أكثر من 100,000 مثال). الحجم الأقصى لمجموعة البيانات محدود بذاكرة الوصول العشوائي (RAM) في Mac. للمهام واسعة النطاق، توصي Apple باستخدام أطر Python (TensorFlow وPyTorch) على البنية التحتية للخوادم مع تحويل لاحق إلى Core ML عبر coremltools. Create ML هو أداة للنماذج الأولية والمشاريع الصغيرة، وليس لـ ML المؤسسي.
للبيانات الجدولية، يدعم Create ML ثلاث خوارزميات فقط: Random Forest، Gradient Boosting (XGBoost) والانحدار الخطي. لا يوجد دعم للشبكات العصبية للبيانات الجدولية (TabNet، FT-Transformer)، SVM، kNN أو طرق التجميع المتاحة في scikit-learn. للمهام ذات البيانات الجدولية التي تتطلب دقة عالية، غالباً ما يقصر Create ML مقارنة بمكتبات ML الكلاسيكية.
تدريب النماذج ممكن فقط على macOS، لأن Create ML يستخدم Metal Performance Shaders وأطر عمل حصرية لنظام macOS. هذا القيد يجعل التدريب على خوادم Linux أو عناقيد GPU السحابية مستحيلاً. للفرق التي تستخدم البنية التحتية السحابية، يظل coremltools + Python الخيار الوحيد.
دعنا نستعرض ثلاثة سيناريوهات واقعية لاستخدام Create ML في التطبيقات التجارية: مراجعة محتوى المستخدم، التوصيات الشخصية، والفرز التلقائي للمستندات. توضح هذه السيناريوهات المهام النموذجية التي يمكن حلها باستخدام Create ML دون معرفة عميقة بالتعلم الآلي.
تطبيق لمشاركة الصور يمكنه استخدام تصنيف الصور للمراجعة التلقائية: تدريب نموذج على 100-200 صورة مصنفة كـ «مقبول» و«مخالفة» يسمح بتصفية 85-95% من المحتوى غير المرغوب فيه دون مشرف. يتيح Create ML تحديث النموذج مع ورود أمثلة جديدة للمخالفات، وإعادة تدريبه في 3-5 دقائق.
باستخدام تصنيف النصوص، يمكن لـ Create ML تعليم التطبيق تصنيف استفسارات المستخدمين تلقائياً إلى فئات: مشكلة دفع، عطل تقني، طلب ميزة، شكوى. يتطلب التدريب 50-100 مثال نصي لكل فئة. تصل دقة التصنيف إلى 90% باستخدام وسم الكلمات المدمج القائم على BERT.
MLRecommender في Create ML يسمح ببناء نظام توصية استناداً إلى إجراءات المستخدم دون كتابة ترشيح تعاوني يدوياً. يتم تدريب النموذج على بيانات مستخدم ← عنصر ← تقييم (مثلاً، أعجب المستخدم بمقال). يختار Create ML تلقائياً بين الترشيح التعاوني والنهج القائم على المحتوى بناءً على حجم البيانات ويخرج أفضل N من التوصيات.
الأسئلة الشائعة
Create ML هي أداة من Apple لتدريب نماذج التعلم الآلي بدون كود، مدمجة في Xcode ومتاحة كتطبيق مستقل لنظام macOS. تتيح إنشاء نماذج Core ML عبر واجهة رسومية، وتدعم تصنيف الصور وتحليل النصوص واكتشاف الكائنات ومهام أخرى.
Create ML يُستخدم لتدريب النماذج (إنشاء ملفات .mlpackage)، بينما Core ML يُستخدم لتشغيل النماذج المدربة على الجهاز (الاستدلال). Create ML يعمل فقط على macOS ويُنتج نماذج بتنسيق Core ML. هما مرحلتان مختلفتان من نفس العملية: التدريب أولاً في Create ML، ثم التكامل عبر Core ML في التطبيق.
الحد الأدنى من البيانات يعتمد على نوع المهمة. لتصنيف الصور بالتعلم بالنقل، 10-15 صورة لكل فئة كافية. لاكتشاف الكائنات، يتطلب 30 صورة مشروحة لكل فئة. لتصنيف النصوص – 50-100 مثال لكل فئة. الكمية الموصى بها هي 100-200 مثال لكل فئة لتحقيق دقة 90%+.
لا، Create ML يعمل حصرياً على macOS. يستخدم Metal Performance Shaders لتسريع GPU والتكامل مع Xcode، وهما غير متاحين على المنصات الأخرى. إذا لم يكن لديك Mac، استخدم Python (TensorFlow/PyTorch) للتدريب و coremltools لتحويل النموذج إلى .mlpackage.
نعم، Create ML مضمن في Xcode وهو مجاني تماماً لمطوري Apple. لاستخدامه، يكفي تثبيت Xcode على Mac (مجاني من Mac App Store). لا تتطلب أي تراخيص أو اشتراكات إضافية – جميع إمكانيات التدريب متاحة دون قيود.
الملخص
سنقوم بتطوير تطبيق جوال جاهز
تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.