La tecnología de IA permite el aprendizaje continuo en dispositivos de última generación

Los modelos de aprendizaje profundo personalizados podrían permitir chatbots de IA que se adapten para comprender el acento de un usuario o teclados inteligentes que se actualicen constantemente para predecir mejor la siguiente palabra según el historial de escritura de alguien. Esta personalización requiere un ajuste constante del modelo de aprendizaje automático con nuevos datos.

Dado que los teléfonos inteligentes y otros periféricos carecen de la memoria y la potencia computacional necesarias para este proceso de ajuste, los datos del usuario generalmente se cargan en servidores en la nube donde se actualiza el modelo. Pero la transferencia de datos consume mucha energía y enviar datos confidenciales del usuario a un servidor en la nube representa un riesgo para la seguridad.

Investigadores del MIT, el Laboratorio de Inteligencia Artificial Watson del MIT, IBM y otros lugares han desarrollado tecnología que permite que los modelos de aprendizaje profundo se adapten de manera eficiente a nuevos datos de sensores directamente en un dispositivo periférico.

Su método de entrenamiento de dispositivos se llama motor de bolsilloIdentifica qué partes del gran modelo de aprendizaje automático deben actualizarse para mejorar la precisión y almacena y calcula solo esas partes específicas. Realiza la mayor parte de estos cálculos durante la configuración del modelo, antes del tiempo de ejecución, lo que reduce la carga computacional y mejora la velocidad del proceso de ajuste.

En comparación con otros métodos, PockEngine acelera significativamente el entrenamiento en el dispositivo, funcionando hasta 15 veces más rápido en algunas plataformas de hardware. Además, PockEngine no provocó una disminución en la precisión de los modelos. Los investigadores también descubrieron que su enfoque de ajuste permitió al popular chatbot de IA responder preguntas complejas con mayor precisión.

«El ajuste en el dispositivo puede permitir una mayor privacidad, menores costos, personalización y aprendizaje permanente, pero no es fácil. Todo tiene que suceder con una cantidad limitada de recursos. Queremos poder ejecutar algo más que solo inferencias». dice Song Han., profesor asociado en el Departamento de Ingeniería Eléctrica y Ciencias de la Computación (EECS), miembro del Laboratorio de IA Watson de MIT-IBM, científico distinguido de NVIDIA y autor principal de acceso abierto. Artículo que describe PockEngine.

READ  Impresionante nueva película de Unity "Enemies" muestra un humano digital notablemente realista

A Han se une en este artículo el autor principal Liying Zhou, un estudiante de posgrado en EECS, así como otros en el MIT, el MIT-IBM Watson AI Lab y UC San Diego. El artículo se presentó recientemente en el Simposio Internacional sobre Microarquitectura IEEE/ACM.

Capa tras capa

Los modelos de aprendizaje profundo se basan en Redes neuronales, que incluye muchas capas interconectadas de nodos, o «neuronas», que procesan datos para hacer una predicción. Cuando se ejecuta el modelo, se pasa un proceso llamado inferencia, que consiste en ingresar datos (como una imagen) de una capa a otra hasta que finalmente se genera una predicción (tal vez una etiqueta de imagen). Durante la inferencia, ya no es necesario almacenar cada capa después de procesar la entrada.

Pero durante el entrenamiento y el ajuste, el modelo pasa por un proceso conocido como retropropagación. En la propagación hacia atrás, la salida se compara con la respuesta correcta y luego el modelo se ejecuta en la dirección opuesta. Cada capa se actualiza a medida que la salida del modelo se acerca a la respuesta correcta.

Debido a que es posible que sea necesario actualizar cada capa, se debe almacenar todo el modelo y los resultados intermedios, lo que hace que el ajuste fino requiera más memoria que la inferencia.

Sin embargo, no todas las capas de una red neuronal son importantes para mejorar la precisión. Incluso para capas importantes, es posible que no sea necesario actualizar toda la capa. Estas capas no necesitan ser almacenadas ni cortadas en capas. Además, es posible que no sea necesario volver a la primera capa para mejorar la precisión: el proceso se puede detener en algún punto intermedio.

