INSTALL ESPnet メモ

ESPnet: end-to-end speech processing toolkit

GitHub - espnet/espnet: End-to-End Speech Processing Toolkit

1. INSTALL Kaldi

$ git clone https://github.com/kaldi-asr/kaldi

$ cd <kaldi-root>/tools
$ make -j <num-cpus>
$ ./extras/install_openblas.sh

$ cd <kaldi-root>/src
$ ./configure --shared --mathlib=OPENBLAS
$ make <num-cpu>

Select not MKL but OpenBLAS

2. INSTALL ESPnet

$ git clone https://github.com/espnet/espnet

$ cd <espnet-root>/tools
$ ln -s <kaldi-root> .

# Setup Python environment (= Generate `activate_python.sh`)
$ ./setup_anaconda.sh anaconda espnet 3.8
$  . ./setup_cuda_env.sh /usr/local/cuda

$ make

# Check installation
$ . ./activate_python.sh; python3 check_install.py

Reference

kaldi/INSTALL at master · emonosuke/kaldi · GitHub

Installation — ESPnet 202209 documentation

解説 - XLNet: Generalized Autoregressive Pretraining for Language Understanding

元論文 https://papers.nips.cc/paper/8812-xlnet-generalized-autoregressive-pretraining-for-language-understanding.pdf

事前学習モデル XLNet を提案. Fine-tuning により SQuAD や GLUE などの 20 タスクで BERT (さらには RoBERTa) を上回った.

BERT の事前学習 (Masked Language Modeling objective) の問題点として,
[MASK] されたトークン間での独立性の仮定 や [MASK] の導入による事前学習と fine-tuning の不一致が挙げられる.

これらを解決するために Permutation Language Modeling objective が導入された. またこの objective を計算するために Two Stream Self-Attention 構造を採用する.

さらに XLNet の名前の由来となっている Transformer-XL の構造も採用し, segment をまたいだ依存性も考慮できるようにしている.

www.slideshare.net

解説 - Unified Language Model Pre-training forNatural Language Understanding and Generation

元論文 https://papers.nips.cc/paper/9464-unified-language-model-pre-training-for-natural-language-understanding-and-generation.pdf

Natural Language Understanding (NLU) と Natural Language Generation (NLG) のための事前学習法として UNIfied pre-trained Language Model (UNILM) を提案.

  • Natural Langauge Understanding

    • Extractive QA (SQuAD), GLUE など
    • Left-to-right LMBidirectional LM などの事前学習モデルからの fine-tuning により解く
  • Natural Langauge Generation

    • Generative QA (CoQA), Abstractive Summarization (Gigaword) など
    • Sequence-to-sequence LM により解く

これら Left-to-right LM, Bidirectional LM, Sequence-to-sequence LM を統合 (unify) した事前学習. パラメータは共有し Self-attention mask によって attend するコンテキストを制御.

www.slideshare.net