Create ML — це інструмент від Apple для навчання моделей машинного навчання без написання коду, вбудований в Xcode та доступний як окремий застосунок для macOS. Інструмент дозволяє створювати, навчати та тестувати моделі Core ML за допомогою графічного інтерфейсу: достатньо завантажити набір даних, вибрати тип завдання та запустити навчання. За даними Apple Create ML Documentation (2025), інструмент підтримує transfer learning на базі вбудованих нейромереж, автоматично підбирає гіперпараметри та експортує готову модель у формат .mlpackage.
Головне
Create ML — це компонент екосистеми машинного навчання Apple, представлений на WWDC 2018 як інструмент для навчання моделей Core ML без необхідності писати код. До Create ML розробники використовували Python-бібліотеки (TensorFlow, PyTorch, scikit-learn) і потім конвертували моделі в Core ML через coremltools. Create ML абстрагував весь цей процес, надавши візуальний інтерфейс, вбудовані нейромережі для transfer learning та автоматичний експорт у формат 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 пропонує сім типів завдань, для кожного з яких доступний попередньо налаштований шаблон: класифікація зображень (Image Classification), виявлення об'єктів (Object Detection), аналіз тексту (Text Classification і Word Tagger), регресія табличних даних (Tabular Regression), класифікація табличних даних (Tabular Classification), звуковий аналіз (Sound Classification), рекомендаційні системи (Recommendation). Кожен шаблон включає попередньо обрану архітектуру нейромережі, оптимальну для даного типу завдання.
| Тип завдання | Вхідні дані | Приклад використання |
|---|---|---|
| Класифікація зображень | Зображення з мітками | Визначення породи собаки за фото |
| Виявлення об'єктів | Зображення з анотаціями | Пошук облич на фотографії |
| Класифікація тексту | Тексти з мітками | Спам-фільтр для повідомлень |
| Таблична регресія | Табличні дані (CSV) | Прогноз ціни нерухомості |
| Класифікація звуку | Аудіофайли з мітками | Розпізнавання звуків природи |
Класифікація зображень — найпопулярніший шаблон Create ML. Для навчання моделі достатньо надати набір зображень, розділених по папках (ім'я папки = мітка класу). Create ML автоматично застосовує data augmentation (поворот, масштабування, зсув кольору) для збільшення ефективного розміру датасету та використовує попередньо навчену мережу Vision FeaturePrint (модифікована ResNet-50) для вилучення ознак. Навчання з transfer learning займає від 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) та відображає розподіл класів. На етапі навчання інструмент показує графіки точності та втрат у реальному часі, а також метрики: 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, навчений на 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)")
Create ML Swift API може бути запущений у скриптах build phases Xcode або в GitLab/GitHub Actions на macOS-раннерах. Це дозволяє перетренувати модель автоматично кожного разу, коли оновлюється тренувальний датасет у репозиторії. Наприклад, можна налаштувати пайплайн: push даних у репозиторій → GitLab Runner запускає Swift-скрипт Create ML → експортована модель .mlpackage комітиться назад у репозиторій → застосунок збирається з оновленою моделлю.
Незважаючи на зручність, Create ML має ряд обмежень, які важливо враховувати при виборі інструменту для ML-завдань. Основні з них: робота тільки на macOS, обмежений контроль над архітектурою нейромережі, неможливість використання користувацьких шарів (custom layers), прив'язка до вбудованих FeaturePrint екстракторів та відсутність підтримки навчання на кількох GPU або в кластері.
Create ML не призначений для продакшен-навчання на великих датасетах (більше 100 000 прикладів). Максимальний розмір датасету обмежений об'ємом оперативної пам'яті Mac. Для масштабних завдань Apple рекомендує використовувати Python-фреймворки (TensorFlow, PyTorch) на серверній інфраструктурі з подальшою конвертацією в Core ML через coremltools. Create ML — це інструмент для прототипування та малих проектів, а не для enterprise ML.
Для табличних даних Create ML підтримує лише три алгоритми: Random Forest, Gradient Boosting (XGBoost) та Linear Regression. Відсутня підтримка нейромереж для табличних даних (TabNet, FT-Transformer), SVM, kNN та ансамблевих методів, доступних у scikit-learn. Для завдань з табличними даними, що потребують високої точності, Create ML часто поступається класичним ML-бібліотекам.
Навчання моделей можливе тільки на macOS, оскільки Create ML використовує Metal Performance Shaders та macOS-exclusive фреймворки. Це обмеження робить неможливим навчання на Linux-серверах або в хмарних GPU-кластерах. Для команд, які використовують хмарну інфраструктуру, coremltools + Python залишаються єдиним варіантом.
Розглянемо три реальних сценарії використання Create ML в комерційних застосунках: модерація користувацького контенту, персональні рекомендації та автоматичне сортування документів. Ці сценарії демонструють типові завдання, які можна вирішити за допомогою Create ML без глибоких знань машинного навчання.
Застосунок для обміну фотографіями може використовувати Класифікацію зображень для автоматичної модерації: навчання моделі на 100-200 зображеннях з мітками “допустимо” та “порушення” дозволяє відфільтровувати 85-95% небажаного контенту без участі модератора. Create ML дозволяє оновлювати модель у міру надходження нових прикладів порушень, перенавчаючи її за 3-5 хвилин.
За допомогою Класифікації тексту Create ML можна навчити застосунок автоматично класифікувати звернення користувачів за категоріями: проблема з оплатою, технічна несправність, запит функції, скарга. Для навчання достатньо 50-100 текстових прикладів на категорію. Точність класифікації досягає 90% при використанні вбудованого Word Tagger на основі 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 в застосунку.
Мінімальна кількість даних залежить від типу завдання. Для класифікації зображень з transfer learning достатньо 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 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.