Create ML — ابزاری از اپل برای آموزش مدلهای یادگیری ماشین بدون نوشتن کد است که در Xcode تعبیه شده و به عنوان یک برنامه جداگانه برای macOS در دسترس است. این ابزار امکان ایجاد، آموزش و آزمایش مدلهای Core ML را با استفاده از رابط گرافیکی فراهم میکند: کافیست مجموعه داده را بارگذاری کنید، نوع وظیفه را انتخاب کنید و آموزش را اجرا کنید. به گفته Apple Create ML Documentation (2025)، این ابزار از انتقال یادگیری (transfer learning) بر اساس شبکههای عصبی داخلی پشتیبانی میکند، به طور خودکار فراپارامترها را انتخاب میکند و مدل آماده را در قالب .mlpackage صادر میکند.
نکات اصلی
Create ML — مؤلفهای از اکوسیستم یادگیری ماشین اپل است که در WWDC 2018 به عنوان ابزاری برای آموزش مدلهای Core ML بدون نیاز به نوشتن کد معرفی شد. قبل از Create ML، توسعهدهندگان از کتابخانههای Python (TensorFlow، PyTorch، scikit-learn) استفاده میکردند و سپس مدلها را از طریق coremltools به Core ML تبدیل میکردند. 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) پشتیبانی از مدلهای پویا، آموزش روی دادههای جریانی و یکپارچهسازی با سرویسهای ابری اپل برای آموزش توزیعشده را اضافه کرد.
Create ML برای سه دسته کاربر طراحی شده است: توسعهدهندگان iOS بدون تجربه ML که میخواهند قابلیتهای هوشمند را به برنامه اضافه کنند؛ مدیران محصول و طراحانی که میخواهند به سرعت قابلیتهای ML را نمونهسازی کنند؛ محققان داده که نیاز به اعتبارسنجی سریع فرضیهها قبل از انتقال مدل به زیرساخت تولید دارند. برای مدلهای پیچیده با معماری غیراستاندارد، Create ML مناسب نیست — در چنین مواردی از فریمورکهای Python با تبدیل بعدی به Core 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 | فایلهای صوتی با برچسب | تشخیص صداهای طبیعت |
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 به طور خودکار دادهها را تقسیم میکند (پیشفرض 80/20) و توزیع کلاسها را نمایش میدهد. در مرحله آموزش، ابزار نمودارهای دقت و خطا را در زمان واقعی و همچنین معیارهایی مانند accuracy، precision، recall، F1-score را نشان میدهد. در مرحله اعتبارسنجی میتوان مدل را روی دادههای جدید مستقیماً در پنجره 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، آموزشدیده روی ویکیپدیا). انتخاب استخراجکننده به نوع وظیفه و دامنه داده بستگی دارد. به عنوان مثال، .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 روی runnerهای macOS اجرا شود. این امکان را فراهم میکند که مدل به طور خودکار هر بار که مجموعه آموزشی در مخزن بهروزرسانی میشود، دوباره آموزش ببیند. به عنوان مثال، میتوان خط لوله زیر را پیکربندی کرد: push داده به مخزن → GitLab Runner اسکریپت Swift Create ML را اجرا میکند → مدل .mlpackage صادرشده به مخزن commit میشود → برنامه با مدل بهروز ساخته میشود.
با وجود راحتی، 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 امکانپذیر است، زیرا Create ML از Metal Performance Shaders و فریمورکهای انحصاری macOS استفاده میکند. این محدودیت آموزش روی سرورهای Linux یا در خوشههای GPU ابری را غیرممکن میکند. برای تیمهایی که از زیرساخت ابری استفاده میکنند، coremltools + Python تنها گزینه باقی میماند.
سه سناریوی واقعی استفاده از 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 — ابزاری از اپل برای آموزش مدلهای یادگیری ماشین بدون کد است که در 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 است و برای توسعهدهندگان اپل کاملاً رایگان است. برای استفاده از آن کافیست Xcode را روی Mac نصب کنید (رایگان از Mac App Store). هیچ مجوز یا اشتراک اضافی مورد نیاز نیست — همه قابلیتهای آموزش بدون محدودیت در دسترس هستند.
خلاصه
ما یک اپلیکیشن موبایل به صورت کلید در دست توسعه خواهیم داد
IT Sectr از سال 2017 برنامههای iOS و Android را برای استارتاپها و کسبوکارها ایجاد میکند. ما به شما مشاوره میدهیم و بهترین راهحل را پیشنهاد خواهیم کرد.
همچنین بخوانید