Create ML — چیست، آموزش مدل‌ها بدون کد و یکپارچه‌سازی

نویسنده: IT Sectr منتشر شده: 2026-07-17 زمان مطالعه: 11 دقیقه

Create ML — ابزاری از اپل برای آموزش مدل‌های یادگیری ماشین بدون نوشتن کد است که در Xcode تعبیه شده و به عنوان یک برنامه جداگانه برای macOS در دسترس است. این ابزار امکان ایجاد، آموزش و آزمایش مدل‌های Core ML را با استفاده از رابط گرافیکی فراهم می‌کند: کافیست مجموعه داده را بارگذاری کنید، نوع وظیفه را انتخاب کنید و آموزش را اجرا کنید. به گفته Apple Create ML Documentation (2025)، این ابزار از انتقال یادگیری (transfer learning) بر اساس شبکه‌های عصبی داخلی پشتیبانی می‌کند، به طور خودکار فراپارامترها را انتخاب می‌کند و مدل آماده را در قالب .mlpackage صادر می‌کند.

نکات اصلی

  • Create ML — ابزار اپل برای آموزش مدل‌های ML از طریق رابط گرافیکی در Xcode بدون نوشتن کد.
  • پشتیبانی از وظایف: طبقه‌بندی تصاویر، تحلیل متن، تشخیص اشیاء، رگرسیون و تحلیل صدا.
  • انتقال یادگیری (Transfer Learning) از شبکه‌های عصبی پیش‌آموزش‌دیده (Vision FeaturePrint) برای آموزش روی مجموعه داده‌های کوچک (از 10 تصویر) استفاده می‌کند.
  • مدل آماده را می‌توان به .mlpackage برای یکپارچه‌سازی در برنامه از طریق Core ML صادر کرد.
  • Create ML هم به عنوان برنامه UI در macOS و هم به عنوان Swift API برای آموزش برنامه‌نویسی در دسترس است.

Create ML چیست؟

Create ML — مؤلفه‌ای از اکوسیستم یادگیری ماشین اپل است که در WWDC 2018 به عنوان ابزاری برای آموزش مدل‌های Core ML بدون نیاز به نوشتن کد معرفی شد. قبل از Create ML، توسعه‌دهندگان از کتابخانه‌های Python (TensorFlow، PyTorch، scikit-learn) استفاده می‌کردند و سپس مدل‌ها را از طریق coremltools به Core ML تبدیل می‌کردند. Create ML کل این فرآیند را انتزاعی کرد و یک رابط بصری، شبکه‌های عصبی داخلی برای انتقال یادگیری و صادرات خودکار به فرمت Core ML فراهم آورد.

تکامل: از iOS 11 تا macOS 15

نسخه اول Create ML (iOS 11/macOS 10.14) فقط از وظایف پایه پشتیبانی می‌کرد: طبقه‌بندی تصاویر و تحلیل متن. نسخه macOS 10.15 تشخیص اشیاء، تحلیل صدا و رگرسیون را اضافه کرد. Create ML 3 (macOS 13, 2022) پشتیبانی از سیستم‌های توصیه‌گر، داده‌های جدولی با انتخاب خودکار الگوریتم‌ها و تجسم بهبودیافته فرآیند آموزش را به ارمغان آورد. Create ML 4 (macOS 14, 2024) پشتیبانی از مدل‌های پویا، آموزش روی داده‌های جریانی و یکپارچه‌سازی با سرویس‌های ابری اپل برای آموزش توزیع‌شده را اضافه کرد.

Create ML برای چه کسانی مناسب است

Create ML برای سه دسته کاربر طراحی شده است: توسعه‌دهندگان iOS بدون تجربه ML که می‌خواهند قابلیت‌های هوشمند را به برنامه اضافه کنند؛ مدیران محصول و طراحانی که می‌خواهند به سرعت قابلیت‌های ML را نمونه‌سازی کنند؛ محققان داده که نیاز به اعتبارسنجی سریع فرضیه‌ها قبل از انتقال مدل به زیرساخت تولید دارند. برای مدل‌های پیچیده با معماری غیراستاندارد، Create ML مناسب نیست — در چنین مواردی از فریم‌ورک‌های Python با تبدیل بعدی به Core ML استفاده می‌شود.

