Core ML — qué es, modelo de aprendizaje automático y funcionamiento en iOS

Autor: IT Sectr Publicado: 2026-03-26 Tiempo de lectura: 8 min

Core ML — un framework de aprendizaje automático de Apple, optimizado para ejecutar modelos ML directamente en dispositivos iOS, macOS, watchOS y tvOS. A diferencia de los servicios ML en la nube, Core ML utiliza los aceleradores de hardware de Apple: Neural Engine, GPU y CPU, garantizando una latencia mínima al procesar datos. Según Apple Core ML Documentation (2026), el framework admite modelos PyTorch, TensorFlow y Create ML en el formato unificado .mlpackage con un tiempo de inferencia promedio de 5–50 ms.

Puntos Clave

  • Core ML — el framework de Apple para aprendizaje automático en el dispositivo en todas las plataformas del ecosistema
  • Apple Neural Engine (ANE) proporciona aceleración hardware para redes neuronales con un rendimiento de hasta 11 TOPS
  • El formato .mlpackage combina modelo, metadatos y configuración en un contenedor conveniente
  • La conversión de modelos desde PyTorch y TensorFlow se realiza mediante la herramienta Python coremltools
  • La integración con Vision y Natural Language permite crear pipelines ML complejos

¿Qué es Core ML?

Core ML es un framework de aprendizaje automático presentado por Apple en la WWDC 2017 como parte del ecosistema de desarrollo para iPhone, iPad, Mac, Apple Watch y Apple TV. Core ML proporciona un runtime para ejecutar modelos ML en el dispositivo, abstrayendo al desarrollador de los detalles de optimización hardware. El framework selecciona automáticamente el mejor motor de cómputo — Neural Engine en chips A12+, GPU o CPU — para cada operación del modelo.

La ventaja clave de Core ML es la integración profunda con Apple Silicon. Las operaciones de redes neuronales se ejecutan en el Neural Engine dedicado, que no carga los núcleos principales del procesador. Según Apple (WWDC 2025), los modelos Core ML funcionan 6 veces más rápido en comparación con TensorFlow Lite en dispositivos Android similares.

Características Principales

Core ML admite una amplia gama de tareas de aprendizaje automático: clasificación de imágenes, detección de objetos, segmentación semántica, procesamiento de lenguaje natural, análisis de sonido y datos tabulares. El framework trabaja con varios tipos de modelos: redes neuronales (convolucionales, recurrentes, transformers), ensembles de árboles, regresiones lineales y procesos gaussianos.

Cómo Funciona Core ML

Core ML recibe un modelo entrenado en formato .mlpackage, lo compila en código máquina optimizado para el dispositivo específico y ejecuta la inferencia a través de una API unificada. Todo el pipeline — desde la carga del modelo hasta la obtención del resultado — requiere 3–5 líneas de código Swift.

Formato de Modelo .mlpackage

.mlpackage es un formato contenedor introducido por Apple en 2020 para reemplazar el obsoleto .mlmodel. El paquete es un directorio que contiene un manifiesto JSON, un archivo de modelo en formato binario MLProgram, metadatos (autor, versión, descripción) y recursos como etiquetas de clases. Según Apple, .mlpackage reduce el tamaño del modelo entre un 30 y un 50% en comparación con .mlmodel mediante la optimización de pesos.

Apple Neural Engine

Apple Neural Engine (ANE) es un neuroprocesador dedicado integrado en los chips Apple desde el A12 Bionic (2018). ANE procesa operaciones matriciales decenas de veces más eficientemente que la CPU con el mismo consumo energético. El rendimiento de ANE ha crecido de 5 TOPS en A12 a 35 TOPS en M4 Ultra (2025), permitiendo ejecutar modelos con miles de millones de parámetros. ANE se utiliza automáticamente para todos los modelos Core ML con arquitectura de redes neuronales.

