FlowSeq: Non-Autoregressive Conditional Sequence Generation with Generative Flow
Xuezhe Ma, Chunting Zhou, Xi-An Li, Graham Neubig, Eduard Hovy
Code Available — Be the first to reproduce this paper.
ReproduceCode
- github.com/XuezheMax/flowseqOfficialIn paperpytorch★ 0
- github.com/keonlee9420/VAENAR-TTSpytorch★ 73
Abstract
Most sequence-to-sequence (seq2seq) models are autoregressive; they generate each token by conditioning on previously generated tokens. In contrast, non-autoregressive seq2seq models generate all tokens in one pass, which leads to increased efficiency through parallel processing on hardware such as GPUs. However, directly modeling the joint distribution of all tokens simultaneously is challenging, and even with increasingly complex model structures accuracy lags significantly behind autoregressive models. In this paper, we propose a simple, efficient, and effective model for non-autoregressive sequence generation using latent variable models. Specifically, we turn to generative flow, an elegant technique to model complex distributions using neural networks, and design several layers of flow tailored for modeling the conditional density of sequential latent variables. We evaluate this model on three neural machine translation (NMT) benchmark datasets, achieving comparable performance with state-of-the-art non-autoregressive NMT models and almost constant decoding time w.r.t the sequence length.
Tasks
Benchmark Results
| Dataset | Model | Metric | Claimed | Verified | Status |
|---|---|---|---|---|---|
| IWSLT2015 German-English | FlowSeq-base | BLEU score | 24.75 | — | Unverified |
| WMT2014 English-German | FlowSeq-base | BLEU score | 18.55 | — | Unverified |
| WMT2014 English-German | FlowSeq-large | BLEU score | 20.85 | — | Unverified |
| WMT2014 English-German | FlowSeq-large (IWD n = 15) | BLEU score | 22.94 | — | Unverified |
| WMT2014 English-German | FlowSeq-large (NPD n = 15) | BLEU score | 23.14 | — | Unverified |
| WMT2014 English-German | FlowSeq-large (NPD n = 30) | BLEU score | 23.64 | — | Unverified |
| WMT2014 German-English | FlowSeq-base | BLEU score | 23.36 | — | Unverified |
| WMT2014 German-English | FlowSeq-large (NPD n = 30) | BLEU score | 28.29 | — | Unverified |
| WMT2014 German-English | FlowSeq-large (NPD n = 15) | BLEU score | 27.71 | — | Unverified |
| WMT2014 German-English | FlowSeq-large (IWD n=15) | BLEU score | 27.16 | — | Unverified |
| WMT2014 German-English | FlowSeq-large | BLEU score | 25.4 | — | Unverified |
| WMT2016 English-Romanian | FlowSeq-base | BLEU score | 29.26 | — | Unverified |
| WMT2016 English-Romanian | FlowSeq-large (NPD n = 30) | BLEU score | 32.35 | — | Unverified |
| WMT2016 English-Romanian | FlowSeq-large (NPD n=15) | BLEU score | 31.97 | — | Unverified |
| WMT2016 English-Romanian | FlowSeq-large (IWD n = 15) | BLEU score | 31.08 | — | Unverified |
| WMT2016 English-Romanian | FlowSeq-large | BLEU score | 29.86 | — | Unverified |
| WMT2016 Romanian-English | FlowSeq-base | BLEU score | 30.16 | — | Unverified |
| WMT2016 Romanian-English | FlowSeq-large | BLEU score | 30.69 | — | Unverified |
| WMT2016 Romanian-English | FlowSeq-large (IWD n = 15) | BLEU score | 32.03 | — | Unverified |
| WMT2016 Romanian-English | FlowSeq-large (NPD n = 15) | BLEU score | 32.46 | — | Unverified |
| WMT2016 Romanian-English | FlowSeq-large (NPD n = 30) | BLEU score | 32.91 | — | Unverified |