ML en el dispositivo (on-device ML) — ejecución de modelos de aprendizaje automático directamente en el dispositivo móvil sin enviar datos a un servidor. Según un informe de Google AI, 2025, más del 70% de los usuarios prefieren aplicaciones con on-device ML debido a la privacidad y la ausencia de latencia de red. Core ML de Apple, TensorFlow Lite de Google y ML Kit permiten resolver tareas de Vision, NLP, reconocimiento facial y de objetos completamente en el dispositivo — sin internet y con un consumo mínimo de energía.
Puntos clave
ML en el dispositivo (on-device ML) es un enfoque en el que los modelos de aprendizaje automático se ejecutan directamente en el dispositivo móvil sin enviar datos a un servidor remoto. Privacidad es la ventaja clave: los datos del usuario nunca salen del dispositivo. Según una investigación de Google (2024), el 63% de los usuarios rechazan funciones ML que requieren enviar datos a un servidor. On-device ML elimina la latencia de red, funciona fuera de línea y reduce el consumo de energía mediante aceleración por hardware.
On-device ML procesa datos en milisegundos en lugar de segundos — algo crítico para el reconocimiento facial y de objetos en tiempo real. Sin necesidad de conexión a internet es otra ventaja: las funciones ML están disponibles en modo avión y en regiones con conectividad inestable. Core ML utiliza Neural Engine en los chips Apple A12+, proporcionando 11 billones de operaciones por segundo con un consumo inferior a 1 W. Para aplicaciones móviles, on-device ML se ha convertido en el estándar de facto en tareas de Vision, NLP y reconocimiento de objetos.
ML en aplicaciones móviles se utiliza para autenticación facial (Face ID), filtros AR en Snapchat e Instagram, rastreadores de fitness con Pose Detection, escaneo OCR en Adobe Scan y entrada predictiva en teclados. Los modelos personalizados para tareas específicas se crean mediante Core ML (iOS) o TensorFlow Lite (Android). ML Kit es adecuado para escenarios típicos — reconocimiento de texto, rostros y códigos de barras sin necesidad de entrenar un modelo.
Core ML es el framework de Apple para ejecutar modelos ML en iPhone, iPad, Mac y Apple Watch. Selecciona automáticamente la aceleración por hardware óptima: Neural Engine para redes neuronales en dispositivos con A12+ (11 TOPS), GPU para tareas de procesamiento de imágenes y CPU para cálculos secuenciales. Core ML admite formatos .mlmodel (original) y .mlmodelc (compilado). La conversión de modelos desde PyTorch y TensorFlow se realiza mediante coremltools — una biblioteca Python que conserva la topología y los pesos.
Create ML es la aplicación de Apple para entrenar modelos simples sin escribir código. Para producción se utiliza coremltools — una utilidad de conversión desde PyTorch, TensorFlow y scikit-learn. Coremltools admite cuantización float32 → float16 e int8, paletización del espacio de color y eliminación de operaciones redundantes para reducir el tamaño del modelo.
import coremltools as ct
model = ct.convert(
"resnet50.mlmodel",
source="pytorch",
convert_to="mlprogram"
)
model.save("Resnet50.mlpackage")
Neural Engine es un neuroprocesador especializado en los chips Apple A12 y posteriores. 16 núcleos realizan hasta 11 billones de operaciones por segundo con un consumo inferior a 1 W. Core ML dirige automáticamente los cálculos de redes neuronales a Neural Engine y los compatibles con GPU a Metal GPU. El desarrollador no necesita elegir el dispositivo — Core ML lo hace mediante Performance Report, analizando el modelo y el hardware disponible.
TensorFlow Lite (TFLite) es la solución multiplataforma de Google para ejecutar modelos ML en Android, iOS y Linux. Los modelos tienen formato .tflite y se crean mediante TFLiteConverter del ecosistema TensorFlow. TFLite admite cuantización float32 → int8, lo que reduce el tamaño del modelo 4 veces manteniendo un 97–99% de precisión en tareas de clasificación. Google Play Services for TFLite actualiza automáticamente el runtime sin necesidad de relanzar la aplicación.
TFLiteConverter es la herramienta principal para convertir modelos TensorFlow al formato .tflite. La cuantización int8 post-entrenamiento comprime un modelo de 300 MB a 75 MB sin acceso al conjunto de datos completo. El entrenamiento consciente de cuantización (QAT) ofrece una pérdida mínima de precisión — menos del 1% en ImageNet. TFLiteConverter también admite la poda del grafo y la eliminación de operaciones no compatibles con el runtime de TFLite.
import tensorflow as tf
converter = tf.lite.TFLiteConverter.from_saved_model(
"saved_model_dir"
)
converter.optimizations = [tf.lite.Optimize.DEFAULT]
tflite_model = converter.convert()
Sin un delegado, TFLite ejecuta el modelo en CPU de 3 a 5 veces más lento que con aceleración por hardware. GPU Delegate utiliza OpenCL y OpenGL ES 3.1 en Android, Core ML Delegate utiliza Neural Engine en iOS. NNAPI Delegate aprovecha NPU y DSP en Android 8.1+. XNNPACK Delegate proporciona aceleración multiplataforma en CPU ARM con optimizaciones para procesadores móviles. Para seleccionar un delegado, use TfLiteGpuDelegate.create() con verificación de null en el resultado.
ML Kit es el SDK de Google con API listas para on-device ML. En aplicaciones móviles, ML Kit se utiliza para reconocimiento de texto (más de 50 idiomas, incluida escritura manuscrita), Face Detection (468 puntos clave faciales), Barcode Scanning (QR, EAN-13, Code 128, PDF417, Data Matrix) y Object Detection. Todas las API funcionan completamente en el dispositivo sin internet. ML Kit está disponible en iOS y Android con una API unificada.
Face Detection devuelve las coordenadas del contorno facial, cejas, ojos, nariz y labios, así como el ángulo de inclinación de la cabeza y el estado de los ojos. Máscaras AR y filtros de cámara son el caso de uso más popular. Text Recognition extrae texto de fotos con hasta un 99% de precisión en caracteres impresos. La API admite reconocimiento en tiempo real mediante CameraX.
val recognizer = TextRecognition.getClient()
val image = InputImage.fromBitmap(bitmap)
recognizer.process(image)
.addOnSuccessListener { result ->
result.textBlocks.forEach { block ->
println(block.text)
}
}
Barcode Scanning reconoce códigos de barras en el flujo de video de la cámara en tiempo real. Object Detection identifica objetos en una imagen con cuadro delimitador y etiqueta de clase (persona, coche, animal). Pose Detection determina 33 puntos clave del cuerpo para aplicaciones de fitness y análisis de movimiento. Image Labeling devuelve hasta 10 etiquetas semánticas de imagen — "naturaleza", "ciudad", "comida".
Apple proporciona soluciones ML integradas a través de Vision y NaturalLanguage sin instalar SDK de terceros. Vision (VNRequest) realiza detección de rostros, texto, códigos de barras y contornos en el dispositivo. NaturalLanguage (NLTokenizer) proporciona tokenización, lematización, identificación de idioma y análisis de sentimiento. En Android, los equivalentes se implementan mediante ML Kit (reconocimiento) y SpeechRecognizer de android.speech (voz). Las herramientas integradas no requieren descargar modelos — vienen preinstaladas en el sistema.
Vision incluye VNDetectFaceRectanglesRequest (detección de rostros), VNRecognizeTextRequest (reconocimiento de texto), VNDetectBarcodesRequest (códigos de barras) y VNDetectHumanBodyPoseRequest (esqueleto). VNCoreMLRequest integra un modelo Core ML personalizado en el pipeline de Vision — por ejemplo, clasificación de emociones en rostros detectados. Todas las solicitudes se ejecutan en Neural Engine con latencia mínima.
let request = VNRecognizeTextRequest { request, error in
guard let observations = request.results
as? [VNRecognizedTextObservation] else { return }
for observation in observations {
let topCandidate = observation
.topCandidates(1).first
print(topCandidate?.string as? String ?? "")
}
}
let handler = VNImageRequestHandler(
cgImage: image, options: [:]
)
try? handler.perform([request])
NaturalLanguage proporciona NLTokenizer para dividir texto en tokens, NLLanguageRecognizer para identificación de idioma (72 idiomas) y NLSentimentAnalyzer para análisis de sentimiento del texto. SFSpeechRecognizer es una API de reconocimiento de voz con soporte para más de 50 idiomas en el dispositivo (iOS 13+). Requiere permiso SFSpeechRecognizerAuthorizationStatus antes de su uso. Los resultados llegan de forma asíncrona mediante SFSpeechRecognitionResultHandler.
Preguntas frecuentes
ML en el dispositivo (on-device ML) es un enfoque en el que los modelos de aprendizaje automático se ejecutan directamente en un dispositivo móvil sin enviar datos a un servidor. Core ML, TensorFlow Lite y ML Kit son los principales frameworks para on-device ML.
Core ML es el framework de Apple para iOS y macOS con aceleración en Neural Engine. TensorFlow Lite es la solución multiplataforma de Google para Android, iOS y Linux. Core ML ofrece mejor rendimiento en dispositivos Apple, TFLite ofrece versatilidad.
ML Kit resuelve tareas típicas de visión por computadora y NLP: reconocimiento de texto, rostros, códigos de barras, objetos y posturas corporales. Todas las API funcionan en el dispositivo sin internet y no requieren crear su propio modelo.
No, on-device ML funciona completamente de forma local. Los modelos se cargan en el dispositivo y se ejecutan sin conexión a internet. ML Kit también ofrece versiones de API en la nube con mayor precisión, pero el modo on-device está disponible sin conexión.
Para solo iOS, elija Core ML — utiliza Neural Engine y está estrechamente integrado con el ecosistema Apple. Para proyectos multiplataforma, elija TensorFlow Lite. Para tareas típicas sin modelo personalizado, elija ML Kit con API listas.
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.