La técnica permite que los dispositivos de IA en el borde sigan aprendiendo con el tiempo

Los modelos personalizados de aprendizaje profundo pueden permitir chatbots de inteligencia artificial que se adaptan para comprender el acento de un usuario o los teclados inteligentes que se actualizan continuamente para predecir mejor la siguiente palabra basada en el historial de escritura de alguien. Esta personalización requiere un ajuste constante de un modelo de aprendizaje automático con nuevos datos.

Debido a que los teléfonos inteligentes y otros dispositivos de borde carecen de la memoria y el poder computacional necesarios para este proceso de ajuste, los datos del usuario generalmente se cargan a los servidores en la nube donde se actualiza el modelo. Pero la transmisión de datos utiliza una gran cantidad de energía, y el envío de datos de usuario confidenciales a un servidor en la nube presenta un riesgo de seguridad.  

Investigadores del MIT, el laboratorio MIT-IBM Watson AI y en otros lugares desarrollaron una técnica que permite que los modelos de aprendizaje profundo se adapten eficientemente a los nuevos datos del sensor directamente en un dispositivo Edge.

Su método de entrenamiento en el dispositivo, llamado Motor, determina qué partes de un enorme modelo de aprendizaje automático deben actualizarse para mejorar la precisión, y solo almacenan y calculan con esas piezas específicas. Realiza la mayor parte de estos cálculos mientras el modelo se está preparando, antes del tiempo de ejecución, lo que minimiza la sobrecarga computacional y aumenta la velocidad del proceso de ajuste fino.    

En comparación con otros métodos, PockEngine aceleró significativamente el entrenamiento en el dispositivo, que se realizó hasta 15 veces más rápido en algunas plataformas de hardware. Además, PockEngine no hizo que los modelos tuvieran ninguna caída en precisión. Los investigadores también encontraron que su método de ajuste fino permitió a un chatbot de IA popular responder preguntas complejas con mayor precisión.

“On-device fine-tuning can enable better privacy, lower costs, customization ability, and also lifelong learning, but it is not easy. Everything has to happen with a limited number of resources. We want to be able to run not only inference but also training on an edge device. With PockEngine, now we can,” says Song Han, an associate professor in the Department of Electrical Engineering and Computer Science (EECS), a member of the MIT-IBM Watson AI Lab, un distinguido científico de Nvidia y autor principal de un acceso abierto Documento que describe PockEngine.

A Han se une al documento por el autor principal Ligeng Zhu, un estudiante de posgrado de EECS, así como otros en el MIT, el MIT-IBM Watson AI Lab y la Universidad de California en San Diego. El documento se presentó recientemente en el Simposio Internacional IEEE/ACM sobre Microarquitectura.

Capa por capa

Los modelos de aprendizaje profundo se basan en redes neuronales, que comprenden muchas capas interconectadas de nodos, o “neuronas”, que procesan datos para hacer una predicción. Cuando se ejecuta el modelo, un proceso llamado inferencia, una entrada de datos (como una imagen) se pasa de capa a capa hasta que la predicción (tal vez la etiqueta de la imagen) se emite al final. Durante la inferencia, cada capa ya no necesita almacenarse después de procesar la entrada.

Pero durante el entrenamiento y el ajuste, el modelo sufre un proceso conocido como backpropagation. En la propagación de retroceso, la salida se compara con la respuesta correcta, y luego el modelo se ejecuta en reversa. Cada capa se actualiza a medida que la salida del modelo se acerca a la respuesta correcta.

Debido a que cada capa puede necesitar ser actualizada, todo el modelo y los resultados intermedios deben almacenarse, lo que hace que el ajuste sea más exigente que la inferencia que la inferencia

Sin embargo, no todas las capas en la red neuronal son importantes para mejorar la precisión. E incluso para las capas que son importantes, es posible que no necesite actualizarse toda la capa. Esas capas y piezas de capas no necesitan ser almacenadas. Además, es posible que uno no necesite regresar a la primera capa para mejorar la precisión: el proceso podría detenerse en algún lugar en el medio.

PockEngine aprovecha estos factores para acelerar el proceso de ajuste fino y reducir la cantidad de cálculo y memoria requeridas.

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

“Este método coincide muy bien con la precisión en comparación con la propagación total en diferentes tareas y diferentes redes neuronales”, agrega Han.

Un modelo reducido

Convencionalmente, el gráfico de backpropagation se genera durante el tiempo de ejecución, lo que implica una gran cantidad de cálculo. En cambio, PockEngine hace esto durante el tiempo de compilación, mientras que el modelo se está preparando para la implementación.

PockEngine elimina bits de código para eliminar capas o piezas de capas innecesarias, creando un gráfico reducido del modelo que se utilizará durante el tiempo de ejecución. Luego realiza otras optimizaciones en este gráfico para mejorar aún más la eficiencia.

Dado que todo esto solo debe hacerse una vez, ahorra en sobrecarga computacional para el tiempo de ejecución.

“Es como antes de hacer un viaje de senderismo. En casa, haría una planificación cuidadosa, qué senderos vas a continuar, qué senderos vas a ignorar. Entonces, en el momento de la ejecución, cuando realmente estás caminando, ya tienes un plan muy cuidadoso que seguir”, explica Han.

Cuando aplicaron a PockEngine a modelos de aprendizaje profundo en diferentes dispositivos de borde, incluidos los chips de Apple M1 y los procesadores de señal digital comunes en muchos teléfonos inteligentes y computadoras Raspberry Pi, realizó una capacitación en el dispositivo hasta 15 veces más rápido, sin ninguna caída en la precisión. PockEngine también recortó significativamente la cantidad de memoria requerida para el ajuste fino.

El equipo también aplicó la técnica al gran modelo de lenguaje Llama-V2. Con modelos de idiomas grandes, el proceso de ajuste fino implica proporcionar muchos ejemplos, y es crucial que el modelo aprenda a interactuar con los usuarios, dice Han. El proceso también es importante para los modelos encargados de resolver problemas complejos o razonamiento sobre soluciones.

Por ejemplo, los modelos Llama-V2 que fueron ajustados con PockEngine respondieron la pregunta “¿Cuál fue el último álbum de Michael Jackson?” correctamente, mientras que los modelos que no estaban ajustados fallaron. PockEngine redujo el tiempo que tomó cada iteración del proceso de ajuste de aproximadamente siete segundos a menos de un segundo en un Nvidia Jetson Orin, una plataforma GPU Edge.

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

“Este trabajo aborda los crecientes desafíos de eficiencia planteados por la adopción de grandes modelos de IA como LLM en diversas aplicaciones en muchas industrias diferentes. No solo se mantiene prometedor para aplicaciones de borde que incorporan modelos más grandes, sino también para reducir el costo de mantener y actualizar grandes modelos de IA en la nube”, dice Ehry MacRostie, un gerente senior en la división general de la inteligencia artificial de Amazon, sino que no participó en este estudio, sino que no participó en este estudio, sino que trabaja con el estudio de Matie, que se relacionó con el estudio de Mitie, con los trabajos relacionados con los trabajos de Mitie, con los trabajos relacionados con los trabajos de Mitie, con el estudio de los trabajos relacionados con el estudio de la inteligencia artificial de Amazon. Mit-Amazon Science Hub.

Este trabajo fue apoyado, en parte, por el MIT-IBM Watson AI Lab, el Programa de Hardware MIT AI, el MIT-Amazon Science Hub, la National Science Foundation (NSF) y la Comunidad de Innovación Qualcomm.

admin

Usuario de administración del sitio web