Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【論文紹介】Efficient Domain Adaptation of Language M...
Search
Kaito Sugimoto
December 27, 2021
Research
0
370
【論文紹介】Efficient Domain Adaptation of Language Models via Adaptive Tokenization
研究室の日本語輪読会で発表したスライドです。
内容に問題や不備がある場合は、お手数ですが hellorusk1998 [at] gmail.com までご連絡お願いいたします。
Kaito Sugimoto
December 27, 2021
Tweet
Share
More Decks by Kaito Sugimoto
See All by Kaito Sugimoto
ChatGPTを活用した病院検索体験の改善 〜病院探しをもっと楽しく〜
hellorusk
0
94
【論文紹介】Word Acquisition in Neural Language Models
hellorusk
0
200
【論文紹介】Toward Interpretable Semantic Textual Similarity via Optimal Transport-based Contrastive Sentence Learning
hellorusk
0
230
【論文紹介】Unified Interpretation of Softmax Cross-Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding
hellorusk
0
410
【論文紹介】Modeling Mathematical Notation Semantics in Academic Papers
hellorusk
0
180
【論文紹介】Detecting Causal Language Use in Science Findings / Measuring Correlation-to-Causation Exaggeration in Press Releases
hellorusk
0
120
【論文紹介】SimCSE: Simple Contrastive Learning of Sentence Embeddings
hellorusk
0
830
【論文紹介】Automated Concatenation of Embeddings for Structured Prediction
hellorusk
0
220
【論文紹介】Assessing Phrasal Representation and Composition in Transformers
hellorusk
0
71
Other Decks in Research
See All in Research
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
11k
MIRU2024_招待講演_RALF_in_CVPR2024
udonda
1
330
最近のVisual Odometryと Depth Estimation
sgk
1
270
第 2 部 11 章「大規模言語モデルの研究開発から実運用に向けて」に向けて / MLOps Book Chapter 11
upura
0
380
20240820: Minimum Bayes Risk Decoding for High-Quality Text Generation Beyond High-Probability Text
de9uch1
0
120
テキストマイニングことはじめー基本的な考え方からメディアディスコース研究への応用まで
langstat
1
120
LLM時代にLabは何をすべきか聞いて回った1年間
hargon24
1
490
秘伝:脆弱性診断をうまく活用してセキュリティを確保するには
okdt
PRO
3
740
Physics of Language Models: Part 3.1, Knowledge Storage and Extraction
sosk
1
950
Composed image retrieval for remote sensing
satai
1
100
医療支援AI開発における臨床と情報学の連携を円滑に進めるために
moda0
0
110
さんかくのテスト.pdf
sankaku0724
0
340
Featured
See All Featured
Music & Morning Musume
bryan
46
6.2k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Code Review Best Practice
trishagee
64
17k
Writing Fast Ruby
sferik
627
61k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Building Applications with DynamoDB
mza
90
6.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Docker and Python
trallard
40
3.1k
Code Reviewing Like a Champion
maltzj
520
39k
It's Worth the Effort
3n
183
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
Transcript
Efficient Domain Adaptation of Language Models via Adaptive Tokenization Sachidananda
et al., SustaiNLP 2021 Kaito Sugimoto Aizawa Lab. M1 2021/12/27 1 / 20
本日の論文 Second Workshop on Simple and Efficient Natural Language Processing
(SustaiNLP 2021) ∗Work done during an internship at Amazon. 2 / 20
どんな論文? • Domain Adaptation に関する論文 (言語モデルを論文やニュース、レビューなどのドメインの異な るテキストでも効果を発揮させるにはどうすればよいか) • 既存の手法と異なり、追加の事前学習を一切行わずに Tokenizer
だけ変更する手法を提案し、評価 • 追加の事前学習を行なった場合のパフォーマンス向上と遜色の ない向上(平均して 97 %)が得られることがわかった 3 / 20
背景: Domain Adaptation 例えば、論文の分野の分類タスクを行いたいが、普通の(Wikipedia な どで事前学習された)言語モデルしかない場合、どうするべきか? 1 高コスト高パフォーマンス: 論文テキストで事前学習されたモデ ルを一から作る
2 中コスト中パフォーマンス: 通常の言語モデルに論文テキストを 追加学習させる (domain-adaptive pre-training: DAPT or task-adaptive pre-training: TAPT) 1 3 低コスト低パフォーマンス: 普通の言語モデルをそのまま使う しかし, 低コスト中~高パフォーマンスな手法がやはりほしい 1Gururangan et al., Don’t Stop Pretraining: Adapt Language Models to Domains and Tasks (ACL 2020) 4 / 20
背景: Domain Adaptation 高パフォーマンスのスクラッチ学習によって得られるメリットとし て、そのドメイン特有の語彙(token)を学べることにあるという観 察がなされてきた. 5 / 20
背景: Domain Adaptation Tai et al, exBERT: Extending Pre-trained Models
with Domain-specific Vocabulary Under Constrained Training Resources 語彙を追加して、追加した部分に対応するモデルの重みだけ追加学習 する 6 / 20
本研究 exBERT のような考え方をさらに突き詰めて、Tokenizer を調整するだ けで上手くいかないかを調べる 筆者らはこれを "Adaptive Tokenization" と呼んでいる 手法として問題になるのは
1 どの語彙を追加すべきか 2 追加した語彙の embedding をどう得るか の 2 点 7 / 20
1. どの語彙を追加すべきか 例えば, 通常のドメインの言語モデルである RoBERTa の Tokenizer は "oboe" という単語を
"ob" と "oe" の 2 つの subword に分解してしまう これは, Tokenizer のアルゴリズムでは, 一定程度高頻度でないと 1 トークンにならないため 一方で, 例えばクラシック音楽に関するコーパスに Domain Adaptation させたい場合は, "oboe" を 1 つのトークンとして語彙に追加させたい 8 / 20
1. どの語彙を追加すべきか 追加語彙決定アルゴリズム 言語モデルが学習された元のドメインのコーパスを S, adapt させた いドメインのコーパスを D と表記する
元のドメインの Tokenizer でそれぞれのコーパスを subword に分割 する. その中で, あるサブワード列 (例)["ob", "oe"])がコーパス C におい て何回出現するかをそれぞれのドメイン(C = S, T)でカウントする (Cs と表記する). 9 / 20
1. どの語彙を追加すべきか 次に, そのサブワード列 s がコーパス C において "どれくらいフレー ズらしいか"
の確率2 を以下の式で計算する PC (s) = Cs Ct ただし t は s の最初の |s| − 1 トークンを表す ["ob", "oe"] の例であれば, 通常ドメインであれば "ob" は ["ob", "ama"] などでも出てくるのでこの値は低い. 一方でクラシック音楽ドメイン であれば "ob" の次はほとんど "oe" なのでこの値は高い. 2サプライザルのようなもの 10 / 20
1. どの語彙を追加すべきか PC (s) が通常ドメイン C = S と adapt
させる対象ドメイン C = D でど のくらい違うかを KL ダイバージェンスで評価する R(s) = DKL (PD (s)||PS (s)) = PD (s) log PD (s) PS (s) この値が大きいトークン列から順に, 1 つのトークンとして語彙に追 加する 今回の実験では元々語彙 50,000 個の RoBERTa に 10,000 個追加 11 / 20
1. どの語彙を追加すべきか ※ transfect: 細胞に核酸を導入する, assays: 試料の存在量や活性を定 量的に測定するための手順, phosphorylation; リン酸化
12 / 20
2. 追加した語彙の Embedding をどう得るか 新しく語彙を定めたら, それに対応する token embeddings も定める必 要がある
exBERT では, ランダムに初期化して, 追加学習の過程で最適化させて いたが, 本手法では学習せずに, 既存の語彙に対応する Embeddings か ら決定してしまう 13 / 20
2. 追加した語彙の Embedding をどう得るか 手法 1: Subword-based initialization 単純に, 既存の
token embeddings の平均としてしまう手法 例えば RoBERTa に "oboe" という語彙を追加させたい場合, "ob" と "oe" それぞれの token embeddings の平均としてしまう 簡単に実装できるが, 追加する単語の意味が各 subword の意味と全く 関係ない時に negative な影響を与えうる 14 / 20
2. 追加した語彙の Embedding をどう得るか 手法 2: Projection-based initialization word2vec のような
non-contextualized な埋め込みの助けを借りる方法 まず, 元のドメインのコーパス s と adapt させたいドメインのコーパ ス t それぞれで word2vec の埋め込み行列を学習させる(Xs, Xt ). 次に Xs から RoBERTa の埋め込み行列 Cs への mapping を学習する (論文では単純な全結合ネットワークを学習させている). その mapping を使って, Xt から Ct を得る. Xt がクラシック音楽ドメインであれば例えば "oboe" の word2vec の埋 め込みがあるので, Ct の方にも "oboe" に対応する埋め込みが得られる 15 / 20
実験 • BioMed, CS, News, Reviews の 4 つのドメインで分類タスクを行う •
元の RoBERTa でそのまま実験した場合や, 追加学習(DAPT)を 行なった場合などと比較 16 / 20
結果 • 全てのタスクにおいて RoBERTa よりも精度向上 • DAPT を適用した場合の精度上昇幅と比べても, 平均して 97%
の 精度上昇を Adaptive Tokenization だけで得られる(ただしタスク において結構ムラはある) • Projection-based initialization はあまり効果がなかった 17 / 20
結果 速度のメリットが大きい 18 / 20
議論 • RoBERTa よりも語彙の多い/少ないモデルでは同じような効果が 得られるのか? • 英語以外の言語では上手くいくのか? • 追加する語彙のサイズはどの程度が調度いいのか? •
PMI を使って追加語彙を決めた方がいいかもしれない 19 / 20
感想 • 語彙を調整するだけでここまで精度が上がるのかということに まず驚いた • Projection-based initialization が average embedding
に比べてそこ まで上手くいっていないのは不思議な気もする • 分類タスクでしか実験を行なっていないが, NER などの方が専門 語彙の知識が要りそうなので影響が出そう 20 / 20