ECCO adalah perpustakaan Python untuk mengeksplorasi dan menjelaskan model pemrosesan bahasa alami menggunakan visualisasi interaktif.
ECCO menyediakan banyak antarmuka untuk membantu penjelasan dan intuisi model bahasa berbasis transformator. Baca: Antarmuka untuk menjelaskan model bahasa transformator.
ECCO berjalan di dalam buku catatan Jupyter. Ini dibangun di atas Pytorch dan Transformers.
ECCO tidak peduli dengan pelatihan atau model penyempurnaan. Hanya menjelajahi dan memahami model pra-terlatih yang ada. Perpustakaan saat ini merupakan rilis alpha dari proyek penelitian. Anda dipersilakan untuk berkontribusi untuk membuatnya lebih baik!
Dokumentasi: ecco.readthedocs.io
Anda dapat menginstal ecco baik dengan pip atau dengan conda .
dengan pip
pip install eccodengan conda
conda install -c conda-forge eccoAnda dapat menjalankan semua contoh ini dari [notebook] ini | [colab].
Gunakan model bahasa besar (T5 dalam hal ini) untuk mendeteksi sentimen teks. Selain sentimen, lihat token, model memecah teks (yang dapat membantu men -debug beberapa kasus tepi).
Atribusi fitur menggunakan gradien terintegrasi membantu Anda mengeksplorasi keputusan model. Dalam hal ini, beralih "kelemahan" ke "kecenderungan" memungkinkan model untuk dengan benar mengalihkan prediksi menjadi positif .
Apakah GPT2 tahu di mana Bandara Heathrow? Ya. Itu benar.
Visualisasikan token output kandidat dan skor probabilitas mereka.
Model memilih London dengan membuat token probabilitas tertinggi (peringkatnya #1) setelah lapisan terakhir dalam model. Berapa banyak setiap lapisan berkontribusi untuk meningkatkan peringkat London ? Ini adalah visualisasi lensa logit yang membantu mengeksplorasi aktivitas lapisan model yang berbeda.
Sekelompok neuron di Bert cenderung menembak sebagai respons terhadap koma dan tanda baca lainnya. Kelompok neuron lain cenderung menembak sebagai respons terhadap kata ganti. Gunakan visualisasi ini untuk memfaktorkan aktivitas neuron pada lapisan FFNN individu atau di seluruh model.
Baca makalahnya:
ECCO: Perpustakaan Sumber Terbuka untuk Penjelasan Model Transformer Model Bahasa Asosiasi untuk Demonstrasi Sistem Linguistik Komputasi (ACL), 2021
Referensi API dan halaman arsitektur menjelaskan komponen ECCO dan bagaimana mereka bekerja bersama.
Token yang diprediksi: Lihat prediksi model untuk token berikutnya (dengan skor probabilitas). Lihat bagaimana prediksi berkembang melalui lapisan model. [Notebook] [colab]

Peringkat lintas lapisan: Setelah model memilih token output, lihat kembali bagaimana setiap lapisan peringkat token itu. [Notebook] [colab]

Prediksi Lapisan: Bandingkan peringkat beberapa token sebagai kandidat untuk posisi tertentu dalam urutan. [Notebook] [colab]

Atribusi utama: Berapa banyak token input yang berkontribusi untuk menghasilkan token output? [Notebook] [colab]

Atribusi utama terperinci: Lihat nilai atribusi input yang lebih tepat menggunakan tampilan terperinci. [Notebook] [colab]

Analisis Aktivasi Neuron: Periksa pola yang mendasari dalam aktivasi neuron menggunakan faktorisasi matriks non-negatif. [Notebook] [colab]

Mengalami masalah?
Bibtex untuk kutipan:
@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 " ,
}