Idee : Wie interpretieren wir, was ein Sprachmodell in verschiedenen Trainingsphasen lernt? Sprachmodelle wurden kürzlich als offene Wissensdatenbanken beschrieben. Wir können Wissensgraphen erstellen, indem wir Beziehungstripel aus maskierten Sprachmodellen in aufeinanderfolgenden Epochen oder Architekturvarianten extrahieren, um den Prozess des Wissenserwerbs zu untersuchen.
Datensatz : Squad, Google-RE (3 Varianten)
Modelle : BERT, RoBeRTa, DistilBert, RoBERTa von Grund auf trainieren
Autoren : Vinitra Swamy, Angelika Romanou, Martin Jaggi
Dieses Repository ist die offizielle Implementierung des NeurIPS 2021 XAI4Debugging-Papiers mit dem Titel „Interpreting Language Models Through Knowledge Graph Extraction“. Fanden Sie diese Arbeit nützlich? Bitte zitieren Sie unseren Beitrag.
git clone https://github.com/epfml/interpret-lm-knowledge.git
pip install git+https://github.com/huggingface/transformers
pip install textacy
cd interpret-lm-knowledge/scripts
python run_knowledge_graph_experiments.py <dataset> <model> <use_spacy>
squad Bert spacy
re-place-birth Roberta
optionale Parameter:
dataset=squad - "squad", "re-place-birth", "re-date-birth", "re-place-death"
model=Roberta - "Bert", "Roberta", "DistilBert"
extractor=spacy - "spacy", "textacy", "custom"
Beispiele finden Sie run_lm_experiments notebook
.
!pip install git+https://github.com/huggingface/transformers
!pip list | grep -E 'transformers|tokenizers'
!pip install textacy
wikipedia_train_from_scratch_lm.ipynb
aus. from run_training_kg_experiments import *
run_experiments(tokenizer, model, unmasker, "Roberta3e")
@inproceedings { swamy2021interpreting ,
author = { Swamy, Vinitra and Romanou, Angelika and Jaggi, Martin } ,
booktitle = { Advances in Neural Information Processing Systems (NeurIPS), 1st Workshop on eXplainable AI Approaches for Debugging and Diagnosis } ,
title = { Interpreting Language Models Through Knowledge Graph Extraction } ,
year = { 2021 }
}