Core ML: Framework-Architektur und Modellintegration

Autor: IT Sectr Veröffentlicht: 2026-07-17 Lesezeit: 10 Min.

Core ML ist das Machine-Learning-Framework von Apple, mit dem Sie vortrainierte ML-Modelle direkt in iOS-, iPadOS-, macOS-, watchOS- und tvOS-Anwendungen integrieren können. Das Framework unterstützt neuronale Netze, Entscheidungsbäume, lineare Regressionen und Ensemble-Methoden sowie die Konvertierung von Modellen aus TensorFlow, PyTorch, Keras und ONNX in Apples eigenes Format. Laut Apple Machine Learning Research (2025) führt Core ML die Inferenz vollständig auf dem Gerät durch, gewährleistet Datenschutz und eine Latenz von unter 10 Millisekunden für die meisten Modelle.

Wichtigste Punkte

  • Core ML ist Apples proprietäres Framework zur Ausführung von ML-Modellen auf dem Gerät ohne Serververarbeitung.
  • Unterstützt Modellkonvertierung von TensorFlow, PyTorch, Keras, ONNX und anderen gängigen Formaten.
  • Die Inferenz wird auf Neural Engine, GPU oder CPU mit automatischer Auswahl des optimalen Compute-Backends ausgeführt.
  • Das Framework enthält Optimierungen: Quantisierung (Float16, Int8), Pruning, Layer-Fusion für Beschleunigung.
  • Core ML 5 (2024) fügte Unterstützung für .mlpackage-Bündel, dynamische neuronale Netze und überwachtes Lernen auf dem Gerät hinzu.

Was ist Core ML?

Core ML ist eine Schlüsselkomponente des Machine-Learning-Ökosystems von Apple, das auf der WWDC 2017 vorgestellt wurde. Vor Core ML verwendeten iOS-Entwickler Drittanbieter-Bibliotheken (TensorFlow Mobile, Caffe2) oder benutzerdefinierte Lösungen, um ML-Modelle auf dem Gerät auszuführen. Core ML bot eine einheitliche Schnittstelle für alle Modelltypen — von klassischen Regressionen bis zu tiefen neuronalen Netzen — und übernahm die Low-Level-Optimierung für das jeweilige Gerät.

Entwicklungsgeschichte

Die erste Version von Core ML (2017) unterstützte nur statische Modelle mit festen Eingabegrößen. Core ML 2 (2018) fügte Unterstützung für Batch-Vorhersage und Live-Modellaktualisierungen hinzu. Core ML 3 (2019) brachte On-Device-Training und Unterstützung für Dutzende neuer neuronaler Netzschichten. Core ML 4 (2021) führte Unterstützung für Modelle mit mehreren Ausgaben und verbesserte Bildverarbeitung ein. Core ML 5 (2024) fügte Unterstützung für dynamische neuronale Netze und überwachtes Lernen auf dem Gerät mit neuen ML-Schichten hinzu.

On-Device ML: Vorteile

Die Ausführung von maschinellem Lernen auf dem Gerät bietet drei Hauptvorteile: Datenschutz — Daten verlassen niemals das Gerät (erfüllt GDPR- und HIPAA-Anforderungen), Geschwindigkeit — Inferenz wird in Millisekunden ohne Netzwerklatenz abgeschlossen, Offline-Verfügbarkeit — das Modell funktioniert ohne Internetverbindung. Laut Apple Privacy Report (2025) werden über 90% der ML-Inferenzen auf Apple-Plattformen dank Core ML auf dem Gerät durchgeführt.

Core ML Architektur und Compute-Backends

Die Core ML Architektur basiert auf einem mehrschichtigen Prinzip: auf der obersten Ebene — die Entwickler-API (MLModel, MLFeatureProvider, MLPredictionOptions), auf der mittleren Ebene — das Modell im .mlpackage-Format, auf der unteren Ebene — die Compute-Backends: Apple Neural Engine (ANE), GPU (Metal Shaders) und CPU (BNNS, Accelerate Framework). Core ML wählt automatisch das beste Backend in Abhängigkeit vom Modell und der Gerätehardware aus.

BackendGeräteLeistung
Neural EngineiPhone Xs+, iPad A12+, Mac M1+Maximal (TOPS)
GPU (Metal)Alle Apple-GeräteHoch (paralleles Rechnen)
CPU (BNNS)Alle Apple-GeräteBasis (Kompatibilität)