انواع وظایف و قالب‌های Create ML

Create ML هفت نوع وظیفه را ارائه می‌دهد که برای هر یک قالب از پیش پیکربندی‌شده در دسترس است: طبقه‌بندی تصاویر (Image Classification)، تشخیص اشیاء (Object Detection)، تحلیل متن (Text Classification و Word Tagger)، رگرسیون داده‌های جدولی (Tabular Regression)، طبقه‌بندی داده‌های جدولی (Tabular Classification)، تحلیل صدا (Sound Classification)، سیستم‌های توصیه‌گر (Recommendation). هر قالب شامل معماری شبکه عصبی از پیش انتخاب‌شده بهینه برای آن نوع وظیفه است.

نوع وظیفهداده‌های ورودیمثال استفاده
Image Classificationتصاویر با برچسبتعیین نژاد سگ از روی عکس
Object Detectionتصاویر با حاشیه‌نویسیجستجوی چهره در عکس
Text Classificationمتون با برچسبفیلتر هرزنامه برای پیام‌ها
Tabular Regressionداده‌های جدولی (CSV)پیش‌بینی قیمت ملک
Sound Classificationفایل‌های صوتی با برچسبتشخیص صداهای طبیعت

طبقه‌بندی تصاویر در Create ML

Image Classification — محبوب‌ترین قالب Create ML است. برای آموزش مدل کافی است مجموعه‌ای از تصاویر تقسیم‌شده به پوشه‌ها (نام پوشه = برچسب کلاس) ارائه دهید. Create ML به طور خودکار افزایش داده (چرخش، مقیاس‌بندی، تغییر رنگ) را برای افزایش اندازه مؤثر مجموعه داده اعمال می‌کند و از شبکه پیش‌آموزش‌دیده Vision FeaturePrint (ResNet-50 اصلاح‌شده) برای استخراج ویژگی‌ها استفاده می‌کند. آموزش با انتقال یادگیری بسته به اندازه مجموعه داده و عملکرد Mac از 2 تا 15 دقیقه طول می‌کشد.

تشخیص اشیاء

قالب Object Detection به تصاویر نشانه‌گذاری‌شده با جعبه‌های محدودکننده (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 در Xcode از سه مرحله تشکیل شده است: آماده‌سازی داده، آموزش و اعتبارسنجی، صادرات. در مرحله آماده‌سازی داده، مجموعه‌های آموزشی و آزمایشی وارد می‌شوند. Create ML به طور خودکار داده‌ها را تقسیم می‌کند (پیش‌فرض 80/20) و توزیع کلاس‌ها را نمایش می‌دهد. در مرحله آموزش، ابزار نمودارهای دقت و خطا را در زمان واقعی و همچنین معیارهایی مانند accuracy، precision، recall، F1-score را نشان می‌دهد. در مرحله اعتبارسنجی می‌توان مدل را روی داده‌های جدید مستقیماً در پنجره Create ML آزمایش کرد.

swift
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")
)

رابط بصری Xcode

رابط گرافیکی Create ML در Xcode پس از انتخاب فایل قالب دسته‌بندی در ویرایشگر کناری نمایش داده می‌شود. این رابط شامل زبانه‌های زیر است: Data (بارگذاری و مشاهده داده)، Features (انتخاب ویژگی‌ها و پارامترها)، Model (معماری شبکه عصبی)، Training (نمودارهای آموزش و معیارها)، Evaluation (آزمایش روی داده‌های کنارگذاشته‌شده)، Preview (آزمایش تعاملی مدل). توسعه‌دهنده می‌تواند بدون توقف آموزش بین زبانه‌ها جابجا شود.

انتقال یادگیری روی مجموعه داده‌های کوچک

