Inspektur dan bahkan di suatu tempat "juru bahasa", LIT atau Alat Interpretabilitas Bahasa adalah platform sumber terbuka yang kuat untuk memvisualisasikan dan menafsirkan model NLP. Platform ini dipresentasikan di EMNLP 2020 oleh Google Research pada November 2020. LIT masih dalam status pengembangan, jadi para pengembang tidak menjamin apapun, termasuk bekerja di platform windows. Tapi saya melakukannya, saya berbagi pengalaman saya.
LIT adalah alat visual interaktif, dapat diperluas, untuk pengembang dan peneliti model NLP yang, antara lain, ingin memahami kasus mana yang tidak dapat ditangani oleh model, mengapa prakiraannya persis sama, kata-kata mana dalam teks yang memengaruhi hasil , dan apa yang akan terjadi jika satu atau token yang berbeda, atau bahkan seluruh teks. LIT adalah platform terbuka. Anda dapat menambahkan perhitungan metrik Anda sendiri, metode interpretasi baru atau alat visualisasi kustom. Arsitektur model memungkinkan Anda menarik informasi yang Anda butuhkan.
Platform ini menangani berbagai jenis model dan framework, termasuk TensorFlow 1.x, TensorFlow 2.x, PyTorch. LIT dapat menjalankan kode Python kustom di atas jaringan neural dan bahkan model RPC .
Dua kata tentang arsitektur. Bagian depan didasarkan pada TypeScript. Ini adalah aplikasi satu halaman yang terdiri dari komponen web independen. Backend didasarkan pada server WSGI . Backend mengelola model, kumpulan data, metrik, generator, dan komponen interpretasi, serta cache yang mempercepat model dan manipulasi data, yang sangat penting untuk model besar. Lebih lengkapnya di sini .
Di luar kotak, LIT mendukung klasifikasi, regresi, generator teks termasuk seq2seq, model bertopeng, model NER , dan model multifungsi dengan beberapa kepala keluaran. Fitur utama dalam tabel:
Widget |
Deskripsi singkat |
Perhatian |
Visualisasi mekanisme perhatian dengan kombinasi lapisan perhatian dan kepala perhatian. |
Confusion Matrix |
, , . |
Counterfactual Generator |
. |
Data Table |
. — 10k . |
Datapoint Editor |
. . |
Embeddings |
3D : UMAP PCA. . Data Table . , , , . |
Metrics Table |
— Accuracy Recall BLEU ROUGE. , . |
Predictions |
. . |
Salience Maps |
. . — local gradients, LIME. |
Scalar Plot |
2D . |
Slice Editor |
. |
— pip install .
pip Windows 10 GPU:
# :
conda create -n nlp python==3.7
conda activate nlp
# tensorflow-gpu pytorch:
conda install -c anaconda tensorflow-gpu
conda install -c pytorch pytorch
# pip tensorflow datasets, transformers LIT:
pip install transformers=2.11.0
pip install tfds-nightly
pip install lit-nlp
tensorflow datasets glue datasets, tfds . PyTorch , .
. 5432, PostgreSQL. netstat -ao. :
python -m lit_nlp.examples.quickstart_sst_demo —port=5433.
< >\anaconda3\envs\nlp\Lib\site-packages\lit_nlp\examples , quickstart_sst_demo windows. , , 5 GPU 20 CPU. ASCII- LIT .

http://127.0.0.1:5433/ , .
.
git clone https://github.com/PAIR-code/lit.git ~/lit
#
cd ~/lit
conda env create -f environment.yml
conda activate lit-nlp
conda install cudnn cupti # , GPU
conda install -c pytorch pytorch
#
pushd lit_nlp; yarn && yarn build; popd
continuumio/anaconda3 WSL2. . environment.yml tensorflow-datasets tfds-nightly. gcc g++. yarn. yarn apt-get, yarn! — :
curl https://deb.nodesource.com/setup_12.x | bash
curl https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
apt-get update && apt-get install -y nodejs yarn postgresql-client
yarn && yarn build
NLP , , . «» LIT , quickstart_sst_demo, - .
:
Lenta.Ru, Kaggle. : , , . 70 150. 50k .
:
, BERT. . RuBert DeepPavlov , huggingface.co. 180 . . , 8 GPU. , . , max_seq_length, 128 , 64 .
LIT :
, , datasets/lenta.py, models/lenta_models.py examples/quickstart_lenta.py . — quickstart_sst_demo. . EDIT.
datasets/lenta.py: tfds, , .
models/lenta_models.py: «DeepPavlov/rubert-base-cased» : max_seq_length 64 , — 32 16.
examples/quickstart_lenta.py: , .
:
python -m lit_nlp.examples.quickstart_lenta —port=5433
RuBert – . . lenta_models num_epochs ( train). , . 50k 3000 . RTX2070 25 .
:

.
. , .

, 21 , , , .

. Data Table «Only show selected». Embedding.

Data Table - Explanation. . 32% , 68, . Silence Maps grad_dot_input. , " " , — .

.
Datapoint Editor «-» , «Analyze new datapoint» ( ).
:

:

Scalar. , Y. , , ROUGE. .

:
RuBert LIT , . , . . Slinece Maps Embeddings , - .
LIT, . , . :
BERT mengisi celah dalam teks
Menghasilkan teks di T5
Kemampuan untuk memperkirakan kemungkinan token dan melihat alternatif saat membuat teks pada contoh terakhir terlihat sangat berguna. Saya belum mencoba model seperti itu secara lokal, tetapi saya tidak bisa tidak membagikan tangkapan layar dari demo:

Saya dengan tulus mendoakan Anda semua eksperimen menarik dengan LIT dan sedikit kesabaran dalam prosesnya!
Tautan
Publikasi Alat Interpretabilitas Bahasa: Dapat Diperluas, Visualisasi dan Analisis Interaktif untuk Model NLP untuk EMNLP 2020
Forum di github dengan diskusi masalah dan kesalahan di LIT