Llegamos a ustedes gracias a:



Noticias

El aprendizaje de máquina llega a su navegador a través de JavaScript

[04/08/2017] Ya existe una biblioteca de JavaScript para la ejecución de redes neuronales dentro de una página web, utilizando la API de gráficos acelerada por hardware disponible en los navegadores web modernos.

Desarrollado por un equipo de estudiantes graduados del MIT, TensorFire puede ejecutar modelos de aprendizaje de máquina similares a TensorFlow en cualquier GPU, sin necesidad del middleware específico para GPUs que normalmente necesitan las bibliotecas de aprendizaje de máquina como Keras-js.

TensorFire es otro paso para hacer que el aprendizaje de máquina esté disponible para el público más amplio posible, utilizando el hardware y software que las personas probablemente ya poseen, y mediante los avances en la exactitud que los modelos de predicciones pueden ofrecer usando solo una parte de los recursos que antes se necesitaban.

TensorFire funciona usando el WebGL estándar, un sistema multiplataforma para el renderizado de los gráficos acelerados por GPU en los navegadores. WebGL soporta GLSL, un lenguaje similar a C utilizado para escribir shaders, que son programas cortos utilizados para transformar los datos directamente en la GPU.

Los shaders generalmente se usan en el pipeline de WebGL para transformar la forma en que se representan los gráficos, por ejemplo, para procesar las sombras u otros efectos visuales. Pero TensorFire usa los shaders para ejecutar en paralelo los cómputos necesarios para generar predicciones de los modelos de TensorFlow. TensorFire también viene con una biblioteca para importar los modelos existentes de TensorFlow y Keras.

Con este marco de trabajo, uno puede desplegar un modelo entrenado directamente en un navegador web y ofrecer predicciones localmente desde el navegador. El usuario no necesita descargar, instalar o compilar nada; todo el trabajo se realiza directamente en el navegador. Los datos utilizados para hacer las predicciones también se procesan totalmente en el cliente. Tampoco importa la marca de la GPU: Ambas, las GPU de AMD y Nvidia, están soportadas.

Un ejemplo basado en web de TensorFire muestra una red neuronal del tipo de las de transferencia, donde el estilo de una obra de arte puede asignarse a otra imagen. La parte más lenta de la demo es descargar el modelo y compilar el pipeline del shader; la ejecución real tarda sólo un segundo o dos.

Los creadores de TensorFire afirman que es más rápido que otras soluciones. El rebote de los datos entre GPU y la CPU es un cuello de botella común en el desempeño, y por ello TensorFire evita esto manteniendo tantos datos como sea posible en la GPU a la vez.

Por último, el equipo de TensorFire tiene previsto lanzar la biblioteca como un proyecto de código abierto bajo licencia del MIT, para que el trabajo de aceleración realizado en TensorFire también pueda ser utilizado en una amplia gama de aplicaciones, incluso en aquellas que no tienen nada que ver con TensorFlow o el aprendizaje de máquina. Los creadores del marco de trabajo señalan que la API de nivel inferior GLSL en TensorFire "puede utilizarse también para hacer computación paralela y arbitraria de propósito general, lo que significa que otros marcos de trabajo para cómputo basado en GPU y dentro del navegador en el cliente podrían ser incorporados en él.