Apple Neural Engine

Neural Engine (ANE) ist ein spezialisierter Neuroprozessor, der in Apple A12+- und M1+-Chips integriert ist. ANE ist für Faltungs-Neuronale-Netzwerk-Operationen (CNN) und Matrixmultiplikationen mit einer Leistung von bis zu 15,8 TOPS auf dem A17 Pro und 38 TOPS auf dem M4 optimiert. Core ML ermittelt automatisch, ob das Modell auf ANE ausgeführt werden kann, und lädt es gegebenenfalls dorthin. Enthält das Modell nicht von ANE unterstützte Operationen, verteilt Core ML die Berechnung zwischen GPU und CPU.

Metal Performance Shaders

Für Berechnungen auf der GPU verwendet Core ML Metal Performance Shaders Graph (MPSGraph), ein Framework zum Erstellen und Ausführen von Berechnungsgraphen auf der GPU. MPSGraph nimmt den neuronalen Netzgraph von Core ML und kompiliert ihn in Metal Shaders, die für die jeweilige GPU-Architektur optimiert sind (7-Kern A17 GPU oder 40-Kern M4 Ultra GPU). Zu den automatischen Optimierungen von MPSGraph gehören Layer-Fusion, Eliminierung redundanter Operationen und Auswahl des optimalen Datenformats.

Unterstützte Modelltypen und Formate

Core ML unterstützt alle wichtigen Typen von maschinellen Lernmodellen, eingeteilt in drei Kategorien: neuronale Netze (Convolutional CNN, rekurrente RNN/LSTM, Transformatoren), Ensemble-Modelle (Random Forest, Gradient Boosting, XGBoost, Entscheidungsbäume) und Regressionsmodelle (lineare Regression, SVM, CRF). Jeder Modelltyp hat sein eigenes MLModelType-Subprotokoll, und Core ML wählt automatisch das geeignete Backend und Ausführungsformat aus.

Unterstützte Neuronale Netzschichten

Core ML unterstützt über 150 Arten von neuronalen Netzschichten: Convolution (1D/2D/3D), BatchNormalization, Pooling (Max/Average), Activation (ReLU, Sigmoid, Tanh, LeakyReLU, PReLU), Recurrent (LSTM/GRU/SimpleRNN), Transformers (MultiHeadAttention, LayerNorm), Metal-spezifische Schichten. Für nicht unterstützte Schichten bietet Core ML einen Mechanismus für benutzerdefinierte Schichten — die Möglichkeit, eine Schichtimplementierung in Metal Shading Language oder Swift zu schreiben.

swift
let model = try MLModel(contentsOf: modelURL)
let input = try MLMultiArray(shape: [1, 224, 224, 3], dataType: .float32)
let prediction = try model.prediction(from: input)

Modell-Dateiformate

Vor 2021 verwendete Core ML das .mlmodel-Format — eine Binärdatei, die alle Modellgewichte und Metadaten enthielt. Ab Xcode 13 und Core ML 4 führte Apple das neue .mlpackage-Format ein — eine verzeichnisbasierte Paketstruktur, die das Modell, Metadaten, Ein-/Ausgabebeschreibungen und Vor-/Nachverarbeitungsdateien im JSON-Format enthält. mlpackage unterstützt Git-Versionierung, was die Teamarbeit vereinfacht. Die Konvertierung von .mlmodel nach .mlpackage erfolgt mit dem Xcode Model Compiler oder dem coremltools Python-Skript.

Konvertierung von Modellen in Core ML

Die Konvertierung von Modellen aus Drittanbieter-Frameworks in Core ML erfolgt mit der coremltools-Bibliothek in Python. coremltools unterstützt den Import von Modellen aus TensorFlow 1.x/2.x (SavedModel, PB, HDF5), PyTorch (TorchScript, getraced/gescriptete Modelle), Keras (H5), ONNX und mit Create ML erstellten Modellen. Die Standard-Konvertierungspipeline umfasst drei Schritte: Laden des Modells im Originalformat, Konvertieren in MIL (Model Intermediate Language) — die interne Darstellung von Core ML — und Exportieren nach .mlpackage.

python
import coremltools as ct

model = ct.converters.pytorch.convert(
    source = "model.pt",
    inputs = [ct.TensorType(shape=(1, 3, 224, 224))]
)
model.author = "IT Sectr"
model.short_description = "Image classifier"
model.save("MyModel.mlpackage")