Una característica importante de Core ML es el soporte para cuantización de modelos a FP16 e INT8 sin pérdida de precisión. La cuantización reduce el tamaño del modelo entre 2 y 4 veces y acelera la inferencia entre un 40 y un 60% en ANE. Apple proporciona la herramienta Xcode Model Quantization para la selección automática de la precisión óptima: el desarrollador carga un modelo, especifica la pérdida de calidad aceptable (generalmente 0.1–0.5%), y Xcode selecciona el mejor formato de representación de pesos.

Comparación de Rendimiento de Core ML

ChipTOPS (ANE)Inferencia ResNet-50Año
A12 Bionic518 ms2018
A14 Bionic119 ms2020
M1 Max224 ms2021
M4 Ultra352 ms2025

Conversión de Modelos a Core ML

La mayoría de los modelos ML se crean en PyTorch o TensorFlow y requieren conversión al formato .mlpackage para usarse en Core ML. Apple proporciona la utilidad coremltools — un paquete Python para convertir, optimizar y validar modelos.

Herramienta coremltools

coremltools es la utilidad oficial de Apple para convertir modelos ML. Admite importación desde PyTorch (mediante torch.onnx o directamente), TensorFlow (SavedModel, H5, Frozen Graph) y ONNX. Después de la conversión, se puede habilitar la cuantización FP16 o INT8, reduciendo el tamaño del modelo entre 2 y 4 veces sin pérdida significativa de precisión.

Ejemplo de Conversión desde PyTorch

Veamos la conversión de un modelo entrenado de PyTorch al formato Core ML usando coremltools versión 8.0. El proceso requiere 2–3 pasos en Python.

python
import torch
import coremltools as ct

# Cargando modelo PyTorch entrenado
model = torch.load('model.pth')
model.eval()

# Trazando modelo con entrada de ejemplo
example_input = torch.randn(1, 3, 224, 224)
traced_model = torch.jit.trace(model, example_input)

# Convirtiendo a Core ML .mlpackage
mlmodel = ct.convert(
    traced_model,
    convert_to='mlprogram',
    inputs=[ct.TensorType(shape=(1, 3, 224, 224))]
)
mlmodel.save('Model.mlpackage')

El código carga el modelo PyTorch entrenado, realiza el trazado JIT con una entrada de ejemplo y lo convierte al formato mlprogram (formato binario de Core ML). El .mlpackage resultante se puede arrastrar a Xcode y usar inmediatamente en código Swift.

Integración de Core ML en una App iOS

Después de la conversión del modelo, su integración en una app iOS en Swift se realiza en unas pocas líneas. Xcode genera automáticamente una clase Swift para el modelo basada en los metadatos del .mlpackage.

Ejemplo de Código en Swift

Veamos un ejemplo de clasificación de imágenes usando Core ML y el framework Vision. Vision transforma automáticamente la imagen al tamaño y formato de píxeles requeridos.

swift
import CoreML
import Vision

// Cargando modelo Core ML
guard let model = try? VNCoreMLModel(
    for: MobileNetV2.configuration.model
) else { return }

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

    // Mostrando top-3 predicciones
    for result in results.prefix(3) {
        print("\(result.identifier):
              \(result.confidence)")
    }
}

// Iniciando procesamiento de imagen
let handler = VNImageRequestHandler(
    url: imageURL
)
try? handler.perform([request])

El código Swift carga el modelo MobileNetV2 a través del framework Vision, crea una solicitud de clasificación y procesa el resultado — un array de objetos VNClassificationObservation con etiquetas de clase y porcentajes de confianza. Todo el pipeline, desde la carga hasta la salida del resultado, toma 5–50 ms según el modelo.

Para optimizar el tiempo de inicio, Core ML compila el modelo en el primer uso. La compilación previa reduce el arranque en frío de 2–3 segundos a 100–200 ms. Se recomienda compilar el modelo en tiempo de construcción en Xcode, no en el primer inicio de la app. Esto es especialmente importante para apps con múltiples modelos ML — por ejemplo, detección de objetos + clasificación + NLP.

Core ML vs ML Kit

Core ML y ML Kit resuelven tareas similares de ML en el dispositivo, pero están orientados a diferentes ecosistemas. Core ML está profundamente integrado con Apple Silicon y solo admite plataformas Apple. ML Kit de Google es una solución multiplataforma para Android e iOS.

