Create ML, kod yazmadan makine öğrenimi modelleri eğitmek için Apple’ın aracıdır, Xcode’a entegre edilmiştir ve macOS için bağımsız bir uygulama olarak da kullanılabilir. Araç, grafiksel bir arayüz kullanarak Core ML modelleri oluşturmanıza, eğitmenize ve test etmenize olanak tanır: bir veri kümesi yükleyin, görev türünü seçin ve eğitimi başlatın. Apple Create ML Documentation (2025)’e göre araç, yerleşik sinir ağlarını kullanarak transfer öğrenmeyi destekler, hiperparametreleri otomatik olarak ayarlar ve bitmiş modeli .mlpackage formatında dışa aktarır.
Ana Noktalar
Create ML, Apple makine öğrenimi ekosisteminin bir bileşenidir ve WWDC 2018’de kod yazmadan Core ML modelleri eğitmek için bir araç olarak tanıtılmıştır. Create ML’den önce geliştiriciler Python kütüphanelerini (TensorFlow, PyTorch, scikit-learn) kullanır ve ardından modelleri coremltools aracılığıyla Core ML’ye dönüştürürdü. Create ML, görsel bir arayüz, transfer öğrenme için yerleşik sinir ağları ve Core ML formatına otomatik dışa aktarım sağlayarak tüm bu süreci soyutladı.
Create ML’nin ilk sürümü (iOS 11/macOS 10.14) yalnızca temel görevleri destekliyordu: görüntü sınıflandırma ve metin analizi. macOS 10.15 sürümü nesne tespiti, ses analizi ve regresyon ekledi. Create ML 3 (macOS 13, 2022) öneri sistemleri, otomatik algoritma seçimiyle tablosal veri ve geliştirilmiş eğitim görselleştirme desteği getirdi. Create ML 4 (macOS 14, 2024) dinamik modeller, akış verisi eğitimi ve dağıtık eğitim için Apple bulut hizmetleriyle entegrasyon ekledi.
Create ML üç kategori kullanıcı için tasarlanmıştır: ML deneyimi olmayan ancak uygulamalarına akıllı özellikler eklemek isteyen iOS geliştiricileri; ML özelliklerini hızlıca prototiplemek isteyen ürün yöneticileri ve tasarımcılar; ve bir modeli üretim altyapısına taşımadan önce hızlı hipotez doğrulamasına ihtiyaç duyan veri araştırmacıları. Standart olmayan mimariye sahip karmaşık modeller için Create ML uygun değildir — bu durumlarda, Core ML’ye sonraki dönüşümle birlikte Python frameworkleri kullanılır.
Create ML yedi görev türü sunar, her biri önceden yapılandırılmış bir şablonla: Görüntü Sınıflandırma, Nesne Tespiti, Metin Sınıflandırma ve Kelime Etiketleme, Tablosal Regresyon, Tablosal Sınıflandırma, Ses Sınıflandırma ve Öneri. Her şablon, bu görev türü için optimize edilmiş önceden seçilmiş bir sinir ağı mimarisi içerir.
| Görev Türü | Giriş Verileri | Kullanım Örneği |
|---|---|---|
| Görüntü Sınıflandırma | Etiketli görüntüler | Fotoğraftan köpek cinsi belirleme |
| Nesne Tespiti | Açıklamalı görüntüler | Fotoğrafla yüz bulma |
| Metin Sınıflandırma | Etiketli metinler | Mesajlar için spam filtresi |
| Tablosal Regresyon | Tablosal veri (CSV) | Gayrimenkul fiyat tahmini |
| Ses Sınıflandırma | Etiketli ses dosyaları | Doğa seslerini tanıma |
Görüntü Sınıflandırma, en popüler Create ML şablonudur. Bir modeli eğitmek için, klasörlerde düzenlenmiş bir dizi görüntü sağlamanız yeterlidir (klasör adı = sınıf etiketi). Create ML, etkili veri kümesi boyutunu artırmak için otomatik olarak veri artırma (döndürme, ölçeklendirme, renk kaydırma) uygular ve özellik çıkarma için önceden eğitilmiş Vision FeaturePrint ağını (değiştirilmiş ResNet-50) kullanır. Transfer öğrenmeli eğitim, veri kümesi boyutuna ve Mac performansına bağlı olarak 2 ila 15 dakika sürer.
Nesne Tespiti şablonu, her nesne için sınırlayıcı kutular (bounding boxes) içeren açıklamalı görüntüler gerektirir. Create ML, COCO veri kümesinde önceden eğitilmiş ağırlıklarla Core ML için uyarlanmış YOLOv5 (You Only Look Once) mimarisini kullanır. Minimum gereksinim — sınıf başına 30 açıklamalı görüntü, önerilen — 200+. Create ML, PASCAL VOC, COCO JSON ve Create ML JSON formatlarında açıklama içe aktarmayı destekler.
İş akışı, Xcode içindeki Create ML’de üç aşamadan oluşur: veri hazırlama, eğitim ve doğrulama ve dışa aktarım. Veri hazırlama aşamasında, eğitim ve test kümeleri içe aktarılır. Create ML verileri otomatik olarak böler (varsayılan 80/20) ve sınıf dağılımını gösterir. Eğitim sırasında araç, gerçek zamanlı doğruluk ve kayıp grafiklerinin yanı sıra metrikler gösterir: doğruluk, kesinlik, duyarlılık, F1 puanı. Doğrulama sırasında, Create ML penceresinde doğrudan yeni veriler üzerinde modeli test edebilirsiniz.
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 grafik arayüzü, bir şablon dosyası kategorisi seçtikten sonra Xcode’da yan düzenleyicide görünür. Arayüz şu sekmeleri içerir: Data (veri yükleme ve önizleme), Features (özellik ve parametre seçimi), Model (sinir ağı mimarisi), Training (eğitim grafikleri ve metrikleri), Evaluation (ayrılmış verilerde test), Preview (etkileşimli model testi). Geliştiriciler, süreci durdurmadan eğitim sırasında sekmeler arasında geçiş yapabilir.
Transfer Öğrenme, Create ML şablonlarının temelini oluşturan anahtar teknolojidir. Bir sinir ağını sıfırdan eğitmek yerine (milyonlarca etiketli örnek gerektirir), Create ML önceden eğitilmiş bir ağı (FeaturePrint) özellik çıkarıcı olarak kullanır ve yalnızca son sınıflandırıcı katmanlarını eğitir. Bu, sınıf başına 10 ila 50 görüntülük veri kümelerinde 2-5 dakikalık eğitim süresiyle yüksek doğruluk (90-95%) sağlar.
Create ML birkaç önceden eğitilmiş FeaturePrint çıkarıcısı kullanır: .scenePrint (ResNet-50 tabanlı, Places365 üzerinde eğitilmiş), .objectPrint (YOLOv5 tabanlı, COCO üzerinde eğitilmiş), .textPrint (BERT tabanlı, Wikipedia üzerinde eğitilmiş). Çıkarıcı seçimi, görev türüne ve veri alanına bağlıdır. Örneğin, .scenePrint iç mekan ve manzara görüntülerini sınıflandırmak için daha uygundur, .objectPrint ise belirli nesneleri (arabalar, insanlar, hayvanlar) tespit etmek için daha iyidir.
Create ML, eğitim sırasında otomatik olarak veri artırma uygular: yatay çevirme, 20 dereceye kadar döndürme, renk kaydırma, parlaklık ve kontrast ayarı. Artırma, her döngüde her görüntüye rastgele uygulanır ve etkili veri kümesi boyutunu 10-20 kat artırır. Bu, aşırı uyumun (overfitting) ana sorun olduğu küçük veri kümeleri için özellikle önemlidir. Artırma parametreleri, Features sekmesinde ayarlanabilir.
Görsel arayüzün yanı sıra, Create ML programatik model eğitimi için bir Swift API sağlar ve eğitim boru hatlarının otomasyonunu ve CI/CD süreçlerine entegrasyonu mümkün kılar. Swift API, MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier ve MLRecommender sınıflarını içerir. Her sınıf, train(), evaluate() ve write() yöntemleriyle MLModelTrainer protokolünü uygular.
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, Xcode yapı aşamaları betiklerinde veya macOS çalıştırıcılarındaki GitLab/GitHub Actions’da çalıştırılabilir. Bu, depodaki eğitim veri kümesi her güncellendiğinde modelin otomatik olarak yeniden eğitilmesini sağlar. Örneğin, bir boru hattı kurabilirsiniz: depoya veri gönderme → GitLab Runner, Create ML Swift betiğini çalıştırır → dışa aktarılan .mlpackage modeli depoya geri gönderilir → uygulama güncellenmiş modelle derlenir.
Kullanışlılığına rağmen, Create ML’nin ML görevleri için bir araç seçerken dikkate alınması gereken birkaç önemli sınırlaması vardır. Başlıcaları: yalnızca macOS’ta çalışır, sinir ağı mimarisi üzerinde sınırlı kontrol, özel katmanların kullanılamaması, yerleşik FeaturePrint çıkarıcılarına bağımlılık ve çoklu GPU veya küme eğitimi desteği olmaması.
Create ML, büyük veri kümelerinde (100.000’den fazla örnek) üretim eğitimi için tasarlanmamıştır. Maksimum veri kümesi boyutu, Mac’in RAM’i ile sınırlıdır. Büyük ölçekli görevler için Apple, sunucu altyapısında Python frameworklerini (TensorFlow, PyTorch) kullanmayı ve ardından coremltools aracılığıyla Core ML’ye dönüştürmeyi önerir. Create ML, prototipleme ve küçük projeler için bir araçtır, kurumsal ML için değil.
Tablosal veriler için Create ML yalnızca üç algoritmayı destekler: Random Forest, Gradient Boosting (XGBoost) ve Lineer Regresyon. Tablosal veriler için sinir ağları (TabNet, FT-Transformer), SVM, kNN veya scikit-learn’de bulunan topluluk yöntemleri için destek yoktur. Yüksek doğruluk gerektiren tablosal veri görevlerinde Create ML, klasik ML kütüphanelerine kıyasla genellikle yetersiz kalır.
Model eğitimi yalnızca macOS’ta mümkündür, çünkü Create ML, Metal Performance Shaders ve macOS’a özel frameworkler kullanır. Bu sınırlama, Linux sunucularında veya bulut GPU kümelerinde eğitimi imkansız hale getirir. Bulut altyapısı kullanan ekipler için coremltools + Python tek seçenek olarak kalır.
Ticari uygulamalarda Create ML kullanımının üç gerçek senaryosunu inceleyelim: kullanıcı içeriği denetimi, kişiselleştirilmiş öneriler ve otomatik belge sınıflandırma. Bu senaryolar, derin makine öğrenimi bilgisi olmadan Create ML ile çözülebilecek tipik görevleri gösterir.
Bir fotoğraf paylaşım uygulaması, otomatik denetim için Görüntü Sınıflandırma kullanabilir: “kabul edilebilir” ve “ihlal” olarak etiketlenmiş 100-200 görüntüyle bir model eğitmek, bir denetçi olmadan istenmeyen içeriğin %85-95’ini filtreleyebilir. Create ML, yeni ihlal örnekleri geldikçe modeli güncellemeye ve 3-5 dakikada yeniden eğitmeye olanak tanır.
Metin Sınıflandırma kullanarak Create ML, bir uygulamaya kullanıcı sorgularını otomatik olarak kategorilere ayırmayı öğretebilir: ödeme sorunu, teknik arıza, özellik talebi, şikayet. Eğitim için kategori başına 50-100 metin örneği gerekir. BERT tabanlı yerleşik Kelime Etiketleyici kullanılarak sınıflandırma doğruluğu %90’a ulaşır.
Create ML’deki MLRecommender, işbirlikçi filtrelemeyi manuel olarak yazmadan kullanıcı eylemlerine dayalı bir öneri sistemi oluşturmayı sağlar. Model, Kullanıcı → Öğe → Puan verileri (örneğin, bir kullanıcı bir makaleyi beğendi) üzerinde eğitilir. Create ML, veri hacmine göre işbirlikçi filtreleme ve içerik tabanlı yaklaşım arasında otomatik olarak seçim yapar ve ilk N öneriyi çıkarır.
Sıkça Sorulan Sorular
Create ML, kod yazmadan makine öğrenimi modelleri eğitmek için Apple’ın aracıdır, Xcode’a entegre edilmiştir ve macOS için bağımsız bir uygulama olarak kullanılabilir. Grafiksel bir arayüz aracılığıyla Core ML modelleri oluşturmanıza olanak tanır ve görüntü sınıflandırma, metin analizi, nesne tespiti ve diğer görevleri destekler.
Create ML modelleri eğitmek (.mlpackage dosyaları oluşturmak) için kullanılırken, Core ML eğitilmiş modelleri cihazda çalıştırmak (inference) için kullanılır. Create ML yalnızca macOS’ta çalışır ve Core ML formatında modeller oluşturur. Bunlar aynı sürecin farklı aşamalarıdır: önce Create ML’de eğitim, ardından uygulamada Core ML aracılığıyla entegrasyon.
Minimum veri miktarı, görev türüne bağlıdır. Transfer öğrenmeli görüntü sınıflandırma için sınıf başına 10-15 görüntü yeterlidir. Nesne tespiti için sınıf başına 30 açıklamalı görüntü gerekir. Metin sınıflandırma için — kategori başına 50-100 örnek. %90+ doğruluk için önerilen miktar sınıf başına 100-200 örnektir.
Hayır, Create ML yalnızca macOS’ta çalışır. GPU hızlandırma için Metal Performance Shaders ve Xcode entegrasyonu kullanır, bunlar diğer platformlarda bulunmaz. Mac’iniz yoksa, eğitim için Python (TensorFlow/PyTorch) ve modeli .mlpackage’ye dönüştürmek için coremltools kullanın.
Evet, Create ML Xcode’a dahildir ve Apple geliştiricileri için tamamen ücretsizdir. Kullanmak için bir Mac’e Xcode yüklemeniz yeterlidir (Mac App Store’dan ücretsiz). Ek lisans veya abonelik gerekmez — tüm eğitim yetenekleri kısıtlama olmaksızın kullanılabilir.
Özet
Anahtar teslim bir mobil uygulama geliştireceğiz
IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.
Ayrıca okuyun