READ  Cómo el radar para bicicletas Varia de Garmin evita y registra los accidentes de ciclismo

PockEngine aprovecha estos factores para acelerar el proceso de ajuste y reducir la cantidad de cálculos y memoria requerida.

El sistema primero ajusta cada capa, una por una, para una tarea determinada y mide la mejora de la precisión después de cada capa. De esta manera, PockEngine determina la contribución de cada capa, así como las compensaciones entre precisión y costo de ajuste, y determina automáticamente el porcentaje de cada capa que necesita ajuste.

«Este método coincide muy bien con la precisión en comparación con la retropropagación completa en diferentes tareas y diferentes redes neuronales», añade Han.

Modelo reducido

Tradicionalmente, el gráfico de retropropagación se genera durante el tiempo de ejecución, lo que implica una gran cantidad de cálculos. En cambio, PockEngine hace esto en tiempo de compilación, mientras el modelo se prepara para su implementación.

PockEngine elimina fragmentos de código para eliminar capas o partes de capas innecesarias, creando un gráfico reducido del modelo para su uso durante el tiempo de ejecución. Luego realiza otras mejoras a este gráfico para mejorar aún más la eficiencia.

Dado que todo esto sólo debe hacerse una vez, ahorra sobrecarga computacional durante el tiempo de ejecución.

«Es como antes de emprender un viaje de senderismo. En casa, tienes que planificar cuidadosamente: qué senderos vas a tomar, qué senderos vas a ignorar. Así, en el momento de la ejecución, cuando estás Al hacer senderismo, tienes «De hecho, un plan muy preciso a seguir».

Cuando aplicaron PockEngine a modelos de aprendizaje profundo en varios dispositivos periféricos, incluidos los chips Apple M1 y los procesadores de señales digitales comunes en muchos teléfonos inteligentes y computadoras Raspberry Pi, realizó el entrenamiento en el dispositivo hasta 15 veces más rápido, sin disminuir el rendimiento. PockEngine también ha reducido significativamente la cantidad de memoria necesaria para el ajuste.

READ  Norman Reedus dice que se está desarrollando una secuela de Death Stranding

El equipo también aplicó esta técnica al modelo de lenguaje grande Llama-V2. Para modelos de lenguaje grandes, el proceso de ajuste implica proporcionar muchos ejemplos, y es importante que el modelo aprenda cómo interactuar con los usuarios, afirma Hahn. Este proceso también es importante para los modelos encargados de resolver problemas complejos o pensar en soluciones.

Por ejemplo, los modelos Llama-V2 sintonizados con PockEngine respondieron a la pregunta «¿Cuál es el último álbum de Michael Jackson?» correctamente, mientras que los modelos que no fueron ajustados fallaron. PockEngine redujo el tiempo que lleva cada iteración del proceso de ajuste de aproximadamente siete segundos a menos de un segundo en NVIDIA Jetson Orin, la plataforma GPU de vanguardia.

En el futuro, los investigadores quieren utilizar PockEngine para ajustar modelos más grandes diseñados para procesar texto e imágenes juntos.

«Este trabajo aborda los crecientes desafíos de eficiencia que plantea la adopción de grandes modelos de IA, como los LLM, en diversas aplicaciones en muchas industrias diferentes. Es prometedor no solo para aplicaciones de vanguardia que involucran modelos más grandes, sino también para reducir el costo de mantener y actualizar grandes «Modelos de IA en la nube», dice Airy McCrostie, gerente senior de la división de inteligencia artificial general de Amazon que no participó en este estudio pero trabaja con el MIT en investigaciones relacionadas con la IA a través del MIT-Amazon Science Hub.

Este trabajo fue apoyado en parte por el MIT-IBM Watson AI Lab, el MIT AI Hardware Program, el MIT-Amazon Science Center, la National Science Foundation (NSF) y una beca de innovación de Qualcomm.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *