Create ML — что это, обучение моделей без кода и интеграция

Автор: IT Sectr Опубликовано: 2026-07-17 Время чтения: 11 мин

Create ML — это инструмент от Apple для обучения моделей машинного обучения без написания кода, встроенный в Xcode и доступный как отдельное приложение для macOS. Инструмент позволяет создавать, обучать и тестировать модели Core ML с использованием графического интерфейса: достаточно загрузить набор данных, выбрать тип задачи и запустить обучение. По данным Apple Create ML Documentation (2025), инструмент поддерживает transfer learning на базе встроенных нейросетей, автоматически подбирает гиперпараметры и экспортирует готовую модель в формат .mlpackage.

Главное

  • Create ML — инструмент Apple для обучения ML-моделей через графический интерфейс в Xcode без написания кода.
  • Поддерживает задачи: классификация изображений, анализ текста, обнаружение объектов, регрессия и звуковой анализ.
  • Transfer Learning использует предобученные нейросети (Vision FeaturePrint) для обучения на малых наборах данных (от 10 изображений).
  • Готовую модель можно экспортировать в .mlpackage для интеграции в приложение через Core ML.
  • Create ML доступен как в виде UI-приложения на macOS, так и в виде Swift API для программного обучения.

Что такое Create ML?

Create ML — это компонент экосистемы машинного обучения Apple, представленный на WWDC 2018 как инструмент для обучения моделей Core ML без необходимости писать код. До Create ML разработчики использовали Python-библиотеки (TensorFlow, PyTorch, scikit-learn) и затем конвертировали модели в Core ML через coremltools. Create ML абстрагировал весь этот процесс, предоставив визуальный интерфейс, встроенные нейросети для transfer learning и автоматический экспорт в формат 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) добавил поддержму динамических моделей, обучение на потоковых данных и интеграцию с облачными сервисами Apple для распределённого обучения.

Кому подходит 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 автоматически применяет data augmentation (поворот, масштабирование, сдвиг цвета) для увеличения эффективного размера датасета и использует предобученную сеть Vision FeaturePrint (модифицированная ResNet-50) для извлечения признаков. Обучение с transfer learning занимает от 2 до 15 минут в зависимости от размера датасета и производительности Mac.

Обнаружение объектов

Шаблон 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 на малых датасетах

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, обучен на Wikipedia). Выбор экстрактора зависит от типа задачи и домена данных. Например, .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 интеграция

Create ML Swift API может быть запущен в скриптах build phases Xcode или в GitLab/GitHub Actions на macOS-раннерах. Это позволяет retrain модель автоматически каждый раз, когда обновляется тренировочный датасет в репозитории. Например, можно настроить пайплайн: push данных в репозиторий → GitLab Runner запускает Swift-скрипт Create ML → экспортированная модель .mlpackage коммитится обратно в репозиторий → приложение собирается с обновлённой моделью.

Ограничения Create ML

Несмотря на удобство, 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

Обучение моделей возможно только на macOS, так как Create ML использует Metal Performance Shaders и macOS-exclusive фреймворки. Это ограничение делает невозможным обучение на Linux-серверах или в облачных GPU-кластерах. Для команд, использующих облачную инфраструктуру, coremltools + Python остаются единственным вариантом.

Примеры использования Create ML в проектах

Рассмотрим три реальных сценария использования Create ML в коммерческих приложениях: модерация пользовательского контента, персональные рекомендации и автоматическая сортировка документов. Эти сценарии демонстрируют типичные задачи, которые можно решить с помощью Create ML без глубоких знаний машинного обучения.

Модерация изображений

Приложение для обмена фотографиями может использовать Image Classification для автоматической модерации: обучение модели на 100-200 изображениях с метками "допустимо" и "нарушение" позволяет отфильтровывать 85-95% нежелательного контента без участия модератора. Create ML позволяет обновлять модель по мере поступления новых примеров нарушений, переобучая её за 3-5 минут.

Классификация обращений в support

С помощью Text Classification Create ML можно научить приложение автоматически классифицировать обращения пользователей по категориям: проблема с оплатой, техническая неисправность, запрос функции, жалоба. Для обучения достаточно 50-100 текстовых примеров на категорию. Точность классификации достигает 90% при использовании встроенного Word Tagger на основе BERT.

Рекомендательная система для контента

MLRecommender в Create ML позволяет построить рекомендательную систему на основе действий пользователей без написания коллаборативной фильтрации вручную. Модель обучается на данных типа User → Item → Rating (например, пользователь поставил лайк статье). Create ML автоматически выбирает между коллаборативной фильтрацией и контентным подходом на основе объёма данных и выводит топ-N рекомендаций.

Часто задаваемые вопросы

Что такое Create ML?

Create ML — это инструмент от Apple для обучения моделей машинного обучения без кода, встроенный в Xcode и доступный как отдельное приложение для macOS. Позволяет создавать модели Core ML через графический интерфейс, поддерживая классификацию изображений, анализ текста, обнаружение объектов и другие задачи.

Чем Create ML отличается от Core ML?

Create ML используется для обучения моделей (создания .mlpackage), а Core ML — для выполнения обученных моделей на устройстве (инференс). Create ML работает только на macOS и генерирует модели в формате Core ML. Это разные этапы одного процесса: сначала обучение в Create ML, затем интеграция через Core ML в приложении.

Сколько данных нужно для Create ML?

Минимальное количество данных зависит от типа задачи. Для классификации изображений с transfer learning достаточно 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 и полностью бесплатен для разработчиков Apple. Для его использования достаточно установить Xcode на Mac (бесплатно из Mac App Store). Никаких дополнительных лицензий или подписок не требуется — все возможности обучения доступны без ограничений.

Итоги

  • Create ML — инструмент Apple для обучения ML-моделей через графический интерфейс Xcode без написания кода, работающий только на macOS.
  • Поддерживает семь типов задач: классификация изображений, обнаружение объектов, текстовые классификация и теггинг, табличные регрессия и классификация, звуковой анализ, рекомендации.
  • Transfer Learning через предобученные 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 создаёт приложения для iOS и Android для стартапов и бизнеса с 2017 года. Мы проконсультируем вас и предложим наилучшее решение.

Обсудить проект

Читайте также