Idea : ¿Cómo interpretamos lo que aprende un modelo de lenguaje en las distintas etapas del entrenamiento? Los modelos de lenguaje se han descrito recientemente como bases de conocimiento abiertas. Podemos generar gráficos de conocimiento extrayendo triples de relaciones de modelos de lenguaje enmascarados en épocas secuenciales o variantes de arquitectura para examinar el proceso de adquisición de conocimiento.
Conjunto de datos : Squad, Google-RE (3 versiones)
Modelos : BERT, RoBeRTa, DistilBert, entrenando a RoBERTa desde cero
Autores : Vinitra Swamy, Angelika Romanou, Martin Jaggi
Este repositorio es la implementación oficial del documento NeurIPS 2021 XAI4Debugging titulado "Interpretación de modelos de lenguaje mediante la extracción de gráficos de conocimiento". ¿Encontró útil este trabajo? Por favor cite nuestro artículo.
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 opcionales:
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 ver ejemplos.
!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 }
}