Upgrade to Pro — share decks privately, control downloads, hide ads and more …

事前学習済言語モデルの動向 (2) / Survey of Pretrained Language Models

事前学習済言語モデルの動向 (2) / Survey of Pretrained Language Models

@東工大・産総研 勉強会

Kyosuke Nishida

February 28, 2020
Tweet

More Decks by Kyosuke Nishida

Other Decks in Research

Transcript

  1. • 質問に対してテキストを読み解いて回答するタスク 3 BERTが優れた性能を達成したタスクの例︓ SQuAD 1.1 [Rajupurkar (Stanford)+, EMNLP16] ⼊⼒︓テキスト

    ⼊⼒︓質問 出⼒︓回答 Wikipediaの段落(平均140単語) 無料で公開 クラウドソーシングで作成した 100,000件以上の質問・回答ペア テキスト中の任意の 範囲を抽出して回答
  2. • このタスクに特化したニューラルネット構造を持たずに、 ⼈間の質問応答スコアを⼤きく超える性能を達成 4 機械読解 (SQuAD 1.1) で⼈間超え 完全⼀致 部分⼀致

    ⼈間のスコア 82.304 BERTのスコア 87.433 Jacob Devlin et al.: BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. CoRR abs/1810.04805 (2018) https://rajpurkar.github.io/SQuAD-explorer/
  3. 6 ⾔語モデル研究の加速 https://github.com/thunlp/PLMpapers に追加 ALBERT ICLR 2020 ACL 2019 NeurIPS

    2019 EMNLP 2019 T5 BART 2019/10〜 Pegasus ERNIE-GEN ProphetNet Turing-NLG DistillBERT Q8BERT MegatronLM CTRL
  4. 時系列とモデルサイズ [Microsoft, 2020/02/10] https://medium.com/huggingface/distilbert-8cf3380435b5 モデルのパラメータ数 (x1M) BERT-LARGE 340M=3.4億個のfloat値 7 Turing-NLG

    17B=170億個のfloat値 https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/
  5. • イントロダクション • モデルの分類とタスク • 初期のモデルについて(〜BERT) • その後のモデルについて(BERT〜) – Bidirectional

    LM(BERTタイプ) – Autoregressive LM(GPTタイプ) – Prefix LM(UniLMタイプ) – Encoder-Decoder(T5タイプ) • 今後の展望 8 ⽬次
  6. タイプ 主タスク 代表モデル Bi-directional LM NLU BERT, RoBERTa, ALBERT Autoregressive

    LM NLU/LM GPT, Turing-NLG Prefix LM NLU/Seq2Seq UniLM Encoder-Decoder NLU/Seq2Seq MASS, BART, T5 9 モデルの分類 " # Bi-directional LM Prefix LM Autoregressive LM " # $ $ " # # $ & $ " # " # " # # $ " # Encoder-Decoder " # $ • 事前学習モデルの構造と適⽤タスクが多様化してきた
  7. • ⾔語モデリング – WikiText-103 – LAMBDA – CBT (Children’s Book

    Test) – Enwiki8 – One Billion Word – PTB • Autoregressive LMではZero-shot QA, NMTなども多い 11 Language Modelingの主なタスク Autoregressive LM " # # $ & $
  8. • ⽣成型要約: CNN/DM, Xsum, Gigaword, etc. • 機械翻訳: WMT •

    ⽣成型QA: CoQA • 質問⽣成: SQuAD QG • 応答⽣成: Persona-chat 12 Sequence-to-Sequenceの主なタスク Prefix LM " # " # " # # $ " # Encoder-Decoder " # $
  9. • エンコーダとデコーダを⾔語モデルとして個別に事前学習 – アテンション等はFine-tuning時に計算 – Fine-tuning時にも⾔語モデリングの損失で制約を付ける • 翻訳︓News Crawl English

    (Encoder) / German (Decoder)(>1B tokens) • 要約︓English Gigaword (Encoder/Decoder) 15 Pretrained Seq2Seq [Ramachandran(Google)+, EMNLP’17, arXiv’16/11] 被引⽤数 131 https://www.aclweb.org/anthology/D17-1039
  10. • ⽂字レベルの双⽅向LSTM⾔語モデル(left-to-rightとright-to-left) • 1B Word Benchmark で学習 • ELMoを特徴ベクトルとしてニューラルモデルで使いSQuAD等で⾼精度 17

    ELMo [Peters(AI2)+, EMNLP’18, arxiv’18/02] 被引⽤数2412←1538(※11⽉) https://www.aclweb.org/anthology/N18-1202.pdf ※図はBert論⽂から
  11. • 12層Transformerの⾃⼰回帰⾔語モデル (left-to-right) – LSTMからTransformerへ、ワードからサブワードへ • BookCorpus (5.5GB程度; 800M words)で学習

    18 GPT [Radford(OpenAI)+, TechRep’18/06] 被引⽤数662←382 https://s3-us-west-2.amazonaws.com/openai-assets/research-covers/language- unsupervised/language_understanding_paper.pdf
  12. • Transformerの24層双⽅向⾔語モデル • Wikipedia + BookCorpus (16GB, 3300M words) で学習

    – 巨⼤なモデル・多数のデータの流れができる • GLUE, SQuAD等の注⽬タスクで劇的な精度向上 20 BERT [Devlin(Google)+, NAACL’19, arxiv’18/11] 被引⽤数3871←1997 https://www.aclweb.org/anthology/N19-1423.pdf
  13. • ⽳埋め問題(Masked Language Model) • 次の⽂予測(Next Sentence Prediction)の2タスクで学習 21 BERT

    [Devlin(Google)+, NAACL’19, arxiv’18/11] 被引⽤数3871←1997 [CLS] my dog is cute [SEP] he likes play [MASK] [SEP] 2⽂⽬ 1⽂⽬ IsNext my dog is cute [SEP] he likes play piano [SEP] 分類 ⽳埋め 双⽅向
  14. • エンティティとフレーズの外部知識を使ってマスクに利⽤ • 中国語タスクで評価 • Whole word masking [google 5/31

    on github] に近いイメージ 26 ERNIE 1.0 (Baidu) [Sun+, arXiv’19/04] 被引⽤数30<-19 https://arxiv.org/abs/1904.09223
  15. • ⾃⼰回帰(単⽅向)モデルと双⽅向の両⽅の利点を得ることを⽬指す • モデルに⼊⼒するトークンの順序を permutation する • GLUEなどでBERTを超える精度を達成 28 XLNet

    [Yang(CMU)+, NeurIPS’19, arxiv’19/06] 被引⽤数325←112 https://papers.nips.cc/paper/8812-xlnet-generalized-autoregressive-pretraining- for-language-understanding
  16. • 精度を落とさずfine-tuning時にBERTを8bit整数に量⼦化 – Embedding, FCは8bit化,softmax, Lnorm, GELUはFP32をキープ • モデルサイズ1/4, 速度

    3.7x 35 Q8BERT [Zafrir(Intel)+, NeurIPS WS’19, arXiv’19/10] 被引⽤数3←1 https://arxiv.org/abs/1910.06188
  17. パラメータ共有 • BERT base (110M) の場合,12層のパラメータ数は85M • 各層で共有すれば,7.08Mまで削減 37 ALBERT

    [Lan(Google)+, ICLR’20, arxiv’19/09/26] 被引⽤数48←3 ALBERTでは 各層でパラメータを 共有する
  18. Sentence Order Prediction (SOP) • BERTの次⽂予測(NSP)は,他の⽂書から負例を持ってくる ので,トピック判定に近く,問題が簡単になっている • 同⽂書の中の連続するセグメントの順序の⼊替え判定をする 39

    ALBERT [Lan(Google)+, ICLR’20, arxiv’19/09/26] 被引⽤数48←3 [CLS] my dog is cute [SEP] he likes play [MASK] [SEP] 2⽂⽬ 1⽂⽬ 正順? my dog is cute [SEP] he likes play piano [SEP] 分類 ⽳埋め
  19. • ⼊⼒形式: 1系列2セグメント.画像領域表現+キャプション単語 • ⾔語表現モデル: BERT (base or large) •

    画像表現+領域検出モデル: Faster-RCNN • 事前学習データ: COCO, Visual Genome, Conceptual Captions, SBU Captions • 事前学習タスク: Masked LM,Masked ROI 特徴回帰&意味クラス分類(KL最⼩化), テキスト-画像マッチング • 評価: VCR, VQA, Flicker30k, NLVR, SNLI-VE, RefCOCO+(全タスクで現在のSOTA) UNITER [Chen(Microsoft) +, ICLR20(rejected), arXiv19/09/25] 被引⽤数12←3 https://arxiv.org/abs/1909.11740 40
  20. • 48層Transformerの⾃⼰回帰⾔語モデル(構造はGPTと同じ) • WebText (40GB程度)で学習 • 特別な訓練なしに(zero-shot)翻訳,QAが可能 44 GPT-2 [Radford(OpenAI)+,

    TechRep’19/02] 被引⽤数317←153 https://d4mucfpksywv.cloudfront.net/better-language- models/language_models_are_unsupervised_multitask_learners.pdf
  21. • TransformerにおいてMLPとSelf-Attentionをモデルを分割して並列化する – MLP: レイヤーの重みA, Bを分割する – Self-Attention: Query, Key,

    Valueをヘッドに沿って分割する 50 MegatronLM [Shoeybi(NVIDIA)+, arxiv’19/10] 被引⽤数7←3 https://arxiv.org/pdf/1909.08053.pdf
  22. • 78層、4256次元Transformer。パラメータ数17B • 学習にDeepSpeedライブラリを利⽤。オプティマイザZeRO [NeurIPS’19] のデータ並列化とMegatronLMのモデル並列化を 併⽤ 52 Turing-NLG [Rosset(Microsoft)+,

    blog’20/02/10] https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/ https://www.microsoft.com/en-us/research/blog/zero-deepspeed-new-system-optimizations-enable-training-models-with-over-100-billion-parameters/
  23. • ZeROはオプティマイザ状態、勾配、パラメータの3つを分割してメモリ 量を削減 – GPU数に応じて線形にメモリ削減が可能 • 7.5Bモデルを64GPU/Adamで学習する際、120GB→1.9GBまで削減 53 Turing-NLG [Rosset(Microsoft)+,

    blog’20/02/10] https://www.microsoft.com/en-us/research/blog/turing-nlg-a-17-billion-parameter-language-model-by-microsoft/ https://www.microsoft.com/en-us/research/blog/zero-deepspeed-new-system-optimizations-enable-training-models-with-over-100-billion-parameters/