انتقال یادگیری (Transfer Learning) — فناوری کلیدی است که قالب‌های Create ML بر آن مبتنی هستند. به جای آموزش شبکه عصبی از صفر (که به میلیون‌ها نمونه نشانه‌گذاری‌شده نیاز دارد)، Create ML از یک شبکه پیش‌آموزش‌دیده (FeaturePrint) به عنوان استخراج‌کننده ویژگی استفاده می‌کند و فقط لایه‌های آخر طبقه‌بند را آموزش می‌دهد. این امر دستیابی به دقت بالا (90-95%) را روی مجموعه‌های 10 تا 50 تصویر به ازای هر کلاس با زمان آموزش 2-5 دقیقه ممکن می‌سازد.

FeaturePrint — استخراج‌کننده‌های پیش‌آموزش‌دیده

Create ML از چند استخراج‌کننده FeaturePrint پیش‌آموزش‌دیده استفاده می‌کند: .scenePrint (بر اساس ResNet-50، آموزش‌دیده روی Places365)، .objectPrint (بر اساس YOLOv5، آموزش‌دیده روی COCO)، .textPrint (بر اساس BERT، آموزش‌دیده روی ویکی‌پدیا). انتخاب استخراج‌کننده به نوع وظیفه و دامنه داده بستگی دارد. به عنوان مثال، .scenePrint برای طبقه‌بندی تصاویر فضاهای داخلی و مناظر مناسب‌تر است، در حالی که .objectPrint برای تشخیص اشیاء خاص (خودروها، افراد، حیوانات) مناسب‌تر است.

افزایش داده (Data Augmentation)

Create ML به طور خودکار افزایش داده را در فرآیند آموزش اعمال می‌کند: بازتاب افقی، چرخش تا 20 درجه، تغییر رنگ، تغییر روشنایی و کنتراست. افزایش به طور تصادفی برای هر تصویر در هر دوره اعمال می‌شود که اندازه مؤثر مجموعه داده را 10-20 برابر افزایش می‌دهد. این امر به ویژه برای مجموعه داده‌های کوچک که بیش‌برازش (overfitting) مشکل اصلی است، اهمیت دارد. پارامترهای افزایش را می‌توان در زبانه Features تنظیم کرد.

آموزش برنامه‌نویسی از طریق Swift API

علاوه بر رابط بصری، Create ML Swift API را برای آموزش برنامه‌نویسی مدل‌ها فراهم می‌کند که امکان خودکارسازی خطوط لوله آموزش و یکپارچه‌سازی آن‌ها با فرآیندهای CI/CD را فراهم می‌کند. Swift API شامل کلاس‌های MLImageClassifier، MLObjectDetector، MLTextClassifier، MLWordTagger، MLTabularRegressor، MLSoundClassifier و MLRecommender است. هر کلاس پروتکل MLModelTrainer را با متدهای train()، evaluate() و write() پیاده‌سازی می‌کند.

swift
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)")

یکپارچه‌سازی CI/CD

Swift API Create ML می‌تواند در اسکریپت‌های build phases Xcode یا در GitLab/GitHub Actions روی runnerهای macOS اجرا شود. این امکان را فراهم می‌کند که مدل به طور خودکار هر بار که مجموعه آموزشی در مخزن به‌روزرسانی می‌شود، دوباره آموزش ببیند. به عنوان مثال، می‌توان خط لوله زیر را پیکربندی کرد: push داده به مخزن → GitLab Runner اسکریپت Swift Create ML را اجرا می‌کند → مدل .mlpackage صادرشده به مخزن commit می‌شود → برنامه با مدل به‌روز ساخته می‌شود.

محدودیت‌های Create ML

با وجود راحتی، Create ML محدودیت‌هایی دارد که هنگام انتخاب ابزار برای وظایف ML باید در نظر گرفته شوند. اصلی‌ترین آن‌ها: فقط روی macOS کار می‌کند، کنترل محدود بر معماری شبکه عصبی، عدم امکان استفاده از لایه‌های سفارشی (custom layers)، وابستگی به استخراج‌کننده‌های داخلی FeaturePrint و عدم پشتیبانی از آموزش روی چند GPU یا در خوشه.

عدم پشتیبانی از خطوط لوله تولید

