Multi-DNN Inference of Sparse Models on Edge SoCs

El artículo presenta SparseLoom, un sistema demostrador que utiliza la técnica de "model stitching" para reensamblar subgrafos de modelos dispersos sin reentrenamiento, logrando en SoCs de borde una reducción de hasta el 74% en las violaciones de objetivos de nivel de servicio, un aumento de 2,31 veces en el rendimiento y una disminución del 28% en la sobrecarga de memoria en comparación con los sistemas existentes.

Jiawei Luo, Di Wu, Simon Dobson, Blesson Varghese

Publicado Wed, 11 Ma
📖 4 min de lectura☕ Lectura para el café

Each language version is independently generated for its own context, not a direct translation.

Imagina que tienes un restaurante de comida rápida muy avanzado (esto es tu dispositivo, como un teléfono o un ordenador portátil) y necesitas preparar varios platos al mismo tiempo para diferentes clientes.

Aquí está el problema:

  1. Los platos son complejos: Cada plato es un modelo de Inteligencia Artificial (como reconocer una cara, traducir un texto o identificar un sonido).
  2. Los clientes son exigentes: Algunos quieren su plato ya mismo (baja latencia), otros quieren que sea perfecto (alta precisión), y otros están dispuestos a esperar un poco más.
  3. La cocina tiene varios chefs: Tienes un chef rápido pero torpe (CPU), un chef muy rápido con herramientas especiales (GPU) y un chef experto en tareas específicas (NPU).

El Problema: "El Menú Rígido"

Hasta ahora, los sistemas de estos restaurantes funcionaban así: Para cada tipo de plato, solo tenían una versión en el menú. Si el cliente quería algo rápido, le daban la versión "rápida" (que a veces estaba fría o mal hecha). Si quería algo perfecto, le daban la versión "premium" (que tardaba mucho en salir).

Si el cliente cambiaba de opinión a mitad de la tarde (por ejemplo, "¡ahora necesito esto en 2 segundos!"), el sistema se rompía o tardaba demasiado en cambiar de receta, haciendo que el cliente se fuera frustrado. Además, a veces el chef equivocado cocinaba el plato equivocado, desperdiciando tiempo.

La Solución: "SparseLoom" (El Tejedor de Recetas)

Los autores de este paper (Jiawei Luo y su equipo) crearon un sistema llamado SparseLoom. Imagina que en lugar de tener recetas fijas, tienen un sistema de "Lego" o "Costura" (Stitching) para las recetas.

1. La Magia de la "Costura" (Model Stitching)

En lugar de tener solo 10 recetas fijas, SparseLoom toma partes de diferentes recetas y las une para crear nuevas versiones al instante, sin tener que volver a cocinar desde cero (sin re-entrenar).

  • La analogía: Imagina que tienes una receta de pizza.
    • La base es de un chef rápido (pero la masa es un poco dura).
    • El salsa es de un chef experto (sabor increíble).
    • El queso es de un chef eficiente (se funde perfecto).
    • SparseLoom toma la base del primer chef, la salsa del segundo y el queso del tercero, y crea una "Nueva Pizza Híbrida" que es rápida, deliciosa y eficiente.
    • Esto crea miles de combinaciones posibles en lugar de solo unas pocas.

2. El "Gerente de Cocina" Inteligente (Optimización)

El sistema tiene un gerente que decide:

  • ¿Qué receta híbrida usar? Elige la que mejor se adapte a lo que el cliente quiere ahora mismo (¿más rápido? ¿más sabroso?).
  • ¿Quién cocina qué parte? Decide qué parte de la pizza la hace el chef rápido, cuál el experto y cuál el eficiente, para que todo salga al mismo tiempo.
  • Resultado: El restaurante nunca se atasca y siempre entrega el plato justo a tiempo.

3. El "Almacén Inteligente" (Precarga de Subgrafos)

Antes, para estar seguros de poder cambiar de receta rápido, el restaurante guardaba todas las recetas posibles en la nevera. ¡Esto ocupaba todo el espacio y no cabía nada más!

SparseLoom es más inteligente. Usa un sistema de "Calor" (Hotness):

  • Solo guarda en la nevera las partes de las recetas que se usan más a menudo o que son críticas para cumplir con las órdenes urgentes.
  • Si llega una orden nueva, el sistema sabe exactamente qué piezas tiene ya listas y cuáles puede buscar rápido, ahorrando mucho espacio en la nevera (memoria).

¿Qué lograron con esto? (Los Resultados)

Gracias a este sistema de "costura" y gestión inteligente:

  1. Menos clientes furiosos: Redujeron las quejas (violaciones de objetivos) en un 74%. Casi todos los platos salen a tiempo y bien hechos.
  2. Más platos por hora: El restaurante ahora sirve 2.3 veces más platos que antes (mejor rendimiento).
  3. Menos espacio en la nevera: Ahorraron un 28% de espacio de memoria, dejando más sitio para otras cosas.

En resumen

SparseLoom es como un chef maestro que no se queda atascado en recetas fijas. En su lugar, mezcla y combina las mejores partes de diferentes recetas al vuelo, asigna a los chefs correctos para cada tarea y solo guarda en la nevera lo que realmente necesita. El resultado es un servicio más rápido, más eficiente y que nunca decepciona al cliente, incluso en las cocinas más pequeñas (dispositivos móviles).