Create ML — az Apple eszköze gépi tanulási modellek tanítására kódírás nélkül, beépítve az Xcode-ba és különálló alkalmazásként elérhető macOS-re. Az eszköz lehetővé teszi Core ML modellek létrehozását, tanítását és tesztelését grafikus felületen keresztül: elég betölteni egy adatkészletet, kiválasztani a feladat típusát és elindítani a tanítást. Az Apple Create ML Documentation (2025) szerint az eszköz támogatja a transfer learninget a beépített neurális hálózatok alapján, automatikusan kiválasztja a hiperparamétereket és exportálja a kész modellt .mlpackage formátumban.
Főbb pontok
Create ML — az Apple gépi tanulási ökoszisztémájának összetevője, amelyet a WWDC 2018-on mutattak be a Core ML modellek tanítására szolgáló eszközként kódírás nélkül. A Create ML előtt a fejlesztők Python könyvtárakat (TensorFlow, PyTorch, scikit-learn) használtak, majd a modelleket coremltools segítségével konvertálták Core ML-be. A Create ML absztrahálta ezt a teljes folyamatot, vizuális felületet, beépített neurális hálózatokat a transfer learninghez és automatikus exportot biztosítva Core ML formátumba.
A Create ML első verziója (iOS 11/macOS 10.14) csak alapvető feladatokat támogatott: képbesorolást és szövegelemzést. A macOS 10.15 verzió objektumdetektálást, hangelemzést és regressziót adott hozzá. A Create ML 3 (macOS 13, 2022) támogatást hozott ajánlórendszerekhez, táblázatos adatokhoz automatikus algoritmusválasztással és javított tanítási vizualizációval. A Create ML 4 (macOS 14, 2024) dinamikus modellek, adatfolyamokon való tanítás és az Apple felhőszolgáltatásaival való integráció támogatását adta hozzá elosztott tanításhoz.
A Create ML három felhasználói kategóriának készült: iOS fejlesztőknek ML tapasztalat nélkül, akik intelligens funkciókat szeretnének hozzáadni az alkalmazáshoz; termékmenedzsereknek és tervezőknek, akik gyorsan szeretnének ML funkciókat prototipizálni; adatkutatóknak, akiknek gyors hipotézisvalidációra van szükségük, mielőtt a modellt a termelési infrastruktúrába helyeznék. Összetett, nem szabványos architektúrájú modellekhez a Create ML nem alkalmas — ilyen esetekben Python keretrendszereket használnak későbbi Core ML konverzióval.
A Create ML hét feladattípust kínál, mindegyikhez előre konfigurált sablonnal: képbesorolás (Image Classification), objektumdetektálás (Object Detection), szövegelemzés (Text Classification és Word Tagger), táblázatos regresszió (Tabular Regression), táblázatos besorolás (Tabular Classification), hangelemzés (Sound Classification), ajánlórendszerek (Recommendation). Minden sablon tartalmaz egy előre kiválasztott neurális hálózati architektúrát, amely optimális az adott feladattípushoz.
| Feladat típusa | Bemeneti adatok | Használati példa |
|---|---|---|
| Image Classification | Címkézett képek | Kutyafajta meghatározása fotóról |
| Object Detection | Jegyzetekkel ellátott képek | Arcok keresése fotón |
| Text Classification | Címkézett szövegek | Spamszűrő üzenetekhez |
| Tabular Regression | Táblázatos adatok (CSV) | Ingatlanár előrejelzése |
| Sound Classification | Címkézett audiófájlok | Természeti hangok felismerése |
Image Classification — a legnépszerűbb Create ML sablon. A modell tanításához elegendő mappákba osztott képek halmazát biztosítani (mappanév = osztálycímke). A Create ML automatikusan alkalmaz adataugmentációt (forgatás, méretezés, színeltolás) az adatkészlet effektív méretének növelésére, és az előre betanított Vision FeaturePrint hálózatot (módosított ResNet-50) használja jellemzőkinyerésre. A transfer learninggel történő tanítás 2-15 percig tart az adatkészlet méretétől és a Mac teljesítményétől függően.
Az Object Detection sablon minden objektumhoz határolókeretekkel (bounding boxes) ellátott képeket igényel. A Create ML a Core ML-hez adaptált YOLOv5 (You Only Look Once) architektúrát használja, előre betanított súlyokkal a COCO adatkészleten. A minimum 30 jegyzetelt kép osztályonként, az ajánlott — 200+. A Create ML támogatja a jegyzetek importálását PASCAL VOC, COCO JSON és Create ML JSON formátumokban.
A munkafolyamat a Create ML-ben az Xcode-ban három szakaszból áll: adat-előkészítés, tanítás és validáció, export. Az adat-előkészítés szakaszában a tanító és teszt adatkészletek importálásra kerülnek. A Create ML automatikusan felosztja az adatokat (alapértelmezés szerint 80/20) és megjeleníti az osztályok eloszlását. A tanítás szakaszában az eszköz valós idejű pontosság- és veszteséggrafikonokat, valamint metrikákat mutat: accuracy, precision, recall, F1-score. A validációs szakaszban tesztelheti a modellt új adatokon közvetlenül a Create ML ablakban.
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")
)
A Create ML grafikus felülete az Xcode-ban az oldalsó szerkesztőben jelenik meg a kategóriasablon fájl kiválasztása után. A felület a következő lapokat tartalmazza: Data (adatok betöltése és megtekintése), Features (jellemzők és paraméterek kiválasztása), Model (neurális hálózat architektúrája), Training (tanítási grafikonok és metrikák), Evaluation (tesztelés félretett adatokon), Preview (a modell interaktív tesztelése). A fejlesztő a tanítás leállítása nélkül válthat a lapok között.
Transfer Learning (átviteli tanulás) — a kulcstechnológia, amelyen a Create ML sablonok alapulnak. Ahelyett, hogy a neurális hálózatot a nulláról tanítanák (ami milliónyi címkézett példát igényel), a Create ML egy előre betanított hálózatot (FeaturePrint) használ jellemzőkinyerőként, és csak az osztályozó utolsó rétegeit tanítja. Ez lehetővé teszi a magas pontosság (90-95%) elérését osztályonként 10-50 képet tartalmazó adatkészleteken, 2-5 perces tanítási idővel.
A Create ML több előre betanított FeaturePrint kinyerőt használ: .scenePrint (ResNet-50 alapú, Places365ön tanítva), .objectPrint (YOLOv5 alapú, COCO-n tanítva), .textPrint (BERT alapú, a Wikipédián tanítva). A kinyerő kiválasztása a feladat típusától és az adatok doménjétől függ. Például a .scenePrint alkalmasabb belső terek és tájak képeinek osztályozására, míg a .objectPrint konkrét objektumok (autók, emberek, állatok) detektálására.
A Create ML automatikusan alkalmaz adataugmentációt a tanítás során: vízszintes tükrözés, 20 fokos forgatás, színeltolás, fényerő- és kontrasztváltoztatás. Az augmentáció véletlenszerűen kerül alkalmazásra minden képre minden epochban, ami 10-20-szorosára növeli az adatkészlet effektív méretét. Ez különösen fontos kis adatkészleteknél, ahol a túltanulás (overfitting) a fő probléma. Az augmentációs paraméterek a Features lapon állíthatók be.
A vizuális felületen kívül a Create ML Swift API-t biztosít a modellek programozott tanításához, lehetővé téve a tanítási csővezetékek automatizálását és CI/CD folyamatokba való integrálását. A Swift API tartalmazza az MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier és MLRecommender osztályokat. Minden osztály implementálja az MLModelTrainer protokollt a train(), evaluate() és write() metódusokkal.
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)")
A Create ML Swift API futtatható Xcode build phases szkriptjeiben vagy GitLab/GitHub Actions rendszerekben macOS futókon. Ez lehetővé teszi a modell automatikus újratanítását minden alkalommal, amikor a tanító adatkészlet a repóban frissül. Például beállíthat egy csővezetéket: adatok push-olása a repóba → GitLab Runner futtatja a Swift Create ML szkriptet → az exportált .mlpackage modell visszakerül a repóba → az alkalmazás a frissített modellel épül.
A kényelem ellenére a Create ML számos korláttal rendelkezik, amelyeket figyelembe kell venni az ML feladatok eszközének kiválasztásakor. A főbbek: csak macOS-en működik, korlátozott kontroll a neurális hálózat architektúrája felett, egyedi rétegek (custom layers) használatának lehetetlensége, a beépített FeaturePrint kinyerőkhöz való kötöttség és a több GPU-n vagy klaszterben történő tanítás támogatásának hiánya.
A Create ML nem termelési tanításra készült nagy adatkészleteken (több mint 100 000 példa). Az adatkészlet maximális méretét a Mac RAM mennyisége korlátozza. Nagyszabású feladatokhoz az Apple Python keretrendszerek (TensorFlow, PyTorch) használatát ajánlja szerverinfrastruktúrán, későbbi Core ML konverzióval coremltools segítségével. A Create ML prototipizálási és kisprojekt eszköz, nem enterprise ML-hez.
Táblázatos adatokhoz a Create ML csak három algoritmust támogat: Random Forest, Gradient Boosting (XGBoost) és Linear Regression. Hiányzik a neurális hálózatok támogatása táblázatos adatokhoz (TabNet, FT-Transformer), SVM, kNN és a scikit-learn-ben elérhető együttes módszerek. A magas pontosságot igénylő táblázatos adatfeladatoknál a Create ML gyakran alulmarad a klasszikus ML könyvtárakkal szemben.
A modellek tanítása csak macOS-en lehetséges, mivel a Create ML Metal Performance Shaders-t és macOS-exkluzív keretrendszereket használ. Ez a korlátozás lehetetlenné teszi a tanítást Linux szervereken vagy felhő GPU klaszterekben. A felhőinfrastruktúrát használó csapatok számára a coremltools + Python marad az egyetlen lehetőség.
Nézzünk három valós forgatókönyvet a Create ML kereskedelmi alkalmazásokban való használatára: felhasználói tartalom moderálása, személyes ajánlások és dokumentumok automatikus rendezése. Ezek a forgatókönyvek tipikus feladatokat mutatnak be, amelyek megoldhatók a Create ML-lel mély gépi tanulási ismeretek nélkül.
Egy fotómegosztó alkalmazás használhatja az Image Classification-t automatikus moderálásra: a modell tanítása 100-200 „engedélyezett” és „szabálysértés” címkéjű képen lehetővé teszi a nem kívánt tartalom 85-95%-ának kiszűrését moderátor részvétele nélkül. A Create ML lehetővé teszi a modell frissítését az új szabálysértési példák érkezésével, 3-5 perces újratanítással.
A Text Classification segítségével a Create ML megtanítható a felhasználói kérések automatikus kategorizálására: fizetési probléma, technikai hiba, funkciókérés, panasz. A tanításhoz kategóriánként 50-100 szöveges példa elegendő. Az osztályozás pontossága eléri a 90%-ot a BERT-alapú beépített Word Tagger használatával.
A MLRecommender a Create ML-ben lehetővé teszi egy ajánlórendszer felépítését a felhasználói műveletek alapján, kézi kollaboratív szűrés írása nélkül. A modell User → Item → Rating típusú adatokon tanul (pl. a felhasználó like-olt egy cikket). A Create ML automatikusan választ a kollaboratív szűrés és a tartalom alapú megközelítés között az adatmennyiség alapján, és megjeleníti a top-N ajánlásokat.
Gyakran ismételt kérdések
Create ML — az Apple eszköze gépi tanulási modellek tanítására kód nélkül, beépítve az Xcode-ba és különálló alkalmazásként elérhető macOS-hez. Lehetővé teszi Core ML modellek létrehozását grafikus felületen keresztül, támogatva a képbesorolást, szövegelemzést, objektumdetektálást és egyéb feladatokat.
Create ML a modellek tanítására (mlpackage létrehozása) szolgál, míg a Core ML a betanított modellek eszközön való futtatására (inferencia). A Create ML csak macOS-en működik és modelleket generál Core ML formátumban. Ugyanazon folyamat különböző szakaszai: először tanítás a Create ML-ben, majd integráció a Core ML-en keresztül az alkalmazásban.
A minimális adatmennyiség a feladat típusától függ. Képbesoroláshoz transfer learninggel osztályonként 10-15 kép elegendő. Objektumdetektáláshoz osztályonként 30 jegyzetelt kép szükséges. Szövegosztályozáshoz — kategóriánként 50-100 példa. Az ajánlott mennyiség osztályonként 100-200 példa a 90%+ pontosság eléréséhez.
Nem, a Create ML kizárólag macOS-en működik. Metal Performance Shaders-t használ a GPU-s tanítás gyorsításához és Xcode integrációt, amelyek más platformokon nem érhetők el. Ha nincs Mac-je, használja a Python-t (TensorFlow/PyTorch) a tanításhoz és a coremltools-t a modell .mlpackage formátumba konvertálásához.
Igen, a Create ML az Xcode része és teljesen ingyenes az Apple fejlesztők számára. Használatához elegendő az Xcode telepítése Mac-en (ingyenes a Mac App Store-ból). Nincs szükség további licencekre vagy előfizetésekre — minden tanítási képesség korlátozás nélkül elérhető.
Összefoglaló
Kulcsrakész mobilalkalmazást fejlesztünk
Az IT Sectr 2017 óta készít iOS és Android alkalmazásokat induló vállalkozásoknak és vállalkozásoknak. Tanácsot adunk, és a legjobb megoldást javasoljuk.
Olvassa el is