Create ML برای آموزش تولیدی روی مجموعه داده‌های بزرگ (بیش از 100 000 نمونه) طراحی نشده است. حداکثر اندازه مجموعه داده به حجم RAM Mac محدود است. برای وظایف در مقیاس بزرگ، اپل استفاده از فریم‌ورک‌های Python (TensorFlow، PyTorch) روی زیرساخت سرور با تبدیل بعدی به Core ML از طریق coremltools را توصیه می‌کند. Create ML ابزاری برای نمونه‌سازی و پروژه‌های کوچک است، نه برای ML سازمانی.

الگوریتم‌های محدود برای داده‌های جدولی

برای داده‌های جدولی، Create ML فقط از سه الگوریتم پشتیبانی می‌کند: Random Forest، Gradient Boosting (XGBoost) و Linear Regression. پشتیبانی از شبکه‌های عصبی برای داده‌های جدولی (TabNet، FT-Transformer)، SVM، kNN و روش‌های Ensemble موجود در scikit-learn وجود ندارد. برای وظایف با داده‌های جدولی که نیاز به دقت بالا دارند، Create ML اغلب از کتابخانه‌های کلاسیک ML عقب‌تر است.

فقط برای macOS

آموزش مدل‌ها فقط روی macOS امکان‌پذیر است، زیرا Create ML از Metal Performance Shaders و فریم‌ورک‌های انحصاری macOS استفاده می‌کند. این محدودیت آموزش روی سرورهای Linux یا در خوشه‌های GPU ابری را غیرممکن می‌کند. برای تیم‌هایی که از زیرساخت ابری استفاده می‌کنند، coremltools + Python تنها گزینه باقی می‌ماند.

نمونه‌های استفاده از Create ML در پروژه‌ها

سه سناریوی واقعی استفاده از Create ML در برنامه‌های تجاری را بررسی می‌کنیم: نظارت بر محتوای کاربر، توصیه‌های شخصی و مرتب‌سازی خودکار اسناد. این سناریوها وظایف معمولی را نشان می‌دهند که می‌توان با Create ML بدون دانش عمیق یادگیری ماشین حل کرد.

نظارت بر تصاویر

یک برنامه اشتراک‌گذاری عکس می‌تواند از Image Classification برای نظارت خودکار استفاده کند: آموزش مدل روی 100-200 تصویر با برچسب‌های «مجاز» و «نقض» به فیلتر کردن 85-95% محتوای ناخواسته بدون مشارکت ناظر کمک می‌کند. Create ML امکان به‌روزرسانی مدل را با ورود نمونه‌های جدید نقض با آموزش مجدد در 3-5 دقیقه فراهم می‌کند.

طبقه‌بندی درخواست‌های پشتیبانی

با استفاده از Text Classification Create ML می‌توان به برنامه آموزش داد که درخواست‌های کاربران را به طور خودکار به دسته‌ها طبقه‌بندی کند: مشکل پرداخت، نقص فنی، درخواست ویژگی، شکایت. برای آموزش 50-100 نمونه متنی به ازای هر دسته کافی است. دقت طبقه‌بندی با استفاده از Word Tagger داخلی مبتنی بر BERT به 90% می‌رسد.

سیستم توصیه‌گر محتوا

MLRecommender در Create ML امکان ساخت یک سیستم توصیه‌گر را بر اساس اقدامات کاربران بدون نوشتن دستی فیلتر همکاری‌گرا فراهم می‌کند. مدل روی داده‌های نوع User → Item → Rating (مثلاً کاربر مقاله را لایک کرد) آموزش می‌بیند. Create ML به طور خودکار بین فیلتر همکاری‌گرا و رویکرد محتوایی بر اساس حجم داده انتخاب می‌کند و توصیه‌های N برتر را نمایش می‌دهد.

سوالات متداول

Create ML چیست؟

Create ML — ابزاری از اپل برای آموزش مدل‌های یادگیری ماشین بدون کد است که در Xcode تعبیه شده و به عنوان یک برنامه جداگانه برای macOS در دسترس است. امکان ایجاد مدل‌های Core ML از طریق رابط گرافیکی را فراهم می‌کند و از طبقه‌بندی تصاویر، تحلیل متن، تشخیص اشیاء و سایر وظایف پشتیبانی می‌کند.