Modellüberprüfung nach der Konvertierung

Nach der Konvertierung müssen Sie die Modellgenauigkeit überprüfen, indem Sie die Vorhersagen des Originalmodells und des konvertierten Core ML-Modells mit denselben Daten vergleichen. Die zulässige Abweichung beträgt nicht mehr als 1e-3 (0,1%) für Float32 und 1e-2 (1%) für Float16/Int8. coremltools bietet das Dienstprogramm ct.utils.compare_models() für den automatischen Vergleich. Übersteigt die Abweichung die Norm, liegt möglicherweise ein Problem mit nicht unterstützten Operationen vor — diese müssen durch benutzerdefinierte Schichten ersetzt oder das Modell vereinfacht werden.

Core ML Leistungsoptimierung

Die Optimierung eines Core ML-Modells ist der Prozess der Reduzierung der Modellgröße und Erhöhung der Inferenzgeschwindigkeit ohne signifikanten Genauigkeitsverlust. Apple bietet mehrere in coremltools und Xcode integrierte Optimierungswerkzeuge: Quantisierung (Reduzierung der Gewichtspräzision), Pruning (Entfernen unbedeutender Neuronen), Entfernen redundanter Schichten und Layer-Fusion zur Reduzierung des Berechnungsgraphen.

Quantisierung auf Float16 und Int8

Quantisierung reduziert die Modellgröße um etwa das Zweifache (Float16) oder Vierfache (Int8) im Vergleich zu Float32. Core ML unterstützt drei Quantisierungsmodi: Post-Training-Quantisierung (PTQ) mit einem Kalibrierungsdatensatz, während der Konvertierung über coremltools und quantisierungsbewusstes Training (QAT). Für die meisten Computervision-Modelle führt PTQ auf Float16 zu einem Genauigkeitsverlust von weniger als 0,5% bei gleichzeitiger Verdopplung der Inferenzgeschwindigkeit.

Modellprofilerstellung in Xcode

Xcode bietet das Core ML Model Profiler-Tool, mit dem Sie die Modellleistung auf verschiedenen Geräten im Simulator oder auf einem echten Gerät messen können. Der Profiler zeigt die Ausführungszeit jeder Schicht, die Backend-Last (ANE/GPU/CPU), den Spitzenspeicherverbrauch und Modell-Engpässe an. Laut Apple Performance Optimization Guide haben über 80% der Modelle mindestens eine Schicht, die deutlich langsamer arbeitet als die anderen (Schichtanomalie), die durch Austausch oder Fusion optimiert werden kann.

Praktisches Beispiel zur Core ML Integration

Betrachten wir die Integration eines trainierten Core ML-Modells in eine iOS-App mit Swift. Nach dem Hinzufügen der .mlpackage-Datei zum Xcode-Projekt (durch Ziehen oder über Swift Package Manager) generiert Xcode automatisch eine Swift-Modellklasse mit typisierten Ein- und Ausgaben. Der Entwickler muss die Eingabedaten nicht manuell parsen — die generierte Klasse akzeptiert UIImage, MLMultiArray, String oder andere Typen je nach Modellmetadaten.

swift
import CoreML
import Vision

guard let model = try? VNCoreMLModel(
    for: MyImageClassifier().model
) else { return }

let request = VNCoreMLRequest(model: model) { request, error in
    guard let results = request.results
        as? [VNClassificationObservation]
    else { return }

    if let topResult = results.first {
        print("Class: \(topResult.identifier)")
        print("Confidence: \(topResult.confidence)")
    }
}

let handler = VNImageRequestHandler(
    cgImage: image.cgImage!,
    options: [:]
)
try handler.perform([request])

Fehlerbehandlung und Fallback

Bei der Integration von Core ML müssen Sie die Fehlerbehandlung implementieren: Das Modell kann aufgrund von Geräteinkompatibilität (zu alte iOS-Version), unzureichendem Speicher oder Beschädigung der Modelldatei nicht geladen werden. Es wird empfohlen, eine Fallback-Logik zu implementieren: Wenn das Modell im quantisierten Int8-Format nicht geladen werden kann, laden Sie die Float16-Version, und wenn auch diese fehlschlägt — Float32. Laut Apple Crash Analytics werden über 5% der ML-App-Abstürze durch falsches Modellladen verursacht.

