Video Summary and Transcription
La IA en JavaScript permite ejecutar modelos de aprendizaje automático en el lado del cliente en un navegador web, ofreciendo ventajas como privacidad, capacidades sin conexión, baja latencia y ahorro de costos. Se pueden utilizar varios modelos de IA para tareas como desenfoque de fondo, detección de toxicidad de texto, extracción de datos 3D, reconocimiento de malla facial, seguimiento de manos, detección de posturas y segmentación corporal. Las bibliotecas de JavaScript como MediaPipe LLM inference API y Visual Blocks facilitan el uso de modelos de IA. La IA web está en sus primeras etapas, pero tiene el potencial de revolucionar las experiencias web y mejorar la accesibilidad.
1. Introducción a Web AI en JavaScript
Soy Jason Mayes, líder de Web AI en Google. Comienza a investigar el aprendizaje automático en el lado del cliente en JavaScript para obtener superpoderes en tu próxima aplicación web. Web AI es el arte de utilizar modelos de ML en el lado del cliente en un navegador web, a diferencia de la IA en la nube. En el futuro, todas las industrias aprovecharán la IA. Actualízate en esta área ahora para obtener beneficios únicos en JavaScript.
Soy Jason Mayes, líder de Web AI aquí en Google. Hoy vengo a ti como un ingeniero de JavaScript para compartir contigo una historia sobre por qué deberías comenzar a investigar el aprendizaje automático en el lado del cliente en JavaScript para obtener superpoderes en tu próxima aplicación web.
Primero, definamos formalmente lo que quiero decir con Web AI, que es un término que acuñé en 2022 para destacar frente a los sistemas de IA en la nube que eran populares en ese entonces. Web AI es el arte de utilizar modelos de aprendizaje automático en el lado del cliente en un navegador web, ejecutándose en el procesador o tarjeta gráfica de tu propio dispositivo, utilizando JavaScript y tecnologías web como WebAssembly y WebGPU para aceleración. Esto es diferente de la IA en la nube, donde el modelo se ejecutaría en el lado del servidor y se accedería a través de alguna API, lo que significa que necesitas una conexión a internet activa para comunicarte con esa API en todo momento para obtener las capacidades avanzadas proporcionadas.
Como desarrolladores y diseñadores web, tenemos el privilegio de trabajar en diversas industrias cuando trabajamos con nuestros clientes. De manera similar, es probable que la inteligencia artificial sea aprovechada por todas esas industrias en el futuro para hacerlas más eficientes que nunca. De hecho, en unos años, los clientes esperarán funciones de IA en su próximo producto para mantenerse al día con todos los demás que ya lo están haciendo. Así que ahora es el momento perfecto para actualizarte en esta área, ya que puedes obtener beneficios únicos al hacer esto en el dispositivo en JavaScript.
2. Ventajas de la IA en el lado del cliente en aplicaciones web
Privacidad: No es necesario enviar datos al servidor para la clasificación, protegiendo los datos personales del usuario. Capacidad de funcionar sin conexión en el propio dispositivo. Baja latencia que permite la ejecución en tiempo real del modelo. Menor costo al ejecutar IA directamente en el navegador. Experiencia sin fricciones para los usuarios finales. Alcance y escala de la web. Uso creciente de bibliotecas de IA en el lado del cliente. Ejemplo real de una solución de videoconferencia con desenfoque de fondo. Ahorro de costos al utilizar IA en el lado del cliente en la segmentación de video.
¿Qué son esas ventajas? Bueno, primero está la privacidad. Como no es necesario enviar data como la cámara, el micrófono o incluso el texto al servidor para la clasificación, se protegen los datos personales del usuario. Un gran ejemplo de esto es mostrado aquí por include health que utiliza modelos de estimación de postura basados en el navegador para realizar fisioterapia remota sin enviar ninguna imagen a la cloud. En su lugar, solo se envían el rango de movimiento resultante y las estadísticas de la sesión, lo que permite al paciente realizar la consulta desde la comodidad de su propia casa.
También tienes la capacidad de funcionar sin conexión en el propio dispositivo, por lo que incluso puedes realizar tareas en áreas con poca o ninguna conectividad después de cargar la página. Ahora, es posible que te preguntes por qué una aplicación web necesita hacer todas esas cosas sin conexión. Bueno, en este gran ejemplo de Hugo Zanini, realiza una verificación de ubicación de productos utilizando una aplicación web en supermercados para un cliente minorista con el que estaba trabajando. Todos sabemos lo malas que son las conexiones Wi-Fi en los supermercados. Utilizó TensorFlow.js directamente en el navegador, que puede funcionar completamente sin conexión y luego sincroniza los datos cuando tiene conectividad más tarde.
A continuación, está la baja latencia que te permite ejecutar muchos modelos en tiempo real, ya que no tienes que esperar a que los datos se envíen a la cloud y luego obtener una respuesta de vuelta. Por ejemplo, nuestros modelos de cuerpo, postura y segmentación pueden ejecutarse a más de 120 fotogramas por segundo en una computadora portátil con una GPU de gama media con gran precisión, como se puede ver en esta diapositiva. También tienes un menor costo, ya que no necesitas contratar y mantener costosas GPU basadas en la cloud las 24 horas del día, los 7 días de la semana, lo que significa que ahora puedes ejecutar IA generativa directamente en el navegador, como este gran modelo de lenguaje en el lado izquierdo, sin arruinarte. Y estamos viendo a aplicaciones web listas para producción beneficiarse de ahorros significativos de costos también, como se muestra en el ejemplo de características avanzadas de videoconferencia como el desenfoque de fondo que se muestra a la derecha.
Y lo que es aún mejor, puedes ofrecer una experiencia sin fricciones para tus usuarios finales, ya que no se requiere ninguna instalación para ejecutar una página web. Simplemente ve a un enlace y funciona. De hecho, Adobe hizo exactamente eso aquí con Adobe Photoshop web, permitiendo a cualquier persona en cualquier lugar utilizar sus características creativas favoritas en casi cualquier dispositivo. Cuando se trata de la herramienta de selección de objetos que se muestra en esta diapositiva, aprovechar el aprendizaje automático en el lado del cliente puede proporcionar a los usuarios de Adobe una mejor experiencia de usuario al eliminar la latencia del servidor en la cloud, lo que resulta en predicciones más rápidas y una experiencia de usuario más receptiva. Y en ese sentido, también significa que puedes aprovechar el alcance y la escala de la web misma, que cuenta con más de seis mil millones de dispositivos habilitados para navegadores para personas capaces de ver tu creación. Entonces, no importa si estás mejorando tu próxima transmisión en vivo de YouTuber para convertirte en una persona diferente o capturando movimientos faciales detallados para controlar un personaje de juego utilizando nada más que una webcam regular o en el lado del cliente en el navegador, hasta lo último en IA generativa donde incluso puedes ejecutar modelos de difusión en el navegador web a velocidades increíbles con nuevas tecnologías de navegadores como web GPU ahora habilitado de forma predeterminada en Chrome y navegadores basados en Chrome, las cosas están a punto de ponerse realmente emocionantes en lo que podemos esperar de una aplicación web en el futuro.
Incluso si aún no estás utilizando IA en el lado del cliente, quiero ilustrar lo rápido que está creciendo y por qué deberías echarle un vistazo. Solo tengo estadísticas de las bibliotecas de IA web de Google, por lo que es probable que el uso a nivel mundial sea aún mayor que esto, pero en los últimos dos años, hemos promediado 600 millones de descargas por año de TensorFlow.js y modelos y bibliotecas web basadas en medios, lo que nos lleva a más de 1.2 mil millones de descargas en ese tiempo por primera vez, y estamos en camino de superar esa cifra en 2024 con nuestro uso continuo en crecimiento. Así que ahora es realmente el momento de formar parte de este crecimiento tú mismo. De hecho, hemos visto este crecimiento constante desde 2020 a medida que cada vez más desarrolladores, como tú, han comenzado a utilizar IA web en casos de uso de producción. Y hablando de ejemplos del mundo real, profundicemos en una solución típica de videoconferencia.
Ahí van mis notificaciones. Muchos de estos servicios ofrecen desenfoque de fondo o reemplazo de fondo en llamadas de video por motivos de privacidad. Así que vamos a calcular algunos números hipotéticos para el valor de utilizar IA en el lado del cliente en un caso de uso como este. Primero, una webcam produce típicamente video a 30 fotogramas por segundo. Así que suponiendo que la reunión promedio dura unos 30 minutos, eso son 54,000 fotogramas que tienes que procesar en cada reunión. Ahora, supongamos que, si tienes un servicio popular, podrías tener un millón de reuniones al día, lo que significa 54 mil millones de segmentaciones cada día. Incluso si asumimos un costo realmente ultrabajo de solo 0.0001 centavos por segmentación, aún serían $5.4 millones al día que tendrías que gastar en la cloud, lo que equivale a alrededor de $2 mil millones al año solo en costos de GPU.
3. Modelos de IA para aplicaciones web
Realizar el desenfoque de fondo y ejecutar otros modelos en el lado del cliente a través de IA web reduce los costos. Miles de modelos de IA se pueden ejecutar en el navegador hoy en día. Algunos populares incluyen el reconocimiento de objetos para crear cámaras para mascotas, detección de toxicidad en texto para filtrar comentarios y extracción de datos 3D para efectos de iluminación y realidad aumentada. Además, modelos de malla facial para colorear labios en tiempo real y modelos de seguimiento de manos para reconocimiento de gestos e interfaces sin contacto.
Al realizar el desenfoque de fondo en el lado del cliente a través de IA web, ese costo puede desaparecer. Y no olvides que incluso puedes ejecutar otros modelos también, como la eliminación de ruido de fondo, para mejorar aún más la experiencia de reunión para tus usuarios al reducir aún más los costos de producción.
Entonces, ¿qué tipo de modelos de IA existen actualmente que se pueden ejecutar en el navegador? Claramente, no todos aquí estarán ejecutando aplicaciones de videoconferencia. Así que hay miles de modelos disponibles, y muchos de ellos se pueden utilizar en solo unas pocas líneas de JavaScript, y cada mes se lanzan nuevos modelos desde la comunidad más amplia de IA en la web. No puedo cubrir todos estos en la charla, pero veamos algunos de los más populares y pensemos en cómo puedes aplicarlos a las industrias en las que estás trabajando actualmente.
En primer lugar, tenemos el reconocimiento de objetos. Esto te permite entender dónde se encuentra el objeto en la imagen, pero también cuántos existen, lo cual es mucho más poderoso que el simple reconocimiento de imágenes, que solo te dirá que algo existe pero no dónde ni cuántos. Si puedes usar un modelo como este, puedes crear algo como una cámara para mascotas muy fácilmente que te notifique cuando tu perro se ha portado mal y ha comido las golosinas cuando no estás en casa. Hice este ejemplo en aproximadamente un día de programación utilizando modelos listos para usar que son capaces de reconocer 90 objetos comunes como perros y cuencos de golosinas y cosas así. Como puedes ver, funciona bastante bien. El perro en este video es atrapado in fraganti mientras intenta robar el cuenco de comida cuando me alejo de la situación. Puedes enviarte una alerta utilizando tus tecnologías web habituales para alertar tus dispositivos, y todo esto se hace sin tener que transmitir ese video las 24 horas del día, los siete días de la semana a algún servidor en la nube para interpretarlo. En su lugar, solo envías el fragmento cuando el perro intersecta el cuenco en ese momento.
4. Modelos avanzados de IA para aplicaciones web
El modelo de detección de toxicidad en el texto puede filtrar comentarios tóxicos en chats web o sistemas de comentarios. La extracción de datos 3D a partir de imágenes 2D permite efectos de iluminación y realidad aumentada. El modelo de malla facial reconoce 468 puntos de referencia faciales y se puede utilizar para colorear los labios en tiempo real. Los modelos de seguimiento de manos permiten el reconocimiento de gestos e interfaces sin contacto. También están disponibles modelos de detección de posturas, segmentación del cuerpo y modelos especializados para enfocarse en la parte superior del cuerpo. Los modelos de lenguaje grandes se pueden llevar al lado del cliente para un procesamiento rápido.
¿Qué hay de la detección de toxicidad en el texto? Aquí, puedes pasar una oración al modelo y clasificará si es tóxica o no. Incluso puedo determinar qué tipo de toxicidad podría ser, como un insulto o una amenaza, por ejemplo. Algo así se podría utilizar para filtrar automáticamente los comentarios en un chat web o sistema de comentarios en tu sitio web, manteniendo automáticamente los comentarios potencialmente tóxicos para su revisión por parte de un moderador.
Incluso podemos extraer datos 3D a partir de imágenes 2D con este modelo de estimación de profundidad de selfies. Puedes pasarle una imagen de retrato como entrada y predecirá para cada píxel de esa imagen qué tan lejos cree que está, lo que te permite comprender la estructura 3D del cuerpo superior de alguien. Ahora, si puedes hacer eso, puedes hacer cosas realmente geniales como efectos de iluminación de imágenes, como se muestra aquí. Aquí, puedo proyectar los rayos de luz alrededor de mi cuerpo para obtener un efecto más realista que antes no era posible, lo cual es excelente para realidad aumentada o efectos de iluminación en imágenes, como se muestra en este ejemplo.
A continuación, tenemos el modelo de malla facial. Este tiene un tamaño de solo tres megabytes y puede reconocer 468 puntos de referencia faciales en el rostro humano. Como puedes ver, se ejecuta muy bien a más de 130 fotogramas por segundo en mi computadora portátil en casa, y estamos viendo a empresas como Modiface, que forma parte de L'Oreal, utilizar esta tecnología en aplicaciones web de producción real. Ahora, lo importante aquí es que la mujer del lado derecho no lleva lápiz labial. En su lugar, están utilizando nuestro modelo de malla facial combinado con sombreadores WebGL para colorear los labios en tiempo real según el cambio de color que ha elegido en la parte inferior de esa aplicación web. Realmente cosas asombrosas. También tenemos modelos para rastrear tus manos que pueden rastrear en 2D y 3D, y nuevamente, más de 120 fotogramas por segundo en una computadora portátil de gama media con una tarjeta gráfica dedicada. Un modelo como este se podría utilizar para el reconocimiento de gestos o incluso interfaces sin contacto para la interacción persona-computadora. Con un poco de entrenamiento adicional, incluso podrías detectar el lenguaje de señas de forma sencilla. Muy útil. Gracias. Continuando con el tema del cuerpo humano, también puedes detectar la postura estimada en 2D y 3D. 33 puntos clave a más de 150 fotogramas por segundo en una máquina con una tarjeta gráfica dedicada. Este modelo tiene tres versiones: ligera, completa y pesada, que te permiten seleccionar un equilibrio entre precisión y velocidad según tus necesidades. ¿Qué tal si avanzamos en la segmentación del cuerpo? Un modelo como este te permite diferenciar el cuerpo humano del fondo de la escena. Si puedes hacer eso, puedes desenfocar el cuerpo por privacidad, como lo hacemos en Street View, o tal vez puedes aplicar efectos al fondo para dar un efecto estilístico. La elección es tuya. También hay versiones especializadas de este modelo que se centran en la parte superior del cuerpo, como se puede ver aquí, lo cual es más adecuado para situaciones de videollamadas. A continuación, incluso puedes llevar modelos de lenguaje grandes al lado del cliente. Esta API de tareas de MediaPipe LLM te permite elegir entre cuatro modelos populares, según tus necesidades y caso de uso, y pueden ejecutarse realmente, realmente rápido, varias veces más rápido que el promedio de lectura humana. Creo que me salté uno.
5. Usando Modelos de IA con JavaScript
Importa la API de inferencia de MediaPipe LLM, define el modelo de lenguaje alojado, carga y utiliza el modelo, genera una respuesta y utiliza los modelos para diversas tareas. Explora diferentes modelos para diferentes situaciones utilizando Visual Blocks, un marco para prototipado rápido con ideas impulsadas por IA.
No, no lo hice. Es posible que te estés preguntando en este punto, ¿qué tan difícil es realmente usarlo? Es bastante sencillo. Entra en una sola diapositiva, así que permíteme guiarte a través de este code.
Primero, importas la API de inferencia de MediaPipe LLM como puedes ver aquí. Luego, defines dónde se aloja tu modelo de lenguaje grande. Lo habrías descargado de una de las diapositivas en el enlace anterior donde descargaste el modelo y lo alojaste en tu propio CDN.
Ahora puedes definir una nueva función asíncrona que cargará y utilizará el modelo. Dentro de esto, puedes especificar tu URL de conjunto de archivos que define el tiempo de ejecución de MediaPipe que se utilizará y esto utiliza el predeterminado que ellos proporcionan y alojan para ti, lo cual es seguro para que también lo uses. Sin embargo, si lo deseas, puedes descargar este archivo y alojarlo en tu propio servidor por razones de privacidad, si así lo prefieres.
Ahora puedes utilizar la URL del conjunto de archivos de la línea anterior para inicializar el resolutor de conjunto de archivos de MediaPipe para descargar y utilizar el tiempo de ejecución para esta tarea generativa de AI que estás a punto de realizar. A continuación, cargas el modelo llamando a la creación de tarea LLM desde la ruta del modelo a la que pasas el conjunto de archivos y la URL del modelo que definiste anteriormente. Como el modelo es un archivo grande, debes esperar a que termine de cargarse, después de lo cual devolverá el modelo cargado que luego puedes asignar a una variable llamada LLM.
Ahora que tienes el modelo cargado, puedes usarlo para generar una respuesta dada algún texto de entrada, como se muestra en esta diapositiva, que almacenas en una variable llamada respuesta. Con eso, ahora puedes bloquear la respuesta, mostrarla en pantalla o hacer algo útil con ella según lo desees. Eso es prácticamente todo. Ahora solo llama a la función anterior para iniciar el proceso de carga y espera a que los resultados se impriman.
Ahora, la idea clave aquí es que aunque hay algunas variables que suenan aterradoras como resolutor de conjunto de archivos, cualquier persona aquí podría tomar y ejecutar estas diez líneas de code aproximadamente y luego construir a su alrededor con su propio conocimiento de JavaScript para sus propias ideas creativas, incluso si no eres un experto en AI todavía. Así que deja de jugar con estas cosas hoy.
Ahora, puedes imaginar convertir algo como esto en una extensión del navegador donde podrías resaltar cualquier texto en la página web, hacer clic derecho y convertir una larga publicación de blog en una forma adecuada para las redes sociales, o tal vez definir alguna palabra que no entiendes en solo unos pocos clics para cualquier cosa que encuentres en lugar de ir a un sitio web de terceros para hacerlo. De hecho, hice eso aquí mismo en esta demostración, nuevamente, hecha en solo unas pocas horas durante el fin de semana, completamente en JavaScript, en el lado del cliente en el navegador. Así que hay muchas ideas esperando ser creadas aquí, y estamos al comienzo de una gran aventura con mucho más por descubrir. Ups, ahí vamos. De hecho, las personas ya están utilizando estos modelos para hacer cosas más advanced como hablar con un documento PDF para hacer preguntas sobre su contenido sin tener que leerlo todo tú mismo, como se muestra en esta demostración de Nico Martin. Esto ahorra mucho tiempo y es un uso realmente ingenioso de los modelos de lenguaje grande cuando se combinan con técnicas de extracción de frases relevantes del PDF, y luego utilizarlas como contexto para el LLM para proporcionar algo que realmente tenga sentido. Nuevamente, todo esto funciona localmente en tu dispositivo.
De acuerdo. Así que tienes todos estos modelos de AI que te hacen sentir como un superhéroe, pero ¿cómo pueden ayudarte realmente? Bueno, al seleccionar los modelos adecuados para la situación adecuada, puedes proporcionar a tus clientes superpoderes cuando aplicas esos modelos a sus industrias. De hecho, en Google, a menudo necesitamos explorar qué modelos usar para una tarea determinada. Por eso hemos creado un sistema llamado Visual Blocks para hacerlo de manera más eficiente.
6. Construyendo Prototipos con Visual Blocks
Un marco para pasar de una idea impulsada por IA a un prototipo más rápido, encadenando bloques poderosos en Visual Blocks. Explora modelos del lado del cliente en Visual Blocks contribuidos por Hugging Face. Futuras posibilidades con modelos de lenguaje grande en Visual Blocks. Ejemplos de uso de IA y JavaScript en productos y servicios. Utilizando modelos de IA para guiar predicciones con TensorFlow.js. Controlando animatrónicos utilizando tecnología de malla facial. Mejorando los almacenes de farmacias con Roboflow. Dúo generado por IA en el Ejercicio del Espejo.
Es un framework en el que trabajé con mi equipo que te permite pasar de una idea impulsada por IA a un prototipo funcional más rápido que nunca, construido alrededor de JavaScript y web components, por lo que es muy fácil de ampliar por cualquier persona que conozca JavaScript.
Y lo mejor de todo, una vez que creas un bloque de construcción para hacer una cosa, puedes encadenarlos con otros bloques poderosos para dar vida a tu idea sin perderte en el código.
Y no solo nosotros lo estamos usando. El ejemplo que se muestra en esta diapositiva, en realidad lo hemos contribuido nosotros mismos a través de Hugging Face, quienes han estado agregando nuevos modelos del lado del cliente a través de transformers.js, y ahora están disponibles para explorar en Visual Blocks con solo unos pocos clics, lo cual es genial si eres nuevo en el espacio de la IA en el navegador.
Puedes probarlos tú mismo en el enlace mostrado, simplemente haz clic en sus nombres y se abrirán en Visual Blocks para usarlos de inmediato. Y aquí puedes ver un vistazo al futuro, donde un equipo de investigación de Google utilizó un modelo de lenguaje grande para crear un flujo de trabajo en Visual Blocks para resolver algún problema que tenía, como crear un efecto de realidad aumentada.
Solo explicando lo que quiero en inglés simple, puedo obtener el inicio de un prototipo dentro de Visual Blocks, y luego puedo editarlo según sea necesario y entregarlo a un cliente.
Realmente es algo increíble. Ahora veamos lo que la comunidad de IA en la web ha estado haciendo. Estas son personas como tú, pero que ya están utilizando el aprendizaje automático y JavaScript en sus productos y servicios para darte una idea de lo que es posible.
En esencia, lo que estamos tratando de hacer es construir herramientas que permitan a cualquier persona ser su verdadero yo. Hay muchas personas que se sienten incómodas frente a la cámara. Aquí hay una vista más detallada de mi cara capturada junto con el personaje en 3D. Lo que sucede es que se rastrean las formas individuales de los lentes faciales y luego se transmiten de vuelta al motor Unreal para renderizarlos.
Trabajo como radiólogo y en los últimos cuatro años he estado muy interesado en utilizar la inteligencia artificial para la segmentación. Lo bueno de TensorFlow.js es que puedes interactuar con los modelos de IA. No tiene que hacer predicciones totalmente automáticas, sino que puedes guiar los modelos para obtener el resultado que deseas.
Vamos a ver una mochila animatrónica que utiliza la tecnología de malla facial y es una especie de comediante en un experimento salvaje que respeta el distanciamiento social. Hace lo que ves. Coloca todos estos puntos de seguimiento en una cara y puede rastrearla con y sin gafas. Tiene una frecuencia de cuadro increíblemente alta, incluso en JavaScript y en el navegador. ¿No sería genial si pudieras usar esta tecnología para controlar animatrónicos? Este es un ejemplo de cómo Cardinal Health está utilizando Roboflow para mejorar los almacenes de las farmacias. Tienen una división de su empresa que trabaja con farmacéuticos, donde un farmacéutico puede gestionar varias ubicaciones de forma remota a través de una transmisión de video. Y esto se ejecuta en el navegador en un iPad y antes solo era una videollamada entre el farmacéutico y el técnico, y luego utilizaron Roboflow para agregar una función de conteo de píldoras que ayuda a los farmacéuticos a ser asistidos por el modelo de visión por computadora para no tener que contar desde cero. Pueden usar el modelo para estimar y luego ajustar hacia arriba y hacia abajo donde el modelo no haya obtenido un recuento exacto. El video que me gustaría mostrar aquí es una pieza de video que construí y que llamo Ejercicio del Espejo. Y se trata de un dúo generado por IA conmigo mismo. Lo que ves aquí es en la figura en negro mi captura de movimiento real de un par de sesiones de captura de movimiento en el estudio. Y en azul ves un acompañamiento de baile que es generado por el modelo. En cada caso, el modelo ve un segmento específico de mis movimientos y crea una ligera variación en cierto sentido.
7. Explorando la IA en Aplicaciones Web
Un motor de seguimiento de manos llamado Yoha te permite dibujar rápidamente en una pizarra. Teemo es un motor de flujo de trabajo visual para construir soluciones complejas sin programar. Ampliando la visión por computadora para brindar atención directamente en los hogares de los pacientes. Muchos modelos de IA son útiles para casos de uso empresarial real. La IA en el navegador está en sus primeras etapas, lo que permite a las empresas reinventar las experiencias web. Se puede utilizar un enfoque híbrido para ejecutar modelos en dispositivos cliente. Comparte tus resultados personalizados usando el hashtag webAI. Estamos trabajando en un sitio web para desarrolladores web que utilizan IA en JavaScript. Únete a la aventura de dar forma al futuro con la IA web.
Es un motor de seguimiento de manos llamado Yoha. Y lo que hace es procesar la transmisión de video de tu cámara web y detecta la ubicación de tu mano en esta transmisión de video. Y su objetivo es permitirte dibujar rápidamente algo similar a cómo lo harías en una pizarra.
Teemo es un motor de flujo de trabajo visual que te permite construir soluciones muy complejas en solo minutos. Y lo hacemos a través de una interfaz de arrastrar y soltar que te ayuda a definir cualquier tipo de proceso sin necesidad de programar. Esta es la versión final del programa. El video está un poco acelerado, por lo que las cosas suceden rápido, pero puedes ver que a medida que se retira agua del contenedor, el gráfico refleja los cambios en el nivel del líquido, que es lo que queríamos.
Queríamos ir más allá de la máquina e incluso más allá de la clínica. Y eso es realmente cuando decidimos expandir nuestra plataforma hacia la visión por computadora y brindar atención directamente en los hogares de los pacientes en sus propios dispositivos. Somos un dispositivo médico que se puede ejecutar en cualquier dispositivo completamente basado en la web y puedes ver a estos pacientes haciendo diferentes ejercicios, parte superior del cuerpo, parte inferior del cuerpo, con retroalimentación en tiempo real, contando sus repeticiones. Seguimos su rango de movimiento, recopilamos todo eso y lo enviamos de vuelta al médico para su revisión y ayudar a modificar su plan de ejercicios en casa en consecuencia.
Muy buenos ejemplos, y observa que ninguno de ellos utilizó Gen AI. Mi punto es que hay muchos otros modelos de IA que son realmente útiles para casos de uso empresarial real, más allá de Gen AI, así que tenlo en cuenta. Y todos ellos se ejecutan en el lado del cliente en el navegador, incluso las mochilas parlantes, por lo que también puedes interactuar con hardware y otras cosas. Desde extensiones del navegador que potencian tu productividad hasta funciones dentro de la propia aplicación web, estamos en el comienzo de una nueva era que realmente puede mejorar tu experiencia web y ahora es el momento de comenzar a explorar esas ideas.
De hecho, en este momento, la IA en el navegador está en sus primeras etapas, pero a medida que el hardware siga mejorando, seguiremos viendo más modelos adaptados para ejecutarse en el navegador en el dispositivo, lo que permite a las empresas reinventar lo que realmente se puede hacer en una página web, especialmente para situaciones específicas de la industria o de tareas. En este momento, se podría imaginar un enfoque híbrido, en el que si una máquina cliente es lo suficientemente potente, puedes descargar y ejecutar el modelo allí, solo recurriendo a la IA en la nube en momentos en que el dispositivo no pueda ejecutar el modelo, lo cual podría ser cierto para dispositivos más antiguos en este momento en el tiempo. Con el tiempo, sin embargo, se realizará cada vez más cómputo en el dispositivo, por lo que tu retorno de inversión debería mejorar a medida que pasa el tiempo al implementar un enfoque como este.
En ese sentido, si creas algo personalizado, nos encantaría ver tus resultados, así que por favor usa el hashtag webAI en las redes sociales para que podamos comenzar a compartir cosas como una comunidad y ver en qué está trabajando cada uno. Cuando tengas éxito, también podemos ayudar a compartir tus logros. En ese sentido, estamos trabajando en un sitio web para brindar orientación específicamente a los desarrolladores web que eligen utilizar IA en JavaScript. Este sitio te permite comprender conceptos clave de IA para que puedas descubrir oportunidades para utilizar modelos populares y ser más productivo que nunca. No dudes en marcar este sitio como favorito, ya que seguiremos publicando contenido aquí a lo largo del año.
Ahora, me gustaría terminar diciendo que hay muy pocas oportunidades en la vida de una persona para estar al comienzo de una nueva era como esta. Yo, por ejemplo, recuerdo cuando salió Internet por primera vez, y la IA web tenía las mismas sensaciones, pero multiplicadas por 100. Espero que en esta charla haya podido darte un vistazo al futuro y por qué deberías comenzar a investigar la IA web hoy mismo, porque todos aquí en esta sala tienen la oportunidad de su vida para dar forma al futuro de este espacio en rápido crecimiento, y espero que te unas a mí en esta aventura. En ese sentido, si quieres profundizar en el tema, puedes consultar mi curso en el canal de YouTube de Google Developers para aprender cómo utilizar la IA web en tu próxima creación. Todo lo que necesitas saber es JavaScript, no se requiere un doctorado, así que invita a un amigo y aprendan juntos en goo.gle. Con eso, hemos terminado. Etiquétame en cualquier cosa que hagas o si tienes alguna sugerencia sobre algo que haya dicho en esta charla hoy, puedes contactarme en las redes sociales utilizando los enlaces de la diapositiva.
Privacidad y Uso de Modelos en IA Web
Google no se beneficia de tus datos. Los modelos de lenguaje grandes pueden tener alrededor de 1.3 GB para descargar, pero la caché puede reducir futuras descargas. Chrome está explorando opciones para integrar los modelos en el propio navegador. También hay alternativas de código abierto disponibles para el aprendizaje por transferencia, como YOLO para la detección de objetos.
¡Gracias y nos vemos la próxima vez! ... El primero puede ser un poco descarado. Dice ¿cómo se va a beneficiar Google si no obtiene tus data? Si estamos haciendo todo esto en el dispositivo... Sí, todo esto sucede en el dispositivo, por lo que no nos beneficiamos de tus data en esa situación. Todo es completamente privado. Los modelos están disponibles para su uso y están disponibles en nuestro GitHub para inspeccionar si quieres verificar el code que se ejecuta en segundo plano, por lo que tienes un control total de los data si decides enviarlo a algún servidor en la cloud o no. Eso depende de ti, pero estarás sujeto a los términos y condiciones de ese servicio en la cloud que estés utilizando , sea quien sea. Sí. Siento que cada vez que escucho algo de Google que funciona en el navegador, la gente siempre responde diciendo que si funciona para la web, también funciona para Google, ¿verdad? Ya veo. Genial. Una pregunta que ha surgido aquí, que es si estás cargando un LLM localmente en el navegador, ¿cuánto pesará tu sitio? Sí, esa es una gran pregunta. Obviamente, los modelos de lenguaje grandes son grandes, por lo que estás hablando de una descarga de aproximadamente 1.3 gigabytes, que solo haces una vez, y luego puedes usar la caché para no tener que hacerlo nuevamente en el futuro, por lo que si algo proporciona utilidad al usuario y puede tener una larga vida útil, como en una extensión de Chrome o algo que se utiliza regularmente en tu sitio, eso podría justificar la descarga. También estamos explorando opciones para integrar estas cosas en el propio navegador dentro de Chrome, lo cual anunciamos en Google IO este año, lo que significaría que una vez que lo hayas descargado una vez, podría funcionar para varios sitios, sin tener que almacenarlo en cada dominio que lo necesite. Así que estamos investigando esto y también agradecemos sugerencias sobre cómo te gustaría ver evolucionar estas APIs en el futuro. Sí, esa era mi preocupación, si nuestro sitio hace esto con 1.3 gigas y luego otros diez sitios también lo hacen, eso arruinaría la capacidad de mi dispositivo, incluso uno moderno. Estamos investigando eso, sí, exactamente. ¿Hay alguna forma de obtenerlo de hecho? ¿Está llegando en Chrome 128? ¿Gemini Nano en Chrome 128? ¿Fue eso lo que se anunció? Creo que anunciaron algo así como un nano en su interior, exactamente, sí. Creo que está en Canary en este momento, tal vez para explorar. Sí, sí. Emocionado de explorar ese tipo de cosas. Genial. Es la misma pregunta. Una pregunta sobre el aprendizaje por transferencia. ¿Tienen planes de publicar más modelos en capas en lugar del modelo de gráfico congelado para el aprendizaje por transferencia? Buena pregunta. Por ahora, muchos de nuestros modelos están congelados, como dijiste correctamente. No tenemos planes de cambiar eso en un futuro cercano, pero hay muchas alternativas de código abierto que están disponibles para su uso y para hacer tu aprendizaje por transferencia como consideres adecuado.
Compatibilidad de Modelos y IA Web
YOLO para la detección de objetos se puede convertir a TensorFlow.js y ejecutar en cualquier navegador. La IA web funciona en cualquier navegador que admita WebAssembly o WebGPU. Incluso se puede ejecutar en teléfonos móviles y navegadores basados en Chromium.
Cosas como YOLO para la detección de objetos, por ejemplo. Es muy fácil de convertir a TensorFlow.js y ejecutar en el navegador reconociendo objetos personalizados, por ejemplo. Entonces, diría que, a partir de este año y 2023, ha habido un gran crecimiento en la cantidad de modelos abiertos que ahora están disponibles para el mundo, y podemos aprovecharlos en el navegador, también. No solo los que mencioné hoy. Obviamente, obtuve mis puntos de referencia de Google, pero también hay muchos otros disponibles, que también puedes aprovechar. Sí, increíble. Sí. Apóyate en el ecosistema además de solo estas cosas. Increíble.
Compatibilidad de Web AI y Recursos de Aprendizaje
Web AI funciona en cualquier navegador que admita WebAssembly o WebGPU. Se está discutiendo el futuro de WebNN y se agradece la retroalimentación de la comunidad. Los requisitos mínimos del sistema dependen del modelo que se esté ejecutando, pero tareas básicas como la detección de objetos y la segmentación pueden funcionar sin problemas en dispositivos más antiguos. Para principiantes, hay libros como 'Deep Learning in JavaScript' y 'Learning TensorFlow.js', así como cursos en línea disponibles.
Ah, esto es interesante. ¿La IA web, de la que has estado hablando aquí, es específica de Chrome o funcionará en cualquier navegador? Funcionará en cualquier navegador, siempre y cuando admita la mayoría de estos modelos que están acelerados por WebAssembly o WebGPU. Entonces, dependiendo del tipo de modelo, puede usar uno u otro, pero siempre y cuando se admitan esas dos cosas, debería funcionar en esos navegadores. Incluso podría ejecutar estas cosas en mi teléfono móvil, incluso en navegadores basados en Chromium y cosas así. Así que, sí. Muy genial.
Y dijiste, sí, hemos hecho WebGPU y WebAssembly. ¿Hay, he oído hablar de WebNN, Red Neuronal Web? ¿Eso también está por venir? También estamos contribuyendo a ese estándar web, por supuesto, por lo que es una discusión en curso. Creo que en este momento, muchos de la comunidad están implementando sus modelos en WebGPU porque está disponible ahora. Se ha publicado como un estándar. Y aún se está desarrollando, supongo. Entonces, una vez más, este es un buen momento para comenzar a dar forma a esos estándares para que realmente podamos tener tus comentarios sobre lo que te gustaría ver en estas API en el futuro que faciliten tu vida como desarrollador, y agradecemos los comentarios al respecto. Es algo abierto en lo que se puede comentar ahora mismo en los problemas de GitHub para eso. Increíble. Sí, si estás interesado en esto, echa un vistazo al futuro de WebNN, así como a las cosas existentes que tenemos, sí. De acuerdo.
Oh, ¿hay algún requisito mínimo del sistema para ejecutarlo en un navegador? Realmente depende del modelo que estés ejecutando. Entonces, si estás haciendo algo como nuestros modelos de segmentación o modelos de estimación de postura, pueden funcionar perfectamente en una computadora portátil de hace diez años. Si estás tratando de ejecutar un modelo de lenguaje grande en el navegador, entonces necesitas una cierta nivel de tarjeta gráfica con suficiente memoria de video para ejecutar ese modelo. Estos modelos más grandes requieren más recursos, por lo que necesitas una máquina más moderna para eso, pero algunas de las cosas básicas como la detección de objetos, la postura corporal, la segmentación, pueden funcionar perfectamente a 60 cuadros por segundo incluso en dispositivos más antiguos en muchos casos. ¿150 cuadros por segundo? 150 en eso. El 150 fue en una NVIDIA 1070 que tiene cinco generaciones de antigüedad, solo para ponerlo en contexto, sí. Genial. Sí. ¿Tienes alguna recomendación para aprender esto para principiantes completos? ¿Por dónde empezarías? Bueno, obviamente, mi curso, pero también hay muchos libros disponibles. Hay libros como 'Deep Learning in JavaScript' y eso fue escrito por algunos de los miembros del equipo de TensorFlow.js, creo. También está 'Learning TensorFlow.js' de O'Reilly, que fue escrito por uno de nuestros GDE y es un libro muy fácil de entender si quieres comenzar con TensorFlow.js. También hay muchos cursos en línea que puedes tomar de otras personas para aprender otros ecosistemas como Transformers.js y Onyx Web Runtime y todas estas otras variedades de Web AI básicamente. Así que elige uno y comienza a probarlo básicamente.
TensorFlow.js Curso y Categorías de Aplicaciones
El curso de TensorFlow.js cubre una amplia introducción a la IA antes de adentrarse en los detalles específicos de TensorFlow.js. TensorFlow.js se puede aplicar a diversas industrias y ofrece modelos para tareas como análisis de datos, visión, comprensión de texto, generación de audio y reconocimiento de voz. Prioriza la privacidad y es valioso en sectores como el legal y el de la salud.
Sí, sí. Muchos recursos. Pero tu curso también es un buen comienzo. Intento cubrir un poco de todo al principio y ser agnóstico solo para enseñarte qué es la AI y luego paso a los detalles de TensorFlow.js. Por lo tanto, las partes iniciales son útiles para todos, sin importar qué camino tomen más adelante y luego en mi curso, se vuelve más específico de TensorFlow.js, pero luego puedes optar por omitirlo o ir a donde quieras. Genial.
Muy bien. También cubrí eso. Muy bien. Y cubrimos eso un poco. Oh, Dios mío, lo siento. ¿Eso es todo? Sí. Más o menos... Sí. Cosas grandes. Podríamos capturarlas en diferentes sitios. Eso es emocionante. Sí. Oh, sí.
Entonces dijiste que los ejemplos de TensorFlow no eran de AI generativa. Eso es correcto. Entonces, ¿cómo categorizarías lo que significa en cuanto a los tipos de aplicaciones para las que es útil? Supongo que el TensorFlow. ¿Cómo categorizarías lo que significa en cuanto al tipo de aplicaciones para las que es útil? ¿En qué puede ser útil? Quiero decir, podría aplicarse a cualquier industria, creo. Hay tantos modelos disponibles que van desde completar columnas faltantes en una hoja de cálculo data hasta modelos de visión, comprensión de texto, generación de audio o reconocimiento de voz. Todo está disponible para ejecutarse en el navegador en estos días. Por lo tanto, realmente podría aplicarse a cualquier cosa. Y además, viene con esa idea de priorizar lo local y la privacidad. Sí. Ha sido un tema recurrente hoy. Y para ciertos sectores, eso es realmente importante, como el legal o el de la salud.
Mejorando la accesibilidad con Web AI
Web AI puede mejorar la accesibilidad utilizando modelos para completar automáticamente subtítulos para imágenes sin subtítulos alternativos. Esta función tiene beneficios positivos para los usuarios que pueden haber olvidado proporcionar subtítulos. Considerar la accesibilidad junto con las nuevas características es crucial.
Por eso hay tantos ejemplos de atención médica también.
Sí, exactamente. ¿Crees que la AI web puede mejorar la accesibilidad?
Sí. Alguien dice que tal vez el seguimiento ocular u otras tecnologías similares. Esa es una gran pregunta. Y un buen ejemplo de eso sería que los navegadores están comenzando a utilizar modelos de AI web para completar automáticamente subtítulos para imágenes que no tienen subtítulos alternativos. Así que ya está empezando a tener beneficios positivos para las personas que simplemente no se han molestado en hacer ciertas cosas y lo completa por ti.
Sí, increíble. Me encanta eso. Esa es una gran pregunta porque, sí, creo que es una buena pregunta para terminar. Se nos acabó el tiempo aquí, pero es una gran pregunta porque pensar en los usuarios a través de accesibilidad además de solo a través de nuevas características geniales que podemos construir es realmente importante.
Estoy totalmente de acuerdo. Sí. Así que muchas gracias, Jason. Eso fue absolutamente brillante. Y sí, aplaudan a Jason. Gracias. Gracias. Gracias.
Comments