Create ML es la herramienta de Apple para entrenar modelos de aprendizaje automático sin escribir código, integrada en Xcode y disponible también como aplicación independiente para macOS. La herramienta permite crear, entrenar y probar modelos Core ML mediante una interfaz gráfica: basta con cargar un conjunto de datos, seleccionar el tipo de tarea e iniciar el entrenamiento. Según la documentación de Apple Create ML (2025), la herramienta admite transfer learning con redes neuronales integradas, ajusta automáticamente los hiperparámetros y exporta el modelo final en formato .mlpackage.
Puntos clave
Create ML es un componente del ecosistema de aprendizaje automático de Apple, presentado en la WWDC 2018 como una herramienta para entrenar modelos Core ML sin necesidad de escribir código. Antes de Create ML, los desarrolladores usaban bibliotecas de Python (TensorFlow, PyTorch, scikit-learn) y luego convertían los modelos a Core ML mediante coremltools. Create ML abstrajo todo este proceso proporcionando una interfaz visual, redes neuronales integradas para transfer learning y exportación automática al formato Core ML.
La primera versión de Create ML (iOS 11/macOS 10.14) solo admitía tareas básicas: clasificación de imágenes y análisis de texto. La versión para macOS 10.15 añadió detección de objetos, análisis de sonido y regresión. Create ML 3 (macOS 13, 2022) introdujo soporte para sistemas de recomendación, datos tabulares con selección automática de algoritmos y visualización mejorada del entrenamiento. Create ML 4 (macOS 14, 2024) añadió soporte para modelos dinámicos, entrenamiento con datos en streaming e integración con los servicios en la nube de Apple para entrenamiento distribuido.
Create ML está diseñado para tres categorías de usuarios: desarrolladores iOS sin experiencia en ML que quieren añadir funciones inteligentes a su aplicación; gerentes de producto y diseñadores que desean prototipar rápidamente funciones ML; e investigadores de datos que necesitan validación rápida de hipótesis antes de migrar un modelo a infraestructura de producción. Para modelos complejos con arquitectura no estándar, Create ML no es adecuado — en esos casos se utilizan frameworks de Python con posterior conversión a Core ML.
Create ML ofrece siete tipos de tareas, cada una con una plantilla preconfigurada: Clasificación de Imágenes, Detección de Objetos, Clasificación de Texto y Etiquetado de Palabras, Regresión Tabular, Clasificación Tabular, Clasificación de Sonido y Recomendación. Cada plantilla incluye una arquitectura de red neuronal preseleccionada optimizada para ese tipo de tarea.
| Tipo de tarea | Datos de entrada | Ejemplo de uso |
|---|---|---|
| Clasificación de Imágenes | Imágenes etiquetadas | Identificar raza de perro por foto |
| Detección de Objetos | Imágenes anotadas | Buscar rostros en una foto |
| Clasificación de Texto | Textos etiquetados | Filtro de spam para mensajes |
| Regresión Tabular | Datos tabulares (CSV) | Predicción de precio de vivienda |
| Clasificación de Sonido | Archivos de audio etiquetados | Reconocer sonidos de la naturaleza |
Clasificación de Imágenes es la plantilla más popular de Create ML. Para entrenar un modelo, basta con proporcionar un conjunto de imágenes organizadas en carpetas (nombre de carpeta = etiqueta de clase). Create ML aplica automáticamente aumento de datos (rotación, escalado, cambio de color) para aumentar el tamaño efectivo del conjunto de datos y utiliza la red Vision FeaturePrint preentrenada (ResNet-50 modificada) para la extracción de características. El entrenamiento con transfer learning toma de 2 a 15 minutos según el tamaño del conjunto de datos y el rendimiento del Mac.
La plantilla Detección de Objetos requiere imágenes anotadas con cuadros delimitadores (bounding boxes) para cada objeto. Create ML utiliza la arquitectura YOLOv5 (You Only Look Once) adaptada para Core ML, con pesos preentrenados en el conjunto COCO. Mínimo requerido — 30 imágenes anotadas por clase, recomendado — 200+. Create ML admite la importación de anotaciones en formatos PASCAL VOC, COCO JSON y Create ML JSON.
El flujo de trabajo en Create ML dentro de Xcode consta de tres etapas: preparación de datos, entrenamiento y validación, y exportación. Durante la preparación de datos, se importan los conjuntos de entrenamiento y prueba. Create ML divide automáticamente los datos (por defecto 80/20) y muestra la distribución de clases. Durante el entrenamiento, la herramienta muestra gráficos de precisión y pérdida en tiempo real, así como métricas: exactitud, precisión, exhaustividad y puntuación F1. Durante la validación, se puede probar el modelo con nuevos datos directamente en la ventana de 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")
)
La interfaz gráfica de Create ML en Xcode se muestra en el editor lateral después de seleccionar un archivo de plantilla de categoría. La interfaz contiene pestañas: Data (carga y vista previa de datos), Features (selección de características y parámetros), Model (arquitectura de red neuronal), Training (gráficos de entrenamiento y métricas), Evaluation (pruebas con datos reservados), Preview (prueba interactiva del modelo). El desarrollador puede cambiar entre pestañas durante el entrenamiento sin detener el proceso.
Transfer Learning (aprendizaje por transferencia) es la tecnología clave en la que se basan las plantillas de Create ML. En lugar de entrenar una red neuronal desde cero (lo que requiere millones de ejemplos etiquetados), Create ML utiliza una red preentrenada (FeaturePrint) como extractor de características y solo entrena las últimas capas del clasificador. Esto permite alcanzar una alta precisión (90-95%) en conjuntos de datos de 10 a 50 imágenes por clase con un tiempo de entrenamiento de 2 a 5 minutos.
Create ML utiliza varios extractores FeaturePrint preentrenados: .scenePrint (basado en ResNet-50, entrenado en Places365), .objectPrint (basado en YOLOv5, entrenado en COCO), .textPrint (basado en BERT, entrenado en Wikipedia). La elección del extractor depende del tipo de tarea y del dominio de los datos. Por ejemplo, .scenePrint es más adecuado para clasificar imágenes de interiores y paisajes, mientras que .objectPrint es mejor para detectar objetos específicos (coches, personas, animales).
Create ML aplica automáticamente aumento de datos durante el entrenamiento: volteo horizontal, rotación de hasta 20 grados, cambio de color, ajuste de brillo y contraste. El aumento se aplica aleatoriamente a cada imagen en cada época, lo que incrementa el tamaño efectivo del conjunto de datos entre 10 y 20 veces. Esto es especialmente importante para conjuntos de datos pequeños donde el sobreajuste (overfitting) es el principal problema. Los parámetros de aumento se pueden ajustar en la pestaña Features.
Además de la interfaz visual, Create ML proporciona una API Swift para el entrenamiento programático de modelos, lo que permite automatizar los pipelines de entrenamiento e integrarlos en procesos CI/CD. La API Swift incluye las clases MLImageClassifier, MLObjectDetector, MLTextClassifier, MLWordTagger, MLTabularRegressor, MLSoundClassifier y MLRecommender. Cada clase implementa el protocolo MLModelTrainer con los métodos train(), evaluate() y 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)")
La API Swift de Create ML se puede ejecutar en scripts de build phases de Xcode o en GitLab/GitHub Actions en runners macOS. Esto permite reentrenar el modelo automáticamente cada vez que se actualiza el conjunto de datos de entrenamiento en el repositorio. Por ejemplo, se puede configurar un pipeline: push de datos al repositorio → GitLab Runner ejecuta el script Swift de Create ML → el modelo .mlpackage exportado se confirma de nuevo en el repositorio → la aplicación se compila con el modelo actualizado.
A pesar de su comodidad, Create ML tiene varias limitaciones importantes a considerar al elegir una herramienta para tareas ML. Las principales: solo funciona en macOS, control limitado sobre la arquitectura de la red neuronal, imposibilidad de usar capas personalizadas, dependencia de extractores FeaturePrint integrados y falta de soporte para entrenamiento multi-GPU o en clúster.
Create ML no está diseñado para entrenamiento en producción con conjuntos de datos grandes (más de 100 000 ejemplos). El tamaño máximo del conjunto de datos está limitado por la RAM del Mac. Para tareas a gran escala, Apple recomienda utilizar frameworks de Python (TensorFlow, PyTorch) en infraestructura de servidor con conversión posterior a Core ML mediante coremltools. Create ML es una herramienta para prototipado y proyectos pequeños, no para ML empresarial.
Para datos tabulares, Create ML solo admite tres algoritmos: Random Forest, Gradient Boosting (XGBoost) y Regresión Lineal. No hay soporte para redes neuronales para datos tabulares (TabNet, FT-Transformer), SVM, kNN ni métodos de conjunto disponibles en scikit-learn. Para tareas con datos tabulares que requieren alta precisión, Create ML a menudo se queda corto en comparación con las bibliotecas ML clásicas.
El entrenamiento de modelos solo es posible en macOS, ya que Create ML utiliza Metal Performance Shaders y frameworks exclusivos de macOS. Esta limitación imposibilita el entrenamiento en servidores Linux o clústeres GPU en la nube. Para equipos que utilizan infraestructura en la nube, coremltools + Python siguen siendo la única opción.
Veamos tres escenarios reales de uso de Create ML en aplicaciones comerciales: moderación de contenido de usuario, recomendaciones personalizadas y clasificación automática de documentos. Estos escenarios demuestran tareas típicas que se pueden resolver con Create ML sin conocimientos profundos de aprendizaje automático.
Una aplicación para compartir fotos puede usar Clasificación de Imágenes para moderación automática: entrenar un modelo con 100-200 imágenes etiquetadas como “aceptable” y “infracción” permite filtrar el 85-95% del contenido no deseado sin un moderador. Create ML permite actualizar el modelo a medida que llegan nuevos ejemplos de infracciones, reentrenándolo en 3-5 minutos.
Mediante Clasificación de Texto, Create ML puede enseñar a una aplicación a clasificar automáticamente las consultas de los usuarios en categorías: problema de pago, fallo técnico, solicitud de función, queja. El entrenamiento requiere de 50 a 100 ejemplos de texto por categoría. La precisión de clasificación alcanza el 90% utilizando el Word Tagger integrado basado en BERT.
MLRecommender en Create ML permite construir un sistema de recomendación basado en las acciones del usuario sin escribir filtrado colaborativo manualmente. El modelo se entrena con datos de Usuario → Elemento → Puntuación (por ejemplo, un usuario dio me gusta a un artículo). Create ML elige automáticamente entre filtrado colaborativo y enfoque basado en contenido según el volumen de datos y genera las N mejores recomendaciones.
Preguntas frecuentes
Create ML es la herramienta de Apple para entrenar modelos de aprendizaje automático sin código, integrada en Xcode y disponible como aplicación independiente para macOS. Permite crear modelos Core ML mediante una interfaz gráfica, admitiendo clasificación de imágenes, análisis de texto, detección de objetos y otras tareas.
Create ML se utiliza para entrenar modelos (crear archivos .mlpackage), mientras que Core ML se utiliza para ejecutar modelos entrenados en el dispositivo (inferencia). Create ML solo funciona en macOS y genera modelos en formato Core ML. Son diferentes etapas del mismo proceso: primero el entrenamiento en Create ML, luego la integración mediante Core ML en la aplicación.
La cantidad mínima de datos depende del tipo de tarea. Para clasificación de imágenes con transfer learning, 10-15 imágenes por clase son suficientes. Para detección de objetos, se requieren 30 imágenes anotadas por clase. Para clasificación de texto — 50-100 ejemplos por categoría. La cantidad recomendada es de 100-200 ejemplos por clase para lograr una precisión del 90%+.
No, Create ML funciona exclusivamente en macOS. Utiliza Metal Performance Shaders para la aceleración por GPU y la integración con Xcode, que no están disponibles en otras plataformas. Si no tienes un Mac, usa Python (TensorFlow/PyTorch) para el entrenamiento y coremltools para convertir el modelo a .mlpackage.
Sí, Create ML está incluido en Xcode y es completamente gratuito para los desarrolladores de Apple. Para usarlo, simplemente instala Xcode en un Mac (gratuito desde la Mac App Store). No se requieren licencias ni suscripciones adicionales — todas las capacidades de entrenamiento están disponibles sin restricciones.
Resumen
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.
Lea también