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 автоматично прилага уголемяване на данните (завъртане, мащабиране, изместване на цвят) за увеличаване на ефективния размер на набора от данни и използва предварително обучената мрежа 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 интеграция

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

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

Въпреки удобството, Create ML има редица ограничения, които са важни при избора на инструмент за ML задачи. Основните от тях: работи само на macOS, ограничен контрол върху архитектурата на невронната мрежа, невъзможност за използване на персонализирани слоеве (custom layers), обвързаност с вградените FeaturePrint екстрактори и липса на поддръжка за обучение на множество GPU или в клъстер.

Няма поддръжка на производствени пайплайни

Create ML не е предназначен за производствено обучение върху големи набори от данни (повече от 100 000 примера). Максималният размер на набора от данни е ограничен от обема RAM на 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-ексклузивни рамки. Това ограничение прави невъзможно обучението на 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 текстови примера на категория. Точността на класификация достига 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 г. Ще ви консултираме и ще предложим най-доброто решение.

Обсъдете проекта

Прочетете също