
REALM
Overview
The REALM model was proposed in REALM: Retrieval-Augmented Language Model Pre-Training by Kelvin Guu, Kenton Lee, Zora Tung, Panupong Pasupat and Ming-Wei Chang. It's a
retrieval-augmented language model that firstly retrieves documents from a textual knowledge corpus and then
utilizes retrieved documents to process question answering tasks.
The abstract from the paper is the following:
Language model pre-training has been shown to capture a surprising amount of world knowledge, crucial for NLP tasks
such as question answering. However, this knowledge is stored implicitly in the parameters of a neural network,
requiring ever-larger networks to cover more facts. To capture knowledge in a more modular and interpretable way, we
augment language model pre-training with a latent knowledge retriever, which allows the model to retrieve and attend
over documents from a large corpus such as Wikipedia, used during pre-training, fine-tuning and inference. For the
first time, we show how to pre-train such a knowledge retriever in an unsupervised manner, using masked language
modeling as the learning signal and backpropagating through a retrieval step that considers millions of documents. We
demonstrate the effectiveness of Retrieval-Augmented Language Model pre-training (REALM) by fine-tuning on the
challenging task of Open-domain Question Answering (Open-QA). We compare against state-of-the-art models for both
explicit and implicit knowledge storage on three popular Open-QA benchmarks, and find that we outperform all previous
methods by a significant margin (4-16% absolute accuracy), while also providing qualitative benefits such as
interpretability and modularity.
This model was contributed by qqaatw. The original code can be found
here.
RealmConfig
[[autodoc]] RealmConfig
RealmTokenizer
[[autodoc]] RealmTokenizer
    - build_inputs_with_special_tokens
    - get_special_tokens_mask
    - create_token_type_ids_from_sequences
    - save_vocabulary
    - batch_encode_candidates
RealmTokenizerFast
[[autodoc]] RealmTokenizerFast
    - batch_encode_candidates
RealmRetriever
[[autodoc]] RealmRetriever
RealmEmbedder
[[autodoc]] RealmEmbedder
    - forward
RealmScorer
[[autodoc]] RealmScorer
    - forward
RealmKnowledgeAugEncoder
[[autodoc]] RealmKnowledgeAugEncoder
    - forward
RealmReader
[[autodoc]] RealmReader
    - forward
RealmForOpenQA
[[autodoc]] RealmForOpenQA
    - block_embedding_to
    - forward