Create ML — är ett verktyg från Apple för att träna maskininlärningsmodeller utan att skriva kod, inbyggt i Xcode och tillgängligt som en separat applikation för macOS. Verktyget låter dig skapa, träna och testa Core ML-modeller med ett grafiskt gränssnitt: ladda bara upp en datauppsättning, välj uppgiftstyp och starta träningen. Enligt Apple Create ML Documentation (2025) stöder verktyget transfer learning baserat på inbyggda neurala nätverk, väljer automatiskt hyperparametrar och exporterar den färdiga modellen i .mlpackage-format.
Huvudpunkter
Create ML — är en komponent i Apples ekosystem för maskininlärning, presenterad på WWDC 2018 som ett verktyg för att träna Core ML-modeller utan att behöva skriva kod. Före Create ML använde utvecklare Python-bibliotek (TensorFlow, PyTorch, scikit-learn) och konverterade sedan modellerna till Core ML via coremltools. Create ML abstraherade hela denna process genom att tillhandahålla ett visuellt gränssnitt, inbyggda neurala nätverk för transfer learning och automatisk export till Core ML-format.
Den första versionen av Create ML (iOS 11/macOS 10.14) stödde endast grundläggande uppgifter: bildklassificering och textanalys. Versionen för macOS 10.15 lade till objektdetektering, ljudanalys och regression. Create ML 3 (macOS 13, 2022) introducerade stöd för rekommendationssystem, tabelldata med automatiskt algoritmval och förbättrad visualisering av träningsprocessen. Create ML 4 (macOS 14, 2024) lade till stöd för dynamiska modeller, träning på strömmande data och integration med Apples molntjänster för distribuerad träning.
Create ML är avsett för tre kategorier av användare: iOS-utvecklare utan ML-erfarenhet som vill lägga till intelligenta funktioner i en app; produktchefer och designers som snabbt vill prototypa ML-funktioner; dataforskare som behöver snabb validering av hypoteser innan de flyttar modellen till produktionsinfrastruktur. För komplexa modeller med icke-standard arkitektur är Create ML inte lämpligt — i sådana fall används Python-ramverk med efterföljande konvertering till Core ML.
Create ML erbjuder sju uppgiftstyper, för var och en finns en förkonfigurerad mall: bildklassificering (Image Classification), objektdetektering (Object Detection), textanalys (Text Classification och Word Tagger), regression av tabelldata (Tabular Regression), klassificering av tabelldata (Tabular Classification), ljudanalys (Sound Classification), rekommendationssystem (Recommendation). Varje mall innehåller en förvald neural nätverksarkitektur som är optimal för den uppgiftstypen.
| Uppgiftstyp | Indata | Exempel på användning |
|---|---|---|
| Image Classification | Bilder med etiketter | Bestämma hundras från foto |
| Object Detection | Bilder med anteckningar | Söka efter ansikten i foto |
| Text Classification | Texter med etiketter | Spamfilter för meddelanden |
| Tabular Regression | Tabelldata (CSV) | Prognos av fastighetspris |
| Sound Classification | Ljudfiler med etiketter | Igenkänning av naturljud |
Image Classification — är den mest populära Create ML-mallen. För att träna modellen räcker det att tillhandahålla en uppsättning bilder uppdelade i mappar (mappnamn = klassetikett). Create ML tillämpar automatiskt dataaugmentering (rotation, skalning, färgförskjutning) för att öka den effektiva storleken på datauppsättningen och använder det förtränade Vision FeaturePrint-nätverket (modifierad ResNet-50) för särdragsextraktion. Träning med transfer learning tar 2 till 15 minuter beroende på datauppsättningens storlek och Macens prestanda.
Mallen Object Detection kräver annoterade bilder med begränsningsrutor (bounding boxes) för varje objekt. Create ML använder arkitekturen YOLOv5 (You Only Look Once), anpassad för Core ML, med förtränade vikter på COCO-datauppsättningen. Minsta mängd är 30 annoterade bilder per klass, rekommenderad — 200+. Create ML stöder import av annotationer i formaten PASCAL VOC, COCO JSON och Create ML JSON.
Arbetsflödet för Create ML i Xcode består av tre steg: dataförberedelse, träning och validering, export. I dataförberedelsesteget importeras tränings- och testdatauppsättningar. Create ML delar automatiskt upp data (standard 80/20) och visar klassfördelningen. I träningssteget visar verktyget grafer över noggrannhet och förlust i realtid, samt mätvärden: accuracy, precision, recall, F1-score. I valideringssteget kan du testa modellen på ny data direkt i Create ML-fönstret.
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")
)
Det grafiska gränssnittet för Create ML i Xcode visas i sidredigeraren efter att du valt en kategorimaltill. Gränssnittet innehåller flikarna: Data (ladda och visa data), Features (välja särdrag och parametrar), Model (neural nätverksarkitektur), Training (träningsgrafer och mätvärden), Evaluation (testning på undanhållen data), Preview (interaktiv testning av modellen). Utvecklaren kan växla mellan flikar under träningens gång utan att stoppa träningen.
Transfer Learning (överföringsinlärning) — är den nyckelteknik som Create ML-mallarna är baserade på. Istället för att träna ett neuralt nätverk från grunden (vilket kräver miljontals märkta exempel) använder Create ML ett förtränat nätverk (FeaturePrint) som särdragsextraktorer och tränar bara de sista lagren i klassificeraren. Detta gör det möjligt att uppnå hög noggrannhet (90-95%) på datauppsättningar med 10 till 50 bilder per klass med en träningstid på 2-5 minuter.
Create ML använder flera förtränade FeaturePrint-extraktorer: .scenePrint (baserad på ResNet-50, tränad på Places365), .objectPrint (baserad på YOLOv5, tränad på COCO), .textPrint (baserad på BERT, tränad på Wikipedia). Valet av extraktor beror på uppgiftstyp och datadomän. Till exempel är .scenePrint mer lämplig för klassificering av bilder av interiörer och landskap, medan .objectPrint är mer lämplig för detektering av specifika objekt (bilar, människor, djur).
Create ML tillämpar automatiskt dataaugmentering under träningen: horisontell spegling, rotation upp till 20 grader, färgförskjutning, ändring av ljusstyrka och kontrast. Augmentering tillämpas slumpmässigt på varje bild i varje epok, vilket ökar den effektiva storleken på datauppsättningen 10-20 gånger. Detta är särskilt viktigt för små datauppsättningar, där överanpassning (overfitting) är huvudproblemet. Augmenteringsparametrar kan justeras på fliken Features.
Förutom det visuella gränssnittet tillhandahåller Create ML ett Swift API för programmeringsbar träning av modeller, vilket gör det möjligt att automatisera träningspipelines och integrera dem i CI/CD-processer. Swift API innehåller klasserna MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier och MLRecommender. Varje klass implementerar protokollet MLModelTrainer med metoderna train(), evaluate() och 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 kan köras i Xcodes build phases-skript eller i GitLab/GitHub Actions på macOS-runners. Detta gör det möjligt att automatiskt återträna modellen varje gång träningsdatauppsättningen i repositoryt uppdateras. Du kan till exempel konfigurera en pipeline: push av data till repositoryt → GitLab Runner kör Swift Create ML-skriptet → den exporterade .mlpackage-modellen committas tillbaka till repositoryt → appen byggs med den uppdaterade modellen.
Trots bekvämligheten har Create ML ett antal begränsningar som är viktiga att överväga när du väljer verktyg för ML-uppgifter. De viktigaste är: fungerar bara på macOS, begränsad kontroll över neural nätverksarkitektur, omöjlighet att använda anpassade lager (custom layers), beroende av inbyggda FeaturePrint-extraktorer och brist på stöd för träning på flera GPU:er eller i kluster.
Create ML är inte avsett för produktionsträning på stora datauppsättningar (mer än 100 000 exempel). Den maximala storleken på datauppsättningen begränsas av Macens RAM-minne. För storskaliga uppgifter rekommenderar Apple att använda Python-ramverk (TensorFlow, PyTorch) på serverinfrastruktur med efterföljande konvertering till Core ML via coremltools. Create ML är ett verktyg för prototypframställning och små projekt, inte för enterprise ML.
För tabelldata stöder Create ML endast tre algoritmer: Random Forest, Gradient Boosting (XGBoost) och Linear Regression. Det saknas stöd för neurala nätverk för tabelldata (TabNet, FT-Transformer), SVM, kNN och ensemblemetoder som finns i scikit-learn. För uppgifter med tabelldata som kräver hög noggrannhet är Create ML ofta sämre än klassiska ML-bibliotek.
Träning av modeller är möjlig endast på macOS, eftersom Create ML använder Metal Performance Shaders och macOS-exklusiva ramverk. Denna begränsning gör träning på Linux-servrar eller i molnbaserade GPU-kluster omöjlig. För team som använder molninfrastruktur är coremltools + Python det enda alternativet.
Låt oss titta på tre verkliga scenarier för användning av Create ML i kommersiella applikationer: moderering av användarinnehåll, personliga rekommendationer och automatisk sortering av dokument. Dessa scenarier visar typiska uppgifter som kan lösas med Create ML utan djupgående kunskaper i maskininlärning.
En fotodelningsapp kan använda Image Classification för automatisk moderering: träning av modellen på 100-200 bilder med etiketterna “tillåten” och “överträdelse” gör det möjligt att filtrera bort 85-95% av oönskat innehåll utan moderatorns medverkan. Create ML gör det möjligt att uppdatera modellen när nya exempel på överträdelser kommer in, genom att återträna den på 3-5 minuter.
Med hjälp av Text Classification i Create ML kan du lära appen att automatiskt klassificera användarärenden i kategorier: betalningsproblem, tekniskt fel, funktionsbegäran, klagomål. För träning räcker 50-100 text exempel per kategori. Klassificeringsnoggrannheten når 90% med den inbyggda Word Tagger baserad på BERT.
MLRecommender i Create ML gör det möjligt att bygga ett rekommendationssystem baserat på användaråtgärder utan att manuellt skriva kollaborativ filtrering. Modellen tränas på data av typen User → Item → Rating (t.ex. en användare gillade en artikel). Create ML väljer automatiskt mellan kollaborativ filtrering och innehållsbaserad metod baserat på datavolymen och visar topp-N-rekommendationer.
Vanliga frågor
Create ML — är ett verktyg från Apple för att träna maskininlärningsmodeller utan kod, inbyggt i Xcode och tillgängligt som en separat applikation för macOS. Det gör det möjligt att skapa Core ML-modeller via ett grafiskt gränssnitt och stöder bildklassificering, textanalys, objektdetektering och andra uppgifter.
Create ML används för att träna modeller (skapa .mlpackage), medan Core ML används för att köra tränade modeller på enheten (inferens). Create ML fungerar bara på macOS och genererar modeller i Core ML-format. Det är olika steg i samma process: först träning i Create ML, sedan integration via Core ML i appen.
Den minsta mängden data beror på uppgiftstypen. För bildklassificering med transfer learning räcker 10-15 bilder per klass. För objektdetektering krävs 30 annoterade bilder per klass. För textklassificering — 50-100 exempel per kategori. Rekommenderad mängd är 100-200 exempel per klass för att uppnå 90%+ noggrannhet.
Nej, Create ML fungerar uteslutande på macOS. Det använder Metal Performance Shaders för att accelerera träning på GPU och integration med Xcode, som inte finns på andra plattformar. Om du inte har en Mac, använd Python (TensorFlow/PyTorch) för träning och coremltools för konvertering av modellen till .mlpackage.
Ja, Create ML ingår i Xcode och är helt gratis för Apple-utvecklare. För att använda det behöver du bara installera Xcode på en Mac (gratis från Mac App Store). Inga ytterligare licenser eller prenumerationer krävs — alla träningsmöjligheter är tillgängliga utan begränsningar.
Sammanfattning
Vi utvecklar en mobil applikation nyckelfärdigt
IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.
Läs också