ECCOは、インタラクティブな視覚化を使用して自然言語処理モデルを調査および説明するためのPythonライブラリです。
ECCOは、トランスベースの言語モデルの説明と直観を支援するための複数のインターフェイスを提供します。読む:変圧器の言語モデルを説明するためのインターフェイス。
ECCOはJupyterノートブック内で実行されます。 PytorchとTransformersの上に構築されています。
ECCOは、トレーニングまたは微調整モデルに関心がありません。既存の事前に訓練されたモデルのみを調査して理解しています。図書館は現在、研究プロジェクトのアルファリリースです。あなたはそれをより良くするために貢献することを歓迎します!
ドキュメント:ecco.readthedocs.io
pipまたはcondaを使用してeccoをインストールできます。
ピップ付き
pip install eccoコンドラと
conda install -c conda-forge eccoこの[ノートブック]からこれらすべての例を実行できます| [colab]。
大規模な言語モデル(この場合はT5)を使用して、テキスト感情を検出します。感情に加えて、モデルがテキストを壊したトークンを参照してください(これはいくつかのエッジケースをデバッグするのに役立ちます)。
統合された勾配を使用した機能の属性は、モデルの決定を探求するのに役立ちます。この場合、「弱点」を「傾斜」に切り替えることで、モデルは予測を陽性に正しく切り替えることができます。
GPT2はヒースロー空港がどこにあるかを知っていますか?はい。そうです。
候補の出力トークンとその確率スコアを視覚化します。
このモデルは、モデルの最後のレイヤーの後に最高の確率トークン(#1ランキング)を作成することにより、ロンドンを選択しました。各レイヤーは、ロンドンのランキングの増加にいくら貢献しましたか?これは、異なるモデル層のアクティビティを探索するのに役立つロジットレンズの視覚化です。
バートのニューロンのグループは、コンマやその他の句読点に応じて発射する傾向があります。ニューロンの他のグループは、代名詞に応じて発射する傾向があります。この視覚化を使用して、個々のFFNN層またはモデル全体でニューロン活動を因数分解します。
論文を読む:
ECCO:Transformer Language Models Association for Computational Linguistics(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 " ,
}