Cactus kan uw bedrijf helpen voordeel te halen uit AI via “StartAI”, het AI-programma van Agoria en Vlaio

El auge de la IA en el desarrollo móvil: CoreML, TensorFlow Lite y más allá

En el umbral de una nueva era tecnológica, la inteligencia artificial (IA) está abriéndose camino cada vez más en nuestra vida diaria, y los dispositivos móviles no son una excepción. En este artículo, exploraremos la integración de la inteligencia artificial en aplicaciones móviles, las herramientas que Apple y Google proporcionan a los desarrolladores, y las soluciones nativas que crean junto con sus sistemas operativos. También cubriremos los pasos técnicos para introducir modelos de aprendizaje automático en el desarrollo de iOS usando CoreML y la mayoría de sus limitaciones.

Contenido creado por David Duarte, Desarrollador iOS del Equipo Cactai.

Una Breve Historia de la IA en Móviles

El primer hito en esta historia se estableció con el lanzamiento del primer iPhone en 2007. El iPhone redefinió lo que podía ser un teléfono inteligente, siendo su impacto inmediato y profundo. Estableció un nuevo estándar para los dispositivos móviles y desencadenó una ola de innovación que continúa hasta nuestros días. A continuación, en 2011, la inteligencia artificial en aplicaciones móviles comenzó a dejar su huella en los productos de Apple con la introducción de Siri, que aprovechó el procesamiento del lenguaje natural en interfaces móviles. Utilizando PLN, Siri podía comprender y responder a las consultas de los usuarios, estableciendo un nuevo estándar para la interactividad móvil. A esto le siguió Google Now, que ofrecía sistemas de recomendación impulsados por IA e información predictiva basada en los hábitos y preferencias del usuario. Estas primeras implementaciones mostraron el potencial de la IA para mejorar la experiencia del usuario a través de interacciones personalizadas e inteligentes.

A medida que la IA continuaba evolucionando, el desarrollo de hardware específico para IA jugó un papel crucial en su integración en los dispositivos móviles. El chip A11 Bionic de Apple, introducido en 2017, marcó una nueva era, permitiendo cálculos de IA más complejos y eficientes directamente en los dispositivos móviles. Avanzando rápidamente hasta 2022, el chip Apple A16 introdujo aún más avances, convirtiéndolo en una base sólida para la integración de CoreML, que permite funciones de aplicaciones potenciadas por IA eficientes.

Junto con los avances de hardware, también se introdujeron herramientas de software y librerías. CoreML y TensorFlow Lite, lanzados en 2017 y 2018 respectivamente, proporcionan a los desarrolladores móviles las herramientas necesarias para crear modelos de aprendizaje automático o importar modelos de Python ya desarrollados. Esta simbiosis perfecta de hardware y software optimiza el uso del hardware del dispositivo, permitiendo que código específico se ejecute en la CPU, GPU o el Neural Engine, garantizando un rendimiento eficiente.

El viaje de la IA en móviles está marcado por la innovación y la integración continuas. Desde los primeros días con simples asistentes virtuales hasta sofisticados modelos de lenguaje de gran tamaño (LLM) como Apple Intelligence, la IA se está integrando profundamente en nuestros teléfonos.

La Necesidad de la IA en Nuestros Dispositivos Móviles

La búsqueda de mejorar la experiencia del usuario y la personalización impulsa la necesidad de personalización a través de la IA en las soluciones móviles modernas. Cada año, los dispositivos Apple reciben mejoras de hardware en el neural engine, junto con una mayor capacidad de memoria y computación, para soportar soluciones más potentes. Por ejemplo, mientras escribo esto desde mi teléfono, puedo obtener análisis predictivos en aplicaciones móviles, desbloquear el iPhone mediante FaceID o usar Duolingo para lecciones personalizadas, todo ello aprovechando la IA. Del mismo modo, la IA en el Apple Watch incluye funciones avanzadas potenciadas por IA como la detección de accidentes, la monitorización de la fibrilación auricular y la detección de caídas.

En resumen, la necesidad de IA en los dispositivos móviles está impulsada por la demanda de experiencias de usuario más inteligentes, eficientes y personalizadas.

Pongámonos Manos a la Obra: Integración de CoreML

CoreML es el framework de aprendizaje automático de Apple, diseñado para facilitar a los desarrolladores la integración de IA en aplicaciones iOS. Introducido en 2017, CoreML permite la ejecución eficiente y optimizada de modelos de aprendizaje automático en dispositivos Apple. CoreML ha evolucionado significativamente a través de sus versiones, soportando ahora potentes modelos transformer y con estado (stateful), como la conversión de Stable Diffusion XL para integrarlo en móvil o un modelo grande como Mistral 7B. Para una inmersión más profunda en las capacidades de esta librería, recomiendo encarecidamente ver este video de la última WWDC: CoreML en la WWDC 2024.

