Create ML — to narzędzie firmy Apple do uczenia modeli uczenia maszynowego bez pisania kodu, wbudowane w Xcode i dostępne jako osobna aplikacja dla macOS. Narzędzie pozwala tworzyć, uczyć i testować modele Core ML za pomocą interfejsu graficznego: wystarczy załadować zestaw danych, wybrać typ zadania i uruchomić uczenie. Według Apple Create ML Documentation (2025), narzędzie obsługuje transfer learning w oparciu o wbudowane sieci neuronowe, automatycznie dobiera hiperparametry i eksportuje gotowy model w formacie .mlpackage.
Najważniejsze
Create ML — to komponent ekosystemu uczenia maszynowego Apple, zaprezentowany na WWDC 2018 jako narzędzie do uczenia modeli Core ML bez konieczności pisania kodu. Przed Create ML programiści używali bibliotek Pythona (TensorFlow, PyTorch, scikit-learn), a następnie konwertowali modele do Core ML za pomocą coremltools. Create ML zautomatyzował cały ten proces, dostarczając interfejs wizualny, wbudowane sieci neuronowe do transfer learningu i automatyczny eksport do formatu Core ML.
Pierwsza wersja Create ML (iOS 11/macOS 10.14) obsługiwała tylko podstawowe zadania: klasyfikację obrazów i analizę tekstu. Wersja dla macOS 10.15 dodała wykrywanie obiektów, analizę dźwięku i regresję. Create ML 3 (macOS 13, 2022) wprowadził obsługę systemów rekomendacji, danych tabelarycznych z automatycznym wyborem algorytmów i ulepszoną wizualizację procesu uczenia. Create ML 4 (macOS 14, 2024) dodał obsługę modeli dynamicznych, uczenie na danych strumieniowych i integrację z usługami chmurowymi Apple dla rozproszonego uczenia.
Create ML jest przeznaczony dla trzech kategorii użytkowników: programiści iOS bez doświadczenia w ML, którzy chcą dodać inteligentne funkcje do aplikacji; menedżerowie produktu i projektanci chcący szybko prototypować funkcje ML; badacze danych potrzebujący szybkiej walidacji hipotez przed przeniesieniem modelu na infrastrukturę produkcyjną. Do złożonych modeli o niestandardowej architekturze Create ML się nie nadaje — w takich przypadkach używa się frameworków Pythona z późniejszą konwersją do Core ML.
Create ML oferuje siedem typów zadań, dla których dostępny jest wstępnie skonfigurowany szablon: klasyfikacja obrazów (Image Classification), wykrywanie obiektów (Object Detection), analiza tekstu (Text Classification i Word Tagger), regresja danych tabelarycznych (Tabular Regression), klasyfikacja danych tabelarycznych (Tabular Classification), analiza dźwięku (Sound Classification), systemy rekomendacji (Recommendation). Każdy szablon zawiera wstępnie wybraną architekturę sieci neuronowej optymalną dla danego typu zadania.
| Typ zadania | Dane wejściowe | Przykład użycia |
|---|---|---|
| Image Classification | Obrazy z etykietami | Określanie rasy psa na zdjęciu |
| Object Detection | Obrazy z adnotacjami | Wyszukiwanie twarzy na zdjęciu |
| Text Classification | Teksty z etykietami | Filtr spamu dla wiadomości |
| Tabular Regression | Dane tabelaryczne (CSV) | Prognoza ceny nieruchomości |
| Sound Classification | Pliki audio z etykietami | Rozpoznawanie dźwięków natury |
Image Classification — to najpopularniejszy szablon Create ML. Do uczenia modelu wystarczy dostarczyć zestaw obrazów podzielonych na foldery (nazwa folderu = etykieta klasy). Create ML automatycznie stosuje augmentację danych (obrót, skalowanie, przesunięcie koloru) w celu zwiększenia efektywnego rozmiaru zbioru danych i używa wstępnie wytrenowanej sieci Vision FeaturePrint (zmodyfikowana ResNet-50) do ekstrakcji cech. Uczenie z transfer learningiem zajmuje od 2 do 15 minut w zależności od rozmiaru zbioru danych i wydajności Maca.
Szablon Object Detection wymaga oznaczonych obrazów z ramkami ograniczającymi (bounding boxes) dla każdego obiektu. Create ML używa architektury YOLOv5 (You Only Look Once) zaadaptowanej do Core ML, z wstępnie wytrenowanymi wagami na zbiorze COCO. Minimalna liczba to 30 oznaczonych obrazów na klasę, zalecana — 200+. Create ML obsługuje import adnotacji w formatach PASCAL VOC, COCO JSON i Create ML JSON.
Przepływ pracy Create ML w Xcode składa się z trzech etapów: przygotowanie danych, uczenie i walidacja, eksport. Na etapie przygotowania danych importowane są zbiory treningowe i testowe. Create ML automatycznie dzieli dane (domyślnie 80/20) i wyświetla rozkład klas. Na etapie uczenia narzędzie pokazuje wykresy dokładności i strat w czasie rzeczywistym, a także metryki: accuracy, precision, recall, F1-score. Na etapie walidacji można przetestować model na nowych danych bezpośrednio w oknie 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")
)
Interfejs graficzny Create ML w Xcode wyświetla się w bocznym edytorze po wybraniu pliku szablonu kategorii. Interfejs zawiera zakładki: Data (załadunek i podgląd danych), Features (wybór cech i parametrów), Model (architektura sieci neuronowej), Training (wykresy uczenia i metryki), Evaluation (testowanie na odłożonych danych), Preview (interaktywne testowanie modelu). Programista może przełączać się między zakładkami w trakcie uczenia bez zatrzymywania treningu.
Transfer Learning (uczenie z przenoszeniem) — to kluczowa technologia, na której oparte są szablony Create ML. Zamiast uczenia sieci neuronowej od podstaw (co wymaga milionów oznaczonych przykładów), Create ML używa wstępnie wytrenowanej sieci (FeaturePrint) jako ekstraktora cech i uczy tylko ostatnie warstwy klasyfikatora. Pozwala to osiągnąć wysoką dokładność (90-95%) na zbiorach od 10 do 50 obrazów na klasę przy czasie uczenia 2-5 minut.
Create ML używa kilku wstępnie wytrenowanych ekstraktorów FeaturePrint: .scenePrint (oparty na ResNet-50, uczony na Places365), .objectPrint (oparty na YOLOv5, uczony na COCO), .textPrint (oparty na BERT, uczony na Wikipedii). Wybór ekstraktora zależy od typu zadania i domeny danych. Na przykład .scenePrint lepiej nadaje się do klasyfikacji obrazów wnętrz i krajobrazów, a .objectPrint — do wykrywania konkretnych obiektów (samochody, ludzie, zwierzęta).
Create ML automatycznie stosuje augmentację danych w trakcie uczenia: odbicie poziome, obrót do 20 stopni, przesunięcie koloru, zmianę jasności i kontrastu. Augmentacja jest stosowana losowo do każdego obrazu w każdej epoce, co zwiększa efektywny rozmiar zbioru danych 10-20 razy. Jest to szczególnie ważne dla małych zbiorów danych, gdzie przeuczenie (overfitting) stanowi główny problem. Parametry augmentacji można dostosować w zakładce Features.
Oprócz interfejsu wizualnego, Create ML udostępnia Swift API do programowego uczenia modeli, co pozwala automatyzować pipelines uczenia i integrować je z procesami CI/CD. Swift API zawiera klasy MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier i MLRecommender. Każda klasa implementuje protokół MLModelTrainer z metodami train(), evaluate() i 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 może być uruchamiane w skryptach build phases Xcode lub w GitLab/GitHub Actions na runnerach macOS. Pozwala to ponownie trenować model automatycznie za każdym razem, gdy zbiór treningowy w repozytorium zostanie zaktualizowany. Można na przykład skonfigurować pipeline: push danych do repozytorium → GitLab Runner uruchamia skrypt Swift Create ML → wyeksportowany model .mlpackage jest commitowany z powrotem do repozytorium → aplikacja jest budowana ze zaktualizowanym modelem.
Pomimo wygody, Create ML ma szereg ograniczeń, które należy wziąć pod uwagę przy wyborze narzędzia do zadań ML. Główne z nich to: działa tylko na macOS, ograniczona kontrola nad architekturą sieci neuronowej, brak możliwości użycia własnych warstw (custom layers), przywiązanie do wbudowanych ekstraktorów FeaturePrint i brak obsługi uczenia na wielu GPU lub w klastrze.
Create ML nie jest przeznaczony do uczenia produkcyjnego na dużych zbiorach danych (ponad 100 000 przykładów). Maksymalny rozmiar zbioru danych jest ograniczony ilością pamięci RAM Maca. Do zadań na dużą skalę Apple zaleca używanie frameworków Pythona (TensorFlow, PyTorch) na infrastrukturze serwerowej z późniejszą konwersją do Core ML przez coremltools. Create ML to narzędzie do prototypowania i małych projektów, a nie dla enterprise ML.
Do danych tabelarycznych Create ML obsługuje tylko trzy algorytmy: Random Forest, Gradient Boosting (XGBoost) i Linear Regression. Brak obsługi sieci neuronowych dla danych tabelarycznych (TabNet, FT-Transformer), SVM, kNN i metod zespołowych dostępnych w scikit-learn. Do zadań z danymi tabelarycznymi wymagających wysokiej dokładności Create ML często ustępuje klasycznym bibliotekom ML.
Uczenie modeli jest możliwe tylko na macOS, ponieważ Create ML używa Metal Performance Shaders i frameworków ekskluzywnych dla macOS. To ograniczenie uniemożliwia uczenie na serwerach Linux lub w chmurowych klastrach GPU. Dla zespołów używających infrastruktury chmurowej coremltools + Python pozostają jedyną opcją.
Rozważmy trzy rzeczywiste scenariusze użycia Create ML w komercyjnych aplikacjach: moderacja treści użytkowników, personalne rekomendacje i automatyczne sortowanie dokumentów. Te scenariusze pokazują typowe zadania, które można rozwiązać za pomocą Create ML bez głębokiej wiedzy o uczeniu maszynowym.
Aplikacja do wymiany zdjęć może użyć Image Classification do automatycznej moderacji: uczenie modelu na 100-200 obrazach z etykietami „dozwolone” i „naruszenie” pozwala odfiltrować 85-95% niepożądanych treści bez udziału moderatora. Create ML pozwala aktualizować model w miarę napływu nowych przykładów naruszeń, przetrenując go w 3-5 minut.
Za pomocą Text Classification Create ML można nauczyć aplikację automatycznie klasyfikować zgłoszenia użytkowników według kategorii: problem z płatnością, usterka techniczna, prośba o funkcję, reklamacja. Do uczenia wystarczy 50-100 przykładów tekstowych na kategorię. Dokładność klasyfikacji sięga 90% przy użyciu wbudowanego Word Tagger opartego na BERT.
MLRecommender w Create ML pozwala zbudować system rekomendacji na podstawie działań użytkowników bez ręcznego pisania filtrowania kolaboratywnego. Model uczy się na danych typu User → Item → Rating (np. użytkownik polubił artykuł). Create ML automatycznie wybiera między filtrowaniem kolaboratywnym a podejściem treściowym na podstawie ilości danych i wyświetla top-N rekomendacji.
Często zadawane pytania
Create ML — to narzędzie firmy Apple do uczenia modeli uczenia maszynowego bez kodu, wbudowane w Xcode i dostępne jako osobna aplikacja dla macOS. Pozwala tworzyć modele Core ML przez interfejs graficzny, obsługując klasyfikację obrazów, analizę tekstu, wykrywanie obiektów i inne zadania.
Create ML jest używany do uczenia modeli (tworzenia .mlpackage), a Core ML — do wykonywania wytrenowanych modeli na urządzeniu (inferencja). Create ML działa tylko na macOS i generuje modele w formacie Core ML. To różne etapy jednego procesu: najpierw uczenie w Create ML, potem integracja przez Core ML w aplikacji.
Minimalna ilość danych zależy od typu zadania. Do klasyfikacji obrazów z transfer learningiem wystarczy 10-15 obrazów na klasę. Do wykrywania obiektów potrzeba od 30 oznaczonych obrazów na klasę. Do klasyfikacji tekstu — 50-100 przykładów na kategorię. Zalecana ilość to 100-200 przykładów na klasę dla osiągnięcia dokładności 90%+.
Nie, Create ML działa wyłącznie na macOS. Używa Metal Performance Shaders do przyspieszenia uczenia na GPU i integracji z Xcode, które są niedostępne na innych platformach. Jeśli nie masz Maca, użyj Pythona (TensorFlow/PyTorch) do uczenia i coremltools do konwersji modelu do .mlpackage.
Tak, Create ML wchodzi w skład Xcode i jest całkowicie darmowy dla programistów Apple. Do jego użycia wystarczy zainstalować Xcode na Macu (darmowy z Mac App Store). Nie są wymagane żadne dodatkowe licencje ani subskrypcje — wszystkie możliwości uczenia są dostępne bez ograniczeń.
Podsumowanie
Opracujemy aplikację mobilną pod klucz
IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.
Przeczytaj również