Ideia : Como interpretamos o que um modelo de linguagem aprende em vários estágios de treinamento? Os modelos de linguagem foram recentemente descritos como bases de conhecimento abertas. Podemos gerar gráficos de conhecimento extraindo relações triplas de modelos de linguagem mascarados em épocas sequenciais ou variantes de arquitetura para examinar o processo de aquisição de conhecimento.
Conjunto de dados : Squad, Google-RE (3 versões)
Modelos : BERT, RoBeRTa, DistilBert, treinando RoBERTa do zero
Autores : Vinitra Swamy, Angelika Romanou, Martin Jaggi
Este repositório é a implementação oficial do artigo NeurIPS 2021 XAI4Debugging intitulado "Interpreting Language Models Through Knowledge Graph Extraction". Achou este trabalho útil? Por favor, cite nosso artigo.
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
parâmetros opcionais:
dataset=squad - "squad", "re-place-birth", "re-date-birth", "re-place-death"
model=Roberta - "Bert", "Roberta", "DistilBert"
extractor=spacy - "spacy", "textacy", "custom"
Consulte run_lm_experiments notebook
para obter exemplos.
!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 }
}