Comenzó con soporte para librerías de ML populares como Keras y scikit-learn en 2017, introdujo compresión de modelos y capas personalizadas en 2018, añadió entrenamiento en el dispositivo y soporte avanzado para redes neuronales en 2019, mejoró la integración con CreateML y Swift para TensorFlow en 2020, y unificó los formatos de modelo en todas las plataformas Apple con seguridad mejorada de modelos en 2021. Para 2023, CoreML soportaba modelos Transformer avanzados, mejor integración con los frameworks Vision y Natural Language, y mejoras en el rendimiento de aplicaciones en tiempo real. En 2024, introdujo un motor de inferencia más rápido con soporte para la API Async Prediction, embeddings BERT, clasificación de imágenes multi-etiqueta, una nueva API de Aumentación de Datos y opciones mejoradas de conversión de modelos. Estas actualizaciones aseguran que CoreML se mantenga a la vanguardia de las capacidades de IA móvil.

Emparejando Dispositivos con Versiones de CoreML

Aparte de la versión de CoreML que podemos soportar en nuestra aplicación (que depende de la versión de iOS), debemos considerar la potencia computacional del dispositivo. Los dispositivos móviles tienen CPU y GPU menos potentes en comparación con ordenadores de sobremesa y servidores, lo que limita su capacidad para procesar modelos de aprendizaje automático en el desarrollo de iOS grandes y complejos.

Categoría del DispositivoEjemplosCPU/GPURAMAdecuado para
Gama AltaiPhone 15 Pro, iPhone 14 Pro, iPad ProA17 Pro, A16 Bionic, M1/M28-16 GBTareas y modelos de IA complejos como Stable Diffusion
Gama MediaiPhone 15, iPhone 14, iPad Air (2020+)A16 Bionic, A15 Bionic, A144-6 GBCapaz de manejar la mayoría de las aplicaciones de IA de manera eficiente
Gama de EntradaiPhone SE (2022), iPad (9ª gen)A15 Bionic, A13 Bionic3-4 GBAplicaciones de IA simples como clasificación de imágenes simple, voz a texto
Modelos AntiguosiPhone X, iPhone 8A11 Bionic2-3 GBCapacidades limitadas para ejecutar modelos de IA complejos
Versión del modelo CoreML

Comprender las capacidades y limitaciones del dispositivo es crucial al desarrollar aplicaciones de IA. Si bien CoreML proporciona un framework potente para integrar modelos de aprendizaje automático en aplicaciones iOS, las capacidades de hardware del dispositivo determinarán en última instancia la complejidad y el rendimiento de estos modelos.

Trabajando con CoreML: Creando e Integrando Modelos ML en iOS

CoreML soporta una variedad de tipos de modelos y se integra perfectamente con otros frameworks de Apple, como Vision para análisis de imagen y capacidades de visión por computadora; Natural Language para procesar y analizar texto; Speech para transcribir entrada de audio a texto y generar salida de voz a partir de texto; y Sound Analysis para identificar sonidos como aplausos, risas o géneros musicales.

Para hacer predicciones o usar cualquiera de los frameworks de aprendizaje automático, necesitas un modelo de CoreML. Los desarrolladores pueden usar modelos pre-entrenados disponibles de Apple o de la comunidad, o pueden crear modelos personalizados usando herramientas como CreateML. Alternativamente, los desarrolladores pueden importar modelos creados en Python utilizando la integración de CoreML, lo cual es ideal para implementar soluciones multiplataforma con funciones de aplicaciones potenciadas por IA.

Obtener un modelo no es una tarea difícil. Si este es tu punto de partida, puedes descargar cualquiera de los modelos oficiales de Apple desde Modelos de Aprendizaje Automático de Apple. Luego, puedes añadir este modelo a tu aplicación, instanciarlo y hacer predicciones. Esta es la forma más fácil si no tienes conocimientos de ML, solo tienes que centrarte y entender la entrada y salida del modelo. Puedes encontrar esta información en la descripción del modelo.

Crea tu propio modelo con CreateML

Si no es posible usar un modelo ya desarrollado, puedes usar CreateML para entrenar el tuyo propio. CreateML es una herramienta potente proporcionada por Apple que permite a los desarrolladores entrenar modelos de aprendizaje automático utilizando una interfaz simple e intuitiva. CreateML abstrae gran parte de la complejidad involucrada en el entrenamiento de modelos, haciéndolo accesible incluso para desarrolladores con experiencia limitada en aprendizaje automático. Proporciona plantillas y flujos de trabajo predefinidos para varios tipos de tareas de aprendizaje automático, incluyendo clasificación de imágenes, detección de objetos, clasificación de texto y más.

