MobileNMT: Habilitando la traducción en 15MB y 30ms
MobileNMT: Enabling Translation in 15MB and 30ms
June 7, 2023
Autores: Ye Lin, Xiaohui Wang, Zhexi Zhang, Mingxuan Wang, Tong Xiao, Jingbo Zhu
cs.AI
Resumen
La implementación de modelos de traducción automática neuronal (NMT) en dispositivos móviles es esencial para garantizar privacidad, baja latencia y funcionamiento en escenarios sin conexión. Sin embargo, los modelos NMT de alta capacidad suelen ser bastante grandes. Ejecutar estos modelos en dispositivos con almacenamiento, memoria, capacidad de cómputo y consumo de energía limitados representa un desafío. Los trabajos existentes se centran únicamente en una métrica específica, como los FLOPs, o en motores generales que no son óptimos para el decodificado auto-regresivo. En este artículo, presentamos MobileNMT, un sistema capaz de traducir en 15 MB y 30 ms en dispositivos. Proponemos una serie de principios para la compresión de modelos combinada con cuantización. Además, implementamos un motor compatible con INT8 y optimizado para el decodificado. Gracias al diseño conjunto del modelo y el motor, en comparación con los sistemas existentes, logramos una aceleración de 47.0x y un ahorro del 99.5% en memoria, con solo una pérdida del 11.6% en la métrica BLEU. El código está disponible públicamente en https://github.com/zjersey/Lightseq-ARM.
English
Deploying NMT models on mobile devices is essential for privacy, low latency,
and offline scenarios. For high model capacity, NMT models are rather large.
Running these models on devices is challenging with limited storage, memory,
computation, and power consumption. Existing work either only focuses on a
single metric such as FLOPs or general engine which is not good at
auto-regressive decoding. In this paper, we present MobileNMT, a system that
can translate in 15MB and 30ms on devices. We propose a series of principles
for model compression when combined with quantization. Further, we implement an
engine that is friendly to INT8 and decoding. With the co-design of model and
engine, compared with the existing system, we speed up 47.0x and save 99.5% of
memory with only 11.6% loss of BLEU. The code is publicly available at
https://github.com/zjersey/Lightseq-ARM.