CaracterísticaCore MLML Kit
PlataformasiOS, macOS, watchOS, tvOSAndroid, iOS
API IntegradasA través de Vision, Natural Language15+ API integradas
Modelos Personalizados.mlpackage (PyTorch, TF)TFLite (mediante adaptador)
Aceleración HardwareANE, GPU, CPUGPU (Android), CPU
Facilidad de InicioRequiere conversión del modeloAPI listas sin Data Science
Rendimiento2–50 ms (ANE)80–200 ms (CPU/GPU)

Elige Core ML si tu ecosistema es exclusivamente Apple y necesitas el máximo rendimiento a través de ANE. Si necesitas multiplataforma o API listas sin conversión, ML Kit será más práctico.

En la práctica, muchos proyectos usan ambos frameworks: iOS Core ML para alto rendimiento, y ML Kit o TensorFlow Lite en Android. Un modelo PyTorch unificado se convierte a .mlpackage para Apple y a .tflite para Android, lo que permite mantener la misma calidad de funciones ML en ambas plataformas. Este enfoque requiere un poco más de esfuerzo en DevOps, pero proporciona la máxima cobertura de audiencia.

Al elegir entre Core ML y alternativas, considera el costo de desarrollo: Core ML requiere menos código de integración (3–5 líneas de Swift frente a 15–20 líneas con TFLite), pero requiere Mac y Xcode para compilar. ML Kit, por otro lado, funciona en cualquier plataforma pero ofrece menor rendimiento en iOS debido a la falta de acceso a Apple Neural Engine.

Preguntas Frecuentes

¿Cuáles son los requisitos mínimos para Core ML?

iOS 11+ para modelos básicos, iOS 14+ para formato .mlpackage. Apple Neural Engine requiere un chip A12 Bionic o superior. Core ML es compatible con todos los iPhone, iPad y Mac desde 2017.

¿Puedo usar Core ML con TensorFlow?

, mediante la herramienta coremltools. Los modelos TensorFlow se convierten a .mlpackage conservando la precisión. Se admiten formatos TensorFlow 2.x, SavedModel, H5 y Frozen Graph.

¿En qué se diferencia .mlpackage de .mlmodel?

.mlpackage es un formato contenedor moderno, estructurado como un directorio con metadatos, un archivo binario MLProgram y recursos. Es 2–3 veces más compacto que el antiguo .mlmodel y admite cuantización.

¿Cómo maneja Core ML la privacidad de datos?

Todos los cálculos se realizan estrictamente en el dispositivo. Core ML no envía datos a los servidores de Apple. El framework funciona en modo avión y no requiere conexión a internet para la inferencia.

¿Qué lenguajes de programación soporta Core ML?

Swift es el lenguaje principal para integrar Core ML en apps iOS/macOS. Python se usa para la conversión de modelos mediante coremltools. Objective-C también es compatible para retrocompatibilidad.

Resumen

  • Core ML — el framework de Apple para ML en el dispositivo en todas las plataformas del ecosistema con soporte para Apple Neural Engine
  • .mlpackage — un formato contenedor moderno que combina modelo, metadatos y recursos en un solo paquete
  • Apple Neural Engine proporciona aceleración hardware para redes neuronales con un rendimiento de hasta 35 TOPS en M4 Ultra
  • coremltools permite convertir modelos desde PyTorch, TensorFlow y ONNX en tres pasos usando Python
  • La integración a través del framework Vision requiere 5–10 líneas de código Swift para ejecutar un modelo en una imagen
  • El rendimiento de inferencia oscila entre 2 y 50 ms según el modelo y el chip
  • Privacidad de datos — todos los cálculos son estrictamente locales, sin envío de datos a servidores

Desarrollaremos una aplicación móvil llave en mano

IT Sectr crea aplicaciones para iOS y Android para startups y empresas desde 2017. Le asesoraremos y le propondremos la mejor solución.

Discutir el proyecto

Lea también