ECCO是一個用於使用交互式可視化的自然語言處理模型的Python庫。
ECCO提供了多個接口,以幫助基於變壓器的語言模型的解釋和直覺。閱讀:用於解釋變壓器語言模型的接口。
ECCO在Jupyter筆記本中運行。它建在Pytorch和Transformers的頂部。
ECCO與培訓或微調模型無關。僅探索和理解現有的預訓練模型。該圖書館目前是研究項目的α版本。歡迎您做出貢獻,使其變得更好!
文檔:ecco.Readthedocs.io
您可以使用pip或conda安裝ecco 。
與pip
pip install ecco與Conda
conda install -c conda-forge ecco您可以從此[筆記本]中運行所有這些示例| [COLAB]。
使用大型語言模型(在這種情況下為T5)來檢測文本情緒。除了情感之外,請參見“令牌”該模型將文本分解為(可以幫助調試一些邊緣案例)。
使用集成梯度的功能歸因可幫助您探索模型決策。在這種情況下,將“弱點”切換到“傾斜度”使模型可以將預測正確切換為正。
GPT2知道希思羅機場在哪裡嗎?是的。確實如此。
可視化候選輸出令牌及其概率分數。
該模型通過在模型的最後一層之後使最高概率令牌(排名第一)選擇倫敦。每一層有助於提高倫敦的排名?這是一個logit鏡頭可視化,有助於探索不同模型層的活性。
伯特的一組神經元傾向於響應逗號和其他標點符號。其他群體的神經元傾向於響應代詞。使用此可視化來分解單個FFNN層或整個模型中的神經元活性。
閱讀論文:
ECCO:用於解釋性語言模型的計算語言學(ACL)系統演示的開源庫,2021
API參考和架構頁面解釋了ECCO的組件以及它們如何共同工作。
預測令牌:查看模型對接下來的令牌的預測(概率得分)。查看預測如何通過模型的層演變。 [筆記本] [COLAB]

跨層的排名:在模型選擇輸出令牌之後,請回顧一下每個層如何排名該令牌。 [筆記本] [COLAB]

圖層預測:將多個令牌的排名作為序列中某個位置的候選者的排名。 [筆記本] [COLAB]

主要歸因:每個輸入令牌有多少有助於產生輸出令牌? [筆記本] [COLAB]

詳細的主要屬性:使用詳細視圖查看更精確的輸入屬性值。 [筆記本] [COLAB]

神經元激活分析:使用非陰性基質分解檢查神經元激活中的潛在模式。 [筆記本] [COLAB]

遇到麻煩?
引用的Bibtex:
@inproceedings { alammar-2021-ecco ,
title = " Ecco: An Open Source Library for the Explainability of Transformer Language Models " ,
author = " Alammar, J " ,
booktitle = " Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing: System Demonstrations " ,
year = " 2021 " ,
publisher = " Association for Computational Linguistics " ,
}