Create ML — je nástroj od Apple pro učení modelů strojového učení bez psaní kódu, integrovaný do Xcode a dostupný jako samostatná aplikace pro macOS. Nástroj umožňuje vytvářet, trénovat a testovat modely Core ML pomocí grafického rozhraní: stačí nahrát datovou sadu, vybrat typ úlohy a spustit trénování. Podle Apple Create ML Documentation (2025) nástroj podporuje transfer learning na základě vestavěných neuronových sítí, automaticky vybírá hyperparametry a exportuje hotový model ve formátu .mlpackage.
Hlavní body
Create ML — je součást ekosystému strojového učení Apple, představená na WWDC 2018 jako nástroj pro trénování modelů Core ML bez nutnosti psát kód. Před Create ML používali vývojáři knihovny Pythonu (TensorFlow, PyTorch, scikit-learn) a poté konvertovali modely do Core ML přes coremltools. Create ML celý tento proces abstrahoval tím, že poskytl vizuální rozhraní, vestavěné neuronové sítě pro transfer learning a automatický export do formátu Core ML.
První verze Create ML (iOS 11/macOS 10.14) podporovala pouze základní úlohy: klasifikaci obrázků a analýzu textu. Verze pro macOS 10.15 přidala detekci objektů, zvukovou analýzu a regresi. Create ML 3 (macOS 13, 2022) přinesl podporu pro doporučovací systémy, tabulková data s automatickým výběrem algoritmů a vylepšenou vizualizaci procesu učení. Create ML 4 (macOS 14, 2024) přidal podporu pro dynamické modely, učení na streamovaných datech a integraci s cloudovými službami Apple pro distribuované učení.
Create ML je určen pro tři kategorie uživatelů: iOS vývojáře bez zkušeností s ML, kteří chtějí přidat inteligentní funkce do aplikace; produktové manažery a designéry, kteří chtějí rychle prototypovat ML funkce; datové výzkumníky, kteří potřebují rychlou validaci hypotéz před přesunem modelu do produkční infrastruktury. Pro složité modely s nestandardní architekturou Create ML není vhodný — v takových případech se používají frameworky Pythonu s následnou konverzí do Core ML.
Create ML nabízí sedm typů úloh, pro každou z nichž je k dispozici předem nakonfigurovaná šablona: klasifikace obrázků (Image Classification), detekce objektů (Object Detection), analýza textu (Text Classification a Word Tagger), regrese tabulkových dat (Tabular Regression), klasifikace tabulkových dat (Tabular Classification), zvuková analýza (Sound Classification), doporučovací systémy (Recommendation). Každá šablona obsahuje předem vybranou architekturu neuronové sítě optimální pro daný typ úlohy.
| Typ úlohy | Vstupní data | Příklad použití |
|---|---|---|
| Image Classification | Obrázky s popisky | Určení plemene psa z fotografie |
| Object Detection | Obrázky s anotacemi | Hledání obličejů na fotografii |
| Text Classification | Texty s popisky | Spamový filtr pro zprávy |
| Tabular Regression | Tabulková data (CSV) | Predikce ceny nemovitosti |
| Sound Classification | Zvukové soubory s popisky | Rozpoznávání přírodních zvuků |
Image Classification — je nejoblíbenější šablona Create ML. Pro trénování modelu stačí poskytnout sadu obrázků rozdělených do složek (název složky = popisek třídy). Create ML automaticky aplikuje augmentaci dat (rotace, škálování, posun barev) pro zvýšení efektivní velikosti datové sady a používá předtrénovanou síť Vision FeaturePrint (modifikovaný ResNet-50) pro extrakci příznaků. Trénování s transfer learningem trvá 2 až 15 minut v závislosti na velikosti datové sady a výkonu Macu.
Šablona Object Detection vyžaduje anotované obrázky s omezujícími rámečky (bounding boxes) pro každý objekt. Create ML používá architekturu YOLOv5 (You Only Look Once) přizpůsobenou pro Core ML s předtrénovanými váhami na datové sadě COCO. Minimální množství je 30 anotovaných obrázků na třídu, doporučené — 200+. Create ML podporuje import anotací ve formátech PASCAL VOC, COCO JSON a Create ML JSON.
Pracovní postup Create ML v Xcode se skládá ze tří fází: příprava dat, trénování a validace, export. Ve fázi přípravy dat se importují trénovací a testovací sady. Create ML automaticky rozdělí data (výchozí 80/20) a zobrazí distribuci tříd. Ve fázi trénování nástroj zobrazuje grafy přesnosti a ztráty v reálném čase a také metriky: accuracy, precision, recall, F1-score. Ve fázi validace můžete model otestovat na nových datech přímo v okně 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")
)
Grafické rozhraní Create ML v Xcode se zobrazí v bočním editoru po výběru souboru šablony kategorie. Rozhraní obsahuje záložky: Data (načítání a prohlížení dat), Features (výběr příznaků a parametrů), Model (architektura neuronové sítě), Training (grafy trénování a metriky), Evaluation (testování na odložených datech), Preview (interaktivní testování modelu). Vývojář může přepínat mezi záložkami během trénování bez zastavení tréninku.
Transfer Learning (přenosové učení) — je klíčová technologie, na které jsou založeny šablony Create ML. Místo trénování neuronové sítě od nuly (což vyžaduje miliony anotovaných příkladů) používá Create ML předtrénovanou síť (FeaturePrint) jako extraktor příznaků a trénuje pouze poslední vrstvy klasifikátoru. To umožňuje dosáhnout vysoké přesnosti (90-95%) na sadách 10 až 50 obrázků na třídu s dobou trénování 2-5 minut.
Create ML používá několik předtrénovaných extraktorů FeaturePrint: .scenePrint (založený na ResNet-50, trénovaný na Places365), .objectPrint (založený na YOLOv5, trénovaný na COCO), .textPrint (založený na BERT, trénovaný na Wikipedii). Výběr extraktoru závisí na typu úlohy a doméně dat. Například .scenePrint je vhodnější pro klasifikaci obrázků interiérů a krajin, zatímco .objectPrint je vhodnější pro detekci konkrétních objektů (auta, lidé, zvířata).
Create ML automaticky aplikuje augmentaci dat během trénování: horizontální odraz, rotaci až o 20 stupňů, posun barev, změnu jasu a kontrastu. Augmentace se aplikuje náhodně na každý obrázek v každé epoše, což zvyšuje efektivní velikost datové sady 10-20krát. To je důležité zejména pro malé datové sady, kde je přeučení (overfitting) hlavním problémem. Parametry augmentace lze nastavit v záložce Features.
Kromě vizuálního rozhraní poskytuje Create ML Swift API pro programové trénování modelů, což umožňuje automatizovat trénovací pipeline a integrovat je do CI/CD procesů. Swift API obsahuje třídy MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier a MLRecommender. Každá třída implementuje protokol MLModelTrainer s metodami train(), evaluate() a 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 lze spouštět ve skriptech build phases Xcode nebo v GitLab/GitHub Actions na macOS runnerech. To umožňuje automaticky přetrénovat model pokaždé, když je trénovací datová sada v repozitáři aktualizována. Můžete například nakonfigurovat pipeline: push dat do repozitáře → GitLab Runner spustí Swift skript Create ML → exportovaný model .mlpackage se commitne zpět do repozitáře → aplikace se sestaví s aktualizovaným modelem.
Navzdory pohodlí má Create ML řadu omezení, která je důležité zvážit při výběru nástroje pro ML úlohy. Hlavní z nich: funguje pouze na macOS, omezená kontrola nad architekturou neuronové sítě, nemožnost použití vlastních vrstev (custom layers), vázanost na vestavěné extraktory FeaturePrint a chybějící podpora trénování na více GPU nebo v clusteru.
Create ML není určen pro produkční trénování na velkých datových sadách (více než 100 000 příkladů). Maximální velikost datové sady je omezena velikostí operační paměti Macu. Pro rozsáhlé úlohy Apple doporučuje používat frameworky Pythonu (TensorFlow, PyTorch) na serverové infrastruktuře s následnou konverzí do Core ML přes coremltools. Create ML je nástroj pro prototypování a malé projekty, ne pro enterprise ML.
Pro tabulková data Create ML podporuje pouze tři algoritmy: Random Forest, Gradient Boosting (XGBoost) a Linear Regression. Chybí podpora neuronových sítí pro tabulková data (TabNet, FT-Transformer), SVM, kNN a ensemble metod dostupných ve scikit-learn. Pro úlohy s tabulkovými daty vyžadujícími vysokou přesnost Create ML často zaostává za klasickými ML knihovnami.
Trénování modelů je možné pouze na macOS, protože Create ML používá Metal Performance Shaders a macOS-exkluzivní frameworky. Toto omezení znemožňuje trénování na Linux serverech nebo v cloudových GPU clusterech. Pro týmy používající cloudovou infrastrukturu zůstávají coremltools + Python jedinou možností.
Podívejme se na tři reálné scénáře použití Create ML v komerčních aplikacích: moderování uživatelského obsahu, osobní doporučení a automatické třídění dokumentů. Tyto scénáře ukazují typické úlohy, které lze vyřešit pomocí Create ML bez hlubokých znalostí strojového učení.
Aplikace pro sdílení fotografií může použít Image Classification pro automatické moderování: trénování modelu na 100-200 obrázcích s popisky “povoleno” a “porušení” umožňuje filtrovat 85-95% nežádoucího obsahu bez účasti moderátora. Create ML umožňuje aktualizovat model s příchodem nových příkladů porušení přetrénováním během 3-5 minut.
Pomocí Text Classification Create ML můžete naučit aplikaci automaticky klasifikovat požadavky uživatelů do kategorií: problém s platbou, technická závada, žádost o funkci, stížnost. Pro trénování stačí 50-100 textových příkladů na kategorii. Přesnost klasifikace dosahuje 90% při použití vestavěného Word Taggeru založeného na BERT.
MLRecommender v Create ML umožňuje vytvořit doporučovací systém na základě akcí uživatelů bez ručního psaní kolaborativního filtrování. Model se trénuje na datech typu User → Item → Rating (např. uživatel dal like článku). Create ML automaticky vybírá mezi kolaborativním filtrováním a přístupem založeným na obsahu na základě objemu dat a zobrazuje top-N doporučení.
Často kladené otázky
Create ML — je nástroj Apple pro trénování modelů strojového učení bez kódu, integrovaný do Xcode a dostupný jako samostatná aplikace pro macOS. Umožňuje vytvářet modely Core ML přes grafické rozhraní, podporuje klasifikaci obrázků, analýzu textu, detekci objektů a další úlohy.
Create ML se používá pro trénování modelů (vytváření .mlpackage), zatímco Core ML se používá pro provádění natrénovaných modelů na zařízení (inference). Create ML funguje pouze na macOS a generuje modely ve formátu Core ML. Jde o různé fáze stejného procesu: nejprve trénování v Create ML, poté integrace přes Core ML v aplikaci.
Minimální množství dat závisí na typu úlohy. Pro klasifikaci obrázků s transfer learningem stačí 10-15 obrázků na třídu. Pro detekci objektů je potřeba 30 anotovaných obrázků na třídu. Pro textovou klasifikaci — 50-100 příkladů na kategorii. Doporučené množství je 100-200 příkladů na třídu pro dosažení přesnosti 90%+.
Ne, Create ML funguje výhradně na macOS. Používá Metal Performance Shaders pro urychlení trénování na GPU a integraci s Xcode, které nejsou dostupné na jiných platformách. Pokud nemáte Mac, použijte Python (TensorFlow/PyTorch) pro trénování a coremltools pro konverzi modelu do .mlpackage.
Ano, Create ML je součástí Xcode a je zcela zdarma pro Apple vývojáře. K jeho použití stačí nainstalovat Xcode na Mac (zdarma z Mac App Store). Není potřeba žádná další licence ani předplatné — všechny možnosti trénování jsou k dispozici bez omezení.
Shrnutí
Vyvineme mobilní aplikaci na klíč
IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.
Přečtěte si také