تفاوت Create ML با Core ML چیست؟

Create ML برای آموزش مدل‌ها (ایجاد .mlpackage) استفاده می‌شود، در حالی که Core ML برای اجرای مدل‌های آموزش‌دیده روی دستگاه (استنتاج) استفاده می‌شود. Create ML فقط روی macOS کار می‌کند و مدل‌ها را در قالب Core ML تولید می‌کند. این مراحل مختلف یک فرآیند هستند: ابتدا آموزش در Create ML، سپس یکپارچه‌سازی از طریق Core ML در برنامه.

چه مقدار داده برای Create ML نیاز است؟

حداقل مقدار داده به نوع وظیفه بستگی دارد. برای طبقه‌بندی تصاویر با انتقال یادگیری 10-15 تصویر به ازای هر کلاس کافی است. برای تشخیص اشیاء به 30 تصویر نشانه‌گذاری‌شده به ازای هر کلاس نیاز است. برای طبقه‌بندی متن — 50-100 نمونه به ازای هر دسته. مقدار توصیه‌شده 100-200 نمونه به ازای هر کلاس برای دستیابی به دقت 90%+ است.

آیا می‌توان از Create ML در Windows استفاده کرد؟

خیر، Create ML منحصراً روی macOS کار می‌کند. از Metal Performance Shaders برای تسریع آموزش روی GPU و یکپارچه‌سازی با Xcode استفاده می‌کند که در پلتفرم‌های دیگر در دسترس نیستند. اگر Mac ندارید، از Python (TensorFlow/PyTorch) برای آموزش و coremltools برای تبدیل مدل به .mlpackage استفاده کنید.

آیا Create ML رایگان است؟

بله، Create ML بخشی از Xcode است و برای توسعه‌دهندگان اپل کاملاً رایگان است. برای استفاده از آن کافیست Xcode را روی Mac نصب کنید (رایگان از Mac App Store). هیچ مجوز یا اشتراک اضافی مورد نیاز نیست — همه قابلیت‌های آموزش بدون محدودیت در دسترس هستند.

خلاصه

  • Create ML — ابزار اپل برای آموزش مدل‌های ML از طریق رابط گرافیکی Xcode بدون نوشتن کد، که فقط روی macOS کار می‌کند.
  • پشتیبانی از هفت نوع وظیفه: طبقه‌بندی تصاویر، تشخیص اشیاء، طبقه‌بندی و برچسب‌زنی متن، رگرسیون و طبقه‌بندی جدولی، تحلیل صدا، توصیه‌ها.
  • انتقال یادگیری از طریق استخراج‌کننده‌های پیش‌آموزش‌دیده FeaturePrint امکان آموزش مدل‌ها روی مجموعه‌های 10-50 نمونه به ازای هر کلاس در 2-5 دقیقه را فراهم می‌کند.
  • Create ML به عنوان ابزار UI در Xcode و به عنوان Swift API برای آموزش برنامه‌نویسی و یکپارچه‌سازی CI/CD در دسترس است.
  • محدودیت‌ها: فقط macOS، حداکثر اندازه مجموعه داده ~100K نمونه، عدم وجود لایه‌های سفارشی و الگوریتم‌های محدود برای داده‌های جدولی.
  • مدل آماده به فرمت .mlpackage برای یکپارچه‌سازی از طریق Core ML در برنامه‌های iOS/macOS صادر می‌شود.
  • برای مدل‌های پیچیده توصیه می‌شود از فریم‌ورک‌های Python با تبدیل به Core ML از طریق coremltools استفاده کنید.

ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد

IT Sectr از سال 2017 برنامه‌های iOS و Android را برای استارتاپ‌ها و کسب‌وکارها ایجاد می‌کند. ما به شما مشاوره می‌دهیم و بهترین راه‌حل را پیشنهاد خواهیم کرد.

بحث درباره پروژه

همچنین بخوانید