Create ML — јесте Аппле-ов алат за обуку модела машинског учења без писања кода, уграђен у 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 је апстраховао цео овај процес, пружајући визуелни интерфејс, уграђене неуронске мреже за трансфер учење и аутоматски извоз у 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). Сваки шаблон укључује унапред изабрану архитектуру неуронске мреже, оптималну за дати тип задатка.
| Тип задатка | Улазни подаци | Пример употребе |
|---|---|---|
| Image Classification | Слике са ознакама | Одређивање расе пса са фотографије |
| Object Detection | Слике са анотацијама | Проналажење лица на фотографији |
| Text Classification | Текстови са ознакама | Спам филтер за поруке |
| Tabular Regression | Табеларни подаци (CSV) | Прогноза цене некретнине |
| Sound Classification | Аудио датотеке са ознакама | Препознавање звукова природе |
Image Classification — најпопуларнији шаблон Create ML-а. За обуку модела довољно је обезбедити скуп слика подељених у фасцикле (име фасцикле = ознака класе). Create ML аутоматски примењује увећање података (ротацију, скалирање, померање боје) ради повећања ефективне величине скупа података и користи претходно обучену мрежу Vision FeaturePrint (модификовани ResNet-50) за екстракцију карактеристика. Обука са трансфер учењем траје од 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 аутоматски дели податке (подразумевано 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)")
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 примера). Максимална величина скупа података ограничена је количином 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-у, јер 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 текстуалних примера по категорији. Прецизност класификације достиже 90% коришћењем уграђеног Word Tagger-а заснованог на BERT-у.
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-а и потпуно је бесплатан за Apple програмере. За његово коришћење довољно је инсталирати Xcode на Mac-у (бесплатно из Mac App Store-а). Никакве додатне лиценце или претплате нису потребне — све могућности обуке доступне су без ограничења.
Закључак
Развићемо мобилну апликацију под кључ
IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.
Прочитајте такође