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
390
【論文紹介】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
99
【論文紹介】Word Acquisition in Neural Language Models
hellorusk
0
210
【論文紹介】Toward Interpretable Semantic Textual Similarity via Optimal Transport-based Contrastive Sentence Learning
hellorusk
0
240
【論文紹介】Unified Interpretation of Softmax Cross-Entropy and Negative Sampling: With Case Study for Knowledge Graph Embedding
hellorusk
0
430
【論文紹介】Modeling Mathematical Notation Semantics in Academic Papers
hellorusk
0
200
【論文紹介】Detecting Causal Language Use in Science Findings / Measuring Correlation-to-Causation Exaggeration in Press Releases
hellorusk
0
130
【論文紹介】SimCSE: Simple Contrastive Learning of Sentence Embeddings
hellorusk
0
870
【論文紹介】Automated Concatenation of Embeddings for Structured Prediction
hellorusk
0
230
【論文紹介】Assessing Phrasal Representation and Composition in Transformers
hellorusk
0
73
Other Decks in Research
See All in Research
文化が形作る音楽推薦の消費と、その逆
kuri8ive
0
220
ラムダ計算の拡張に基づく 音楽プログラミング言語mimium とそのVMの実装
tomoyanonymous
0
360
博士学位論文予備審査 / Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining
yuukit
1
1.6k
尺度開発における質的研究アプローチ(自主企画シンポジウム7:認知行動療法における尺度開発のこれから)
litalicolab
0
390
打率7割を実現する、プロダクトディスカバリーの7つの極意(pmconf2024)
geshi0820
0
190
クロスセクター効果研究会 熊本都市交通リノベーション~「車1割削減、渋滞半減、公共交通2倍」の実現へ~
trafficbrain
0
340
Human-Informed Machine Learning Models and Interactions
hiromu1996
2
550
コミュニティドライブプロジェクト
smartfukushilab1
0
120
医療支援AI開発における臨床と情報学の連携を円滑に進めるために
moda0
0
140
新規のC言語処理系を実装することによる 組込みシステム研究にもたらす価値 についての考察
zacky1972
1
300
Tietovuoto Social Design Agency (SDA) -trollitehtaasta
hponka
0
3.3k
国際会議ACL2024参加報告
chemical_tree
1
390
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
Writing Fast Ruby
sferik
628
61k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
KATA
mclloyd
29
14k
Adopting Sorbet at Scale
ufuk
74
9.2k
Faster Mobile Websites
deanohume
305
30k
Gamification - CAS2011
davidbonilla
80
5.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Embracing the Ebb and Flow
colly
84
4.5k
A better future with KSS
kneath
238
17k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
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