Cache friendly parallelization of neural encoder-decoder models without padding on multi-core architecture.
Cache friendly parallelization of neural encoder-decoder models without padding on multi-core architecture.
复制标题
神经编码器-解码器模型的缓存友好并行化,无需在多核架构上进行填充。
DOI:
10.1109/ipdpsw.2017.165
复制
发表时间:
2017
期刊:
影响因子:
--
通讯作者:
and Kenjiro Taura.
中科院分区:
文献类型:
--
作者:
Yuchen Qiao;Kazuma Hashimoto;Akiko Eriguchi;Haixia Wang;Dongsheng Wang;Yoshimasa Tsuruoka;and Kenjiro Taura.
Scaling up Artificial Intelligence (AI) algorithms for massive datasets to improve their performance is becoming crucial. In Machine Translation (MT), one of most important research fields of AI, models based on Recurrent Neural Net- works (RNN) show state-of-the-art performance in recent years, and many researchers keep working on improving RNN-based models to achieve better accuracy in translation tasks. Most implementations of Neural Machine Translation (NMT) models employ a padding strategy when processing a mini-batch to make all sentences in a mini-batch have the same length. This enables an efficient utilization of caches and GPU/SIMD parallelism but leads to a waste of computation time. In this paper, we implement and parallelize batch learning for a Sequence-to- Sequence (Seq2Seq) model, which is the most basic model of NMT, without using a padding strategy. More specifically, our approach forms vectors which represent the input words as well as the neural network's states at different time steps into matrices when it processes one sentence, and as a result, the approach makes a better use of cache and optimizes the process that adjusts weights and biases during the back-propagation phase. Our experimental evaluation shows that our implementation achieves better scalability on multi-core CPUs. We also discuss our approach's potential to be used in other implementations of RNN-based models.