Entonces, empecemos. Me complace hablarles a todos sobre el tema, el aprendizaje automático en el edge. Soy Sangeeta y trabajo como desarrollador en Amazon. Durante los últimos cuatro años, he estado construyendo aplicaciones móviles profesionalmente y como proyectos secundarios. Naturalmente, siempre estoy buscando formas de hacer que las aplicaciones sean más rápidas, más inteligentes, más seguras y poder brindar mejores experiencias al cliente.
Como tal, cuando Google lanzó ML Kit como parte de su ION, que prometía aprendizaje automático en el edge, tuve que probarlo. Ahora, ¿qué es el ML en el edge y por qué debería importarnos? Tradicionalmente, construir soluciones de ML requería que los desarrolladores recopilaran datos, construyeran modelos, los entrenaran, los ajustaran, los implementaran en algún servidor remoto en la nube y los sirvieran en dispositivos móviles en los llamados bordes de Internet.
Ahora, como todos sabemos, con el paso del tiempo, los dispositivos móviles se han vuelto mucho más eficientes en sus capacidades de cómputo. ¿Por qué no aprovechar la capacidad de cómputo de los dispositivos localmente, en lugar de hacer el procesamiento en algún lugar remoto en la nube? Eso es el ML en el edge. Ahora, ¿cuáles son los beneficios de hacerlo? No tener que transferir datos de un lado a otro del mundo significa una latencia y un ancho de banda más fáciles. Localizar todo el procesamiento que ocurre en el dispositivo significa que los datos son más seguros, los resultados son más en tiempo real y puedes brindar una mejor experiencia sin conexión a tus clientes. Y finalmente, esto reduce en gran medida la barrera para que cualquier desarrollador móvil con poca o ninguna experiencia en ML integre soluciones de ML en sus aplicaciones.
Espero que ahora estén convencidos de que el ML en el edge es interesante y tengan curiosidad por saber más al respecto. Ahora, intentemos entender cómo lograr esto. ML Kit es el SDK de Google, que engloba toda su experiencia en aprendizaje automático en un SDK simple pero poderoso. Esto se basa en TensorFlow Lite, que es una versión optimizada para dispositivos móviles de TensorFlow y se puede utilizar tanto para el desarrollo de Android como de iOS. Las API que ofrece ML Kit se pueden clasificar en dos tipos, base y personalizadas. La idea es que si una de tus necesidades no se satisface con las API base disponibles, puedes construir tus propios modelos de TensorFlow Lite personalizados y hacer que se rendericen en dispositivos móviles. Las API base disponibles se pueden clasificar aún más según su uso en visión y lenguaje. Por ejemplo, respuestas inteligentes, escaneo de códigos de barras, detección de rostros, detección e identificación de imágenes, y más. Nuevamente, los desarrolladores móviles no necesariamente necesitan entender la magia del aprendizaje automático que ocurre bajo el capó. Todo eso se abstrae de manera limpia y está disponible como API listas para usar, que se pueden aprovechar con solo unas pocas líneas de código.
Hablando de código, a continuación, entendamos qué se necesita para integrar ML Kit en un proyecto de React Native. Debemos saber que ML Kit se puede utilizar tanto para desarrollo nativo como para desarrollo de React Native, pero para este taller, me centraré en el flujo de trabajo de React Native para Android, aunque el proceso debería ser bastante similar para iOS también. El primer paso para integrar ML Kit es configurar tu proyecto como uno de Firebase. Firebase proporciona un conjunto de herramientas que facilitan mucho el desarrollo de aplicaciones. Herramientas como registro, autenticación, todo este proceso pesado está disponible como parte de Firebase. Entonces, los desarrolladores de Google pensaron, ¿por qué el aprendizaje automático debería ser diferente? Y es por eso que ML Kit también está disponible como parte de Firebase. Para comenzar con Firebase, ingresas a la consola de Firebase e ingresas el nombre de tu paquete. Esto genera un archivo de configuración de Firebase que se coloca en la raíz de la carpeta de tu proyecto. Luego, actualizamos el archivo de compilación o gradle para declarar los servicios de Google como una de nuestras dependencias y ejecutamos el complemento.
Comments