  Many applications of text generation require incorporating different
constraints to control the semantics or style of generated text. These
constraints can be hard (e.g., ensuring certain keywords are included in the
output) and soft (e.g., contextualizing the output with the left- or right-hand
context). In this paper, we present Energy-based Constrained Decoding with
Langevin Dynamics (COLD), a decoding framework which unifies constrained
generation as specifying constraints through an energy function, then
performing efficient differentiable reasoning over the constraints through
gradient-based sampling. COLD decoding is a flexible framework that can be
applied directly to off-the-shelf left-to-right language models without the
need for any task-specific fine-tuning, as demonstrated through three
challenging text generation applications: lexically-constrained generation,
abductive reasoning, and counterfactual reasoning. Our experiments on these
constrained generation tasks point to the effectiveness of our approach, both
in terms of automatic and human evaluation.
