SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 1908.04319 · 2019

Neural Text Generation with Unlikelihood Training

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 6 functions out of this paper's own repositories and ran 6 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
facebookresearch/unlikelihood_training canonical 1 of 1
griff4692/calibrating-summaries unrelated 2 of 2
fadedcosine/pos-guided-neural-text-generation unrelated 1 of 1
c00k1ez/plain-transformers extension 1 of 1
ljyflores/loss-library application 1 of 1
FunctionStatusWhere it lives
CandidateLoss Ran fadedcosine/pos-guided-neural-text-generation/util/losses.py
code served (permissive licence) · get_code("785d35781789b4f4")
UnlikelihoodLoss Ran c00k1ez/plain-transformers/src/plain_transformers/losses/unlikelihood_loss.py
code served (permissive licence) · get_code("1debde02b971ce55")
compute_unlikelihood_loss Ran ljyflores/loss-library/src/loss_library/utils_unlikelihood_loss.py
pointer only (licence: NONE) · get_code("bc59957c30488434")
label_smoothed_nll_loss Ran griff4692/calibrating-summaries/model/contrast_utils.py
pointer only (licence: NONE) · get_code("a261ba0741e044d7")
label_smoothed_unlikelihood Ran griff4692/calibrating-summaries/model/contrast_utils.py
pointer only (licence: NONE) · get_code("315417bd4bc9b0ad")
top_k_logits Ran facebookresearch/unlikelihood_training/custom/sequence_generator.py
pointer only (licence: NOASSERTION) · get_code("ace3f464bf5b4c7a")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Neural text generation is a key tool in natural language applications, but it is well known there are major problems at its core. In particular, standard likelihood training and decoding leads to dull and repetitive outputs. While some post-hoc fixes have been proposed, in particular top-$k$ and nucleus sampling, they do not address the fact that the token-level probabilities predicted by the model are poor. In this paper we show that the likelihood objective itself is at fault, resulting in a model that assigns too much probability to sequences containing repeats and frequent words, unlike those from the human training distribution. We propose a new objective, unlikelihood training, which forces unlikely generations to be assigned lower probability by the model. We show that both token and sequence level unlikelihood training give less repetitive, less dull text while maintaining perplexity, giving superior generations using standard greedy or beam search. According to human evaluations, our approach with standard beam search also outperforms the currently popular decoding methods of nucleus sampling or beam blocking, thus providing a strong alternative to existing techniques.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("1908.04319")
get_code_for_paper("1908.04319")
have("1908.04319")

Connect an agent — have() is free.