Идея : Как мы интерпретируем то, что изучает языковая модель на различных этапах обучения? Языковые модели недавно были описаны как открытые базы знаний. Мы можем создавать графы знаний, извлекая тройки отношений из моделей замаскированного языка в последовательные эпохи или варианты архитектуры, чтобы изучить процесс приобретения знаний.
Набор данных : Squad, Google-RE (3 варианта).
Модели : BERT, RoBeRTa, DistilBert, обучение RoBERTa с нуля.
Авторы : Винитра Свами, Анжелика Роману, Мартин Джагги
Этот репозиторий является официальной реализацией документа NeurIPS 2021 XAI4Debugging под названием «Интерпретация языковых моделей посредством извлечения графа знаний». Нашли эту работу полезной? Пожалуйста, процитируйте нашу статью.
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
необязательные параметры:
dataset=squad - "squad", "re-place-birth", "re-date-birth", "re-place-death"
model=Roberta - "Bert", "Roberta", "DistilBert"
extractor=spacy - "spacy", "textacy", "custom"
Примеры см. 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
. 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 }
}