Si bien CreateML simplifica el proceso de entrenamiento de modelos de aprendizaje automático, tener una comprensión básica de los conceptos de IA puede ser beneficioso. Los desarrolladores deberían estar familiarizados con:

  • Preparación de Datos: Comprender cómo recopilar, limpiar y preprocesar datos para el entrenamiento.
  • Entrenamiento de Modelos: Conceptos básicos de entrenamiento, validación y prueba de modelos de aprendizaje automático.
  • Métricas de Evaluación: Conocimiento de las métricas utilizadas para evaluar el rendimiento del modelo, como precisión, exactitud, exhaustividad y puntuación F1.

Importa un modelo de Python con CoreML

Importar un modelo de Python ya desarrollado en CoreML implica varios pasos, aprovechando la librería coremltools para convertir el modelo a un formato compatible con iOS. CoreML soporta una amplia gama de modelos de frameworks populares como TensorFlow, Keras, PyTorch y ONNX. Este método es particularmente útil para desarrolladores que tienen experiencia con frameworks de aprendizaje automático como TensorFlow, Keras o PyTorch y quieren implementar sus modelos en dispositivos Apple, o para equipos grandes con desarrolladores dedicados que trabajan en una solución de modelo de aprendizaje automático multiplataforma.

Para estas soluciones, el equipo (o los desarrolladores de iOS) debe tener familiaridad con Python y los fundamentos de ML, como la comprensión del entrenamiento, la validación y la prueba de modelos de aprendizaje automático.

ML en Android: TensorFlow Lite

TensorFlow Lite es el framework de aprendizaje profundo de código abierto de Google diseñado para la inferencia de aprendizaje automático en el dispositivo. Está optimizado para dispositivos móviles, permitiendo a los desarrolladores implementar modelos de aprendizaje automático en Android e iOS. TensorFlow Lite es una versión más ligera de TensorFlow, específicamente adaptada para funcionar eficientemente en dispositivos con potencia computacional limitada.

Algunos puntos positivos de TensorFlow Lite son que es multiplataforma, está optimizado para dispositivos móviles con baja latencia y ejecución eficiente y, al igual que CoreML, también soporta la optimización de modelos.

Por supuesto, no todas las operaciones de TensorFlow son compatibles con TensorFlow Lite. Algunas características avanzadas y capas personalizadas pueden requerir ajustes o simplificaciones para funcionar dentro de las limitaciones de TensorFlow Lite. Los modelos grandes y altamente complejos pueden no funcionar bien en dispositivos móviles debido a los recursos computacionales limitados.

Resumiendo

Tanto CoreML como TensorFlow Lite ofrecen herramientas potentes para dar vida a la inteligencia artificial en aplicaciones móviles. Los desarrolladores que trabajan con modelos de aprendizaje automático en el desarrollo de iOS se benefician de la estrecha integración de CoreML dentro del ecosistema Apple, mientras que el uso de TensorFlow Lite proporciona un framework versátil para desarrolladores de Android. Ambas herramientas soportan la optimización de modelos, pero el enfoque de CoreML en el rendimiento específico del dispositivo lo hace particularmente ventajoso para modelos de IA complejos.

El futuro de la IA en dispositivos móviles

El futuro de la IA en dispositivos móviles es prometedor, con avances tecnológicos que revolucionarán la forma en que interactuamos con nuestros teléfonos inteligentes y otros dispositivos móviles. El enfoque parece estar en mejorar la comprensión del comportamiento y las preferencias del usuario, cuidando su privacidad, con mayor detalle para proporcionar experiencias altamente personalizadas. En términos de soluciones por parte del sistema operativo, obtendremos mejoras en el monitoreo de la salud y el estado físico con métricas de salud más avanzadas.

La Realidad Aumentada y la Realidad Virtual continúan mejorando y la integración con la IA proporciona experiencias más inmersivas e interactivas. Esto incluye reconocimiento de objetos en tiempo real, control por gestos y adaptación al entorno (echa un vistazo a los avances de los frameworks ARKit y Vision).

No podemos olvidar mencionar las futuras mejoras (aún no lanzadas) en la asistencia virtual y la integración de un LLM en nuestros dispositivos móviles (Apple Intelligence).

Conclusión

En conclusión, el futuro de la inteligencia artificial en aplicaciones móviles es brillante, con ambas plataformas, iOS y Android, ofreciendo soluciones robustas para funciones de aplicaciones potenciadas por IA. A través de la integración de CoreML y el uso de TensorFlow Lite, los desarrolladores tienen las herramientas necesarias para crear aplicaciones móviles altamente personalizadas, eficientes e inteligentes.

Compartir esta página
Dianas picture 2x
Si hay un proyecto que necesita ayuda o incluso un conjunto de habilidades que te falta, contáctanos.

Artículos similares

Contáctanos hoy para descubrir cómo Cactus
puede apoyar tu transformación digital