KBLaM: Knowledge Base augmented Language Model
This addresses the challenge of efficiently incorporating large-scale knowledge into LLMs for improved reasoning and interpretability, representing a novel method rather than an incremental improvement.
The paper tackles the problem of augmenting large language models with external knowledge by proposing KBLaM, which integrates a knowledge base of over 10K triples into an 8B LLM on a single GPU, enabling dynamic updates without retraining and showing effectiveness in tasks like question-answering.
In this paper, we propose Knowledge Base augmented Language Model (KBLaM), a new method for augmenting Large Language Models (LLMs) with external knowledge. KBLaM works with a knowledge base (KB) constructed from a corpus of documents, transforming each piece of knowledge in the KB into continuous key-value vector pairs via pre-trained sentence encoders with linear adapters and integrating them into pre-trained LLMs via a specialized rectangular attention mechanism. Unlike Retrieval-Augmented Generation, KBLaM eliminates external retrieval modules, and unlike in-context learning, its computational overhead scales linearly with KB size rather than quadratically. Our approach enables integrating a large KB of more than 10K triples into an 8B pre-trained LLM of only 8K context window on one single A100 80GB GPU and allows for dynamic updates without model fine-tuning or retraining. Experiments demonstrate KBLaM's effectiveness in various tasks, including question-answering and open-ended reasoning, while providing interpretable insights into its use of the augmented knowledge. Code and datasets are available at https://github.com/microsoft/KBLaM/