Idée : Comment interpréter ce qu'un modèle de langage apprend à différentes étapes de la formation ? Les modèles de langage ont été récemment décrits comme des bases de connaissances ouvertes. Nous pouvons générer des graphiques de connaissances en extrayant des triplets de relations à partir de modèles de langage masqués à des époques séquentielles ou des variantes d'architecture pour examiner le processus d'acquisition de connaissances.
Ensemble de données : Squad, Google-RE (3 saveurs)
Modèles : BERT, RoBeRTa, DistilBert, formation RoBERTa from scratch
Auteurs : Vinitra Swamy, Angelika Romanou, Martin Jaggi
Ce référentiel est l'implémentation officielle de l'article NeurIPS 2021 XAI4Debugging intitulé « Interprétation des modèles de langage grâce à l'extraction de graphes de connaissances ». Vous avez trouvé ce travail utile ? Veuillez citer notre article.
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
paramètres facultatifs :
dataset=squad - "squad", "re-place-birth", "re-date-birth", "re-place-death"
model=Roberta - "Bert", "Roberta", "DistilBert"
extractor=spacy - "spacy", "textacy", "custom"
Voir run_lm_experiments notebook
pour des exemples.
!pip install git+https://github.com/huggingface/transformers
!pip list | grep -E 'transformers|tokenizers'
!pip install textacy
wikipedia_train_from_scratch_lm.ipynb
. 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 }
}