  Language models generate texts by successively predicting probability
distributions for next tokens given past ones. A growing field of interest
tries to leverage external information in the decoding process so that the
generated texts have desired properties, such as being more natural, non toxic,
faithful, or having a specific writing style. A solution is to use a classifier
at each generation step, resulting in a cooperative environment where the
classifier guides the decoding of the language model distribution towards
relevant texts for the task at hand. In this paper, we examine three families
of (transformer-based) discriminators for this specific task of cooperative
decoding: bidirectional, left-to-right and generative ones. We evaluate the
pros and cons of these different types of discriminators for cooperative
generation, exploring respective accuracy on classification tasks along with
their impact on the resulting sample quality and computational performances. We
also provide the code of a batched implementation of the powerful cooperative
decoding strategy used for our experiments, the Monte Carlo Tree Search,
working with each discriminator for Natural Language Generation.