Core ML vs Create ML: Unterschiede

Core ML und Create ML sind zwei sich ergänzende Werkzeuge des Apple ML-Ökosystems. Core ML ist für die Modellausführung auf dem Gerät (Inferenz) zuständig, während Create ML für das Modelltraining zuständig ist. In Create ML erstellte Modelle werden speziell in das Core ML-Format (.mlpackage) exportiert, um später in Anwendungen integriert zu werden. In Webentwicklungs-Begriffen ist Core ML der Browser (Ausführung) und Create ML die IDE zum Schreiben von Code (Training).

ParameterCore MLCreate ML
ZweckModellausführung (Inferenz)Modelltraining
PlattformiOS, iPadOS, macOS, watchOS, tvOSmacOS (nur)
Format.mlpackage (verbraucht).mlpackage (erstellt)
CodeSwift / Objective-C APIXcode-UI oder Swift API
BenutzerApp-EntwicklerEntwickler / Datenwissenschaftler

Häufig gestellte Fragen

Was ist Core ML?

Core ML ist Apples Machine-Learning-Framework zur Ausführung vortrainierter ML-Modelle auf iOS-, iPadOS-, macOS-, watchOS- und tvOS-Geräten. Es unterstützt neuronale Netze, Entscheidungsbäume und Regressionen und wählt automatisch das optimale Compute-Backend (Neural Engine, GPU oder CPU).

Wie unterscheidet sich Core ML von TensorFlow?

TensorFlow ist ein universelles Framework zum Trainieren und Ausführen von Modellen auf Servern und mobilen Geräten. Core ML ist eine spezialisierte Engine zur Ausführung (nicht zum Training) von Modellen ausschließlich auf Apple-Geräten mit maximaler Leistung durch hardware-spezifische Optimierung (ANE, GPU, Metal). TensorFlow Mobile wird auf iOS nicht mehr unterstützt — Apple empfiehlt Core ML für alle ML-Aufgaben auf seinen Plattformen.

Wie konvertiert man ein PyTorch-Modell in Core ML?

Die Konvertierung erfolgt mit der coremltools-Bibliothek in Python: Exportieren Sie das PyTorch-Modell nach TorchScript (torch.jit.trace) und verwenden Sie dann ct.converters.pytorch.convert(), um .mlpackage zu erstellen. coremltools ordnet PyTorch-Schichten automatisch unterstützten Core ML-Schichten zu und optimiert den Graphen für ANE.

Funktioniert Core ML auf allen iPhones?

Core ML funktioniert auf allen iPhones mit iOS 11 und neuer. Die Leistung hängt jedoch von der Hardware ab: iPhone 5s/6 — nur CPU (langsame Inferenz), iPhone 8/X — GPU (Metal), iPhone Xs und neuer — Neural Engine (maximale Leistung bis zu 15,8 TOPS auf A17 Pro). Für beste Leistung wird empfohlen, ein Minimum von iOS 12+ festzulegen.

Welches Format haben Core ML-Modelle?

Das moderne Format ist .mlpackage (ein Verzeichnis, das Modell, Metadaten und Ein-/Ausgabebeschreibungen enthält). Das Legacy-Format ist .mlmodel (eine einzelne Binärdatei). Xcode konvertiert .mlmodel während des Builds automatisch in .mlpackage, aber für neue Projekte wird die direkte Verwendung von .mlpackage empfohlen.

Zusammenfassung

  • Core ML ist Apples Standard-Framework für On-Device Machine Learning, das auf allen Ökosystem-Plattformen funktioniert.
  • Unterstützt Konvertierung von TensorFlow, PyTorch, Keras und ONNX über die coremltools-Bibliothek in Python.
  • Die Inferenz wird auf Neural Engine (iPhone Xs+), GPU (Metal) oder CPU mit automatischer Backend-Auswahl ausgeführt.
  • Quantisierung auf Float16 und Int8 reduziert die Modellgröße um das 2-4-fache mit minimalem Genauigkeitsverlust.
  • Create ML generiert Modelle für Core ML, während Core ML sie nur ausführt — es sind unterschiedliche Werkzeuge.
  • Das .mlpackage-Format ersetzte das Legacy-.mlmodel und bietet Versionierung und Metadaten in JSON.
  • Der Core ML Profiler in Xcode hilft, Engpässe zu identifizieren und durch Schichtaustausch zu optimieren.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch