MobileNMT: Vertaling mogelijk maken in 15MB en 30ms
MobileNMT: Enabling Translation in 15MB and 30ms
June 7, 2023
Auteurs: Ye Lin, Xiaohui Wang, Zhexi Zhang, Mingxuan Wang, Tong Xiao, Jingbo Zhu
cs.AI
Samenvatting
Het implementeren van NMT-modellen (Neural Machine Translation) op mobiele apparaten is essentieel voor privacy, lage latentie en offline scenario's. Voor een hoge modelcapaciteit zijn NMT-modellen echter vrij groot. Het uitvoeren van deze modellen op apparaten is uitdagend vanwege beperkte opslag, geheugen, rekenkracht en energieverbruik. Bestaande werkwijzen richten zich vaak slechts op één enkele metriek, zoals FLOPs, of op een algemene engine die niet optimaal is voor auto-regressieve decodering. In dit artikel presenteren we MobileNMT, een systeem dat kan vertalen in 15MB en 30ms op apparaten. We stellen een reeks principes voor voor modelcompressie in combinatie met kwantisatie. Daarnaast implementeren we een engine die vriendelijk is voor INT8 en decodering. Door de co-design van model en engine versnellen we, vergeleken met bestaande systemen, met een factor 47,0 en besparen we 99,5% van het geheugen, met slechts 11,6% verlies in BLEU-score. De code is openbaar beschikbaar op 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.