Share
Embed
SNLP2023: From Characters to Words: Hierarchical Pre-trained Language Model for Open-vocabulary Language Understanding
Paper introduction slides for 最先端NLP 2023.
tatHi
August 21, 2023
Transcript
20 slides
-
From Characters to Words: Hierarchical Pre-trained Language Model for Open-vocabulary
Language Understanding Li Sun, Florian Luisier, Kayhan Batmanghelich, Dinei Florencio, Cha Zhang (ACL2023) Presenter: 平岡 達也 @7a7hi 2023/08/28 最先端NLP(平岡) 1 -
Word-levelな構造 2023/08/28 最先端NLP(平岡) 3 Word-level hello wrld Word-level Transformer [output]
Character-levelに⽐べて ⼊⼒が⻑くならない 未知語やタイポに弱い Pros Cons OOV -
Character-levelな構造 2023/08/28 最先端NLP(平岡) 4 Word-level hello wrld h e l
l o w r l d Character-level Word-level Transformer Char-level Transformer [output] [output] Character-levelに⽐べて ⼊⼒が⻑くならない 未知語やタイポに弱い Pros Cons 未知語やタイポに強い (open-vocab) Word-levelに⽐べて ⼊⼒系列が⻑くなる Pros Cons OOV 10 tokens -
Hierarchicalな構造 2023/08/28 最先端NLP(平岡) 5 Word-level hello wrld h e l
l o w r l d Character-level Hierarchical Word-level Transformer Char-level Transformer [output] Char-level Char-level Word-level Transformer [output] h e l l o w r l d [output] Character-levelに⽐べて ⼊⼒が⻑くならない 未知語やタイポに弱い Pros Cons 未知語やタイポに強い (open-vocab) Word-levelに⽐べて ⼊⼒系列が⻑くなる Pros Cons 未知語やタイポに強い (open-vocab) & ⼊⼒も⻑くならない Pros OOV 10 tokens LSTM時代ではLing+(2015), Ballesteros+(2015), Lample+(2016)が有名 -
Hierarchicalな構造 2023/08/28 最先端NLP(平岡) 6 Word-level hello wrld h e l
l o w r l d Character-level Hierarchical Word-level Transformer Char-level Transformer [output] Char-level Char-level Word-level Transformer [output] h e l l o w r l d [output] Character-levelに⽐べて ⼊⼒が⻑くならない 未知語やタイポに弱い Pros Cons 未知語やタイポに強い (open-vocab) Word-levelに⽐べて ⼊⼒系列が⻑くなる Pros Cons 未知語やタイポに強い (open-vocab) & ⼊⼒も⻑くならない Pros OOV 10 tokens LSTM時代ではLing+(2015), Ballesteros+(2015), Lample+(2016)が有名 こういう構造でpre-training したら強いのでは? …という話 -
提案手法:構造 2023/08/28 最先端NLP(平岡) 7 Word-level Transformer [WORD_CLS] h e l
l o [WORD_CLS] w r l d [output] Char-level Transformer Char-level Transformer 単語表現の作り⽅ Acc on MRPC 各⽂字のAve-Pooling 82.1 各⽂字のMax-Pooling 83.6 [WORD_CLS] 86.0 hello wrld 単語表現は[WORD_CLS]に 対応する出⼒を利⽤ (イマドキ…) • 単語表現を⽂字表現からcompositionalに作成する階層的構造 Poolingで単語表現を作る よくある⽅法は微妙らしい 12層 4層 -
Word-level Transformer 提案手法:学習 • Character-level Masked Language Modelとして事前学習 • Wikipedia
& BookCorpus 2023/08/28 最先端NLP(平岡) 8 [WORD_CLS] h e l l o [WORD_CLS] w r l d hello wrld Prediction Head (Single Transformer Layer) 12層 Char-level Transformer Char-level Transformer 4層 [WORD_CLS] h e l l o [WORD_CLS] w r l d Finetuning・推論では ここだけ使う -
実験:GLUE Tasks 2023/08/28 最先端NLP(平岡) 9 subword-level byte-level char-level word&char (CNN)
word&char (GRU) word&char (Transformer) • Subword-levelなモデルよりも性能が良さげ • Character/byte-levelなモデルと⽐較すると安定して性能が良い • 既存のCharacter/word双⽅の情報を⽤いる⼿法と⽐べても性能が良い • CharacterBERTはCNNで⽂字情報から単語表現を作るHierarchicalな⼿法 • CharBERTはGRUで読み込んだ⽂字情報を追加で使うParallelな⼿法 -
実験:GLUE Tasks 2023/08/28 最先端NLP(平岡) 10 subword-level byte-level char-level word&char (CNN)
word&char (GRU) word&char (Transformer) • Subword-levelなモデルよりも性能が良さげ • Character/byte-levelなモデルと⽐較すると安定して性能が良い • 既存のCharacter/word双⽅の情報を⽤いる⼿法と⽐べても性能が良い • CharacterBERTはCNNで⽂字情報から単語表現を作るHierarchicalな⼿法 • CharBERTはGRUで読み込んだ⽂字情報を追加で使うParallelな⼿法 -
実験:GLUE Tasks 2023/08/28 最先端NLP(平岡) 11 subword-level byte-level char-level word&char (CNN)
word&char (GRU) word&char (Transformer) • Subword-levelなモデルよりも性能が良さげ • Character/byte-levelなモデルと⽐較すると安定して性能が良い • 既存のCharacter/word双⽅の情報を⽤いる⼿法と⽐べても性能が良い • CharacterBERTはCNNで⽂字情報から単語表現を作るHierarchicalな⼿法 • CharBERTはGRUで読み込んだ⽂字情報を追加で使うParallelな⼿法 -
実験:GLUE Tasks 2023/08/28 最先端NLP(平岡) 12 subword-level byte-level char-level word&char (CNN)
word&char (GRU) word&char (Transformer) • Subword-levelなモデルよりも性能が良さげ • Character/byte-levelなモデルと⽐較すると安定して性能が良い • 既存のCharacter/word双⽅の情報を⽤いる⼿法と⽐べても性能が良い • CharacterBERTはCNNで⽂字情報から単語表現を作るHierarchicalな⼿法 • CharBERTはGRUで読み込んだ⽂字情報を追加で使うParallelな⼿法 -
実験:人工ノイズに対して頑健 2023/08/28 最先端NLP(平岡) 14 ランダムに10%の ⽂字を削除 Finetuning/evaluationデータに対する ランダムに選択した 20%の⽂字を 1〜3回リピート
各⽂字をランダムに ⼩/⼤⽂字に変換 Subword-levelはノイズにとても弱い -
実験:人工ノイズに対して頑健 2023/08/28 最先端NLP(平岡) 15 ランダムに10%の ⽂字を削除 Finetuning/evaluationデータに対する ランダムに選択した 20%の⽂字を 1〜3回リピート
各⽂字をランダムに ⼩/⼤⽂字に変換 Subword-levelはノイズにとても弱い Character-levelを使う⼿法ははノイズに頑健 提案⼿法は安定して良い -
実験:人工ノイズに対して頑健 2023/08/28 最先端NLP(平岡) 16 ランダムに10%の ⽂字を削除 Finetuning/evaluationデータに対する ランダムに選択した 20%の⽂字を 1〜3回リピート
各⽂字をランダムに ⼩/⼤⽂字に変換 Subword-levelはノイズにとても弱い Character-levelを使う⼿法ははノイズに頑健 提案⼿法は安定して良い • Subword-level (BERT) はノイズにとても弱い • Character-levelな情報を 使う⼿法はノイズによる 性能の下がり幅が⼩さい • 提案⼿法とCANINEは ノイズに特に頑健だが、 提案⼿法のほうが 全体的に性能が良い 性能が良い 性能が悪い ノイズが強い ノイズが弱い -
実験:ドメインシフトにも強い 2023/08/28 最先端NLP(平岡) 18 事前学習データはWikipedia & BookCorpus Biomedical NER Social
Media NER BERTよりは良い Character-levelの 他の⼿法が弱すぎる (なぜ?) -
実験:ドメインシフトにも強い 2023/08/28 最先端NLP(平岡) 19 事前学習データはWikipedia & BookCorpus Biomedical NER Social
Media NER BERTよりは良い Character-levelの 他の⼿法が弱すぎる (なぜ?) Subword-levelなモデルは サブワード分割が壊れると 失敗しがち →提案⼿法は⽂字を⾒てるので頑健 -
まとめ • 偉い点 • ⽂字情報から単語表現を作る⽅法についてちゃんと検討している • Character-levelな⼿法と⽐較している • ⼀部の実験はCharacter-levelの性能が異常に低く評価が怪しいような…? •
⼈⼯ノイズやドメインシフト、NERなど、 この⼿の⼿法で気になる評価をしっかり取り扱っている • 使い道 • 汚いデータでの利⽤を想定したLLMを作るなら役に⽴つかも • Character-levelな⼿法よりは速いらしいです(ほんとに?) • 感想 • これのTransformerバージョン、まだやられてなかったんだ… 2023/08/28 最先端NLP(平岡) 20 ⽂字情報と単語情報を階層的に扱えるTransformer構造を提案 ⽂字情報を扱えるため、Typoや未知語に強い 事前学習済みモデルを作成可能