ACL2023論文ざっと読み
Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (ACL2023)で気になった論文とそのメモ。
- Pre-trained Language Models Can be Fully Zero-Shot Learners
- Multi-CLS BERT: An Efficient Alternative to Traditional Ensembling
- Self-Adaptive In-Context Learning: An Information Compression Perspective for In-Context Example Selection and Ordering
- Cold-Start Data Selection for Better Few-shot Language Model Fine-tuning: A Prompt-based Uncertainty Propagation Approach
- Small Pre-trained Language Models Can be Fine-tuned as Large Models via Over-Parameterization
- Mixture-of-Domain-Adapters: Decoupling and Injecting Domain Knowledge to Pre-trained Language Models’ Memories
- Adaptive and Personalized Exercise Generation for Online Language Learning
- Distill or Annotate? Cost-Efficient Fine-Tuning of Compact Models
- Downstream Datasets Make Surprisingly Good Pretraining Corpora
- DrBERT: A Robust Pre-trained Model in French for Biomedical and Clinical domains
- TADA: Efficient Task-Agnostic Domain Adaptation for Transformers
Pre-trained Language Models Can be Fully Zero-Shot Learners
GPT3やGPT4ではZero shotでタスクを解けるが、実はBERTやRoBERTaなどのEncoderモデルも工夫すればZero shotで解けるのでは?という話。
普通だと上図のOriginal inputを入力して[CLS]トークンの出力から予測します。
この研究では、例えばトピック分類タスクの場合、後続のTemplateに答えさせたい内容を[MASK]トークンにして抽出するTemplateを作成します。
Original inputとTemplateを結合してLMに通し、[MASK]に何が入るかを予測させます。
トピック分類の場合SPORTS, SCIENCEなどの分類先のトピックが用意されています。
それごとにword embeddingの類似度から関連した語彙を集めます。
[MASK]が予測したトークンのlogitsについて、各トピックの関連語彙についてaggregationして、一番高い値になったトピックを予測結果とします。
Knowledgeable Prompt-tuning: Incorporating Knowledge into Prompt Verbalizer for Text Classification (ACL2022)とだいぶ近いが...
Multi-CLS BERT: An Efficient Alternative to Traditional Ensembling
普通のEnsembleと違って、CLSを様々な形になるように学習することで、Fine-TuningとInferenceが1回で済む、ということらしい。 EMNLP2020のQuickThought (QT、連続する2文から取った[CLS]の出力のnegative coine similarityを取るらしい)に割と依っている部分がありそう。 BERTのckptから学習を続ける形でマルチタスクをやっていそう。 図が分かりづらくて読む気が進まず、、、
Self-Adaptive In-Context Learning: An Information Compression Perspective for In-Context Example Selection and Ordering
In-Cotext Learning (ICL)において、あんまり似ていないというか役に立たない例をfilter outして、良いのを使おうという話。 SelectionはTopK (embeddingで近いもの)、RankingはMinimum Description Length (MDL)が良いらしい。 LLM時代にだいぶ必要となりそうなものなので、MDLについては勉強したほうが良さそう。
Cold-Start Data Selection for Better Few-shot Language Model Fine-tuning: A Prompt-based Uncertainty Propagation Approach
labeledデータがないcold-start時には、labelの分布などもわからないためbias等問題が発生しやすい。 それを解決するPATRONを提案。 さらに、情報量の多いサンプルを抽出するプロンプトベースの不確実性を伝播させる手法と、多様性と情報量のバランスを確保するpartition-then-rewrite (PTR)ストラテジーを提案。
各ラベルについて推定された確率が高いk個ずつのサンプルを取ってきておいて、そこから語彙の各単語について[MASK]に対して予測されやすい確率のバイアスの分布的なものを求める。 それを用いて入力に対する不確実性を表すエントロピーを算出できる式(論文中ではeq.5)を求められる。 サンプルxに対してk近傍(KNN)の距離を用いて不確実性と距離を考慮した式に修正する。 などと、不確実性とKNNを利用した距離をmixした式を構築して、距離が近すぎず不確実性も低いようなサンプルを取ってくる(という話のはず)。
Small Pre-trained Language Models Can be Fine-tuned as Large Models via Over-Parameterization
Fine-tuningのときだけLMをscaling upする。FFNでLoRAの逆(rank rを大きくする)的なこと。 精度は上がっているが、大きな上昇という感じはしない。
Mixture-of-Domain-Adapters: Decoupling and Injecting Domain Knowledge to Pre-trained Language Models’ Memories
TransformerのFFNにdomain用のadapterをくっつける FFNなのは、FFNに知識が蓄積されるから(introの2段落頭)。 adapterは2種類:domain用とtask用。 2.4の MoEの参考文献が多分参考になるので後で読む。
Stage 1では今までのpre-trainingコーパスに加えてDomain-specific knowledge (タスクのターゲット)を用いて学習する。 Domain-specific knowledgeのlossは普通のMLM loss。 old domainのFFNからのlossは、Domain Adapterと元のFFNの距離を小さくするためのloss。
Stage 2ではlabel付きのデータセットで学習するため、task-adapterとMoA Gateを追加して学習する。 task-adapterは各layerのタスクspecificな知識を学習し、MoA GateはDomain adapterの出力と元のFFNの出力をconcatして元のFFNの出力の形に合うようにlinear projectionする。
Adaptive and Personalized Exercise Generation for Online Language Learning
英語の学習をテーマに、生徒の知識レベルや難易度を予測しながら、excerciseを生成するタスクを解く。 Knowledge TracerとExcercise Generatorを順に更新していくところがELECTRAっぽい。 実問題を扱いつつ定式化が丁寧。
Distill or Annotate? Cost-Efficient Fine-Tuning of Compact Models
タイトルの通り大規模モデルからの蒸留と、アノテーションのどちらがよりコスト最適か?という話。 より効率的な推論のために蒸留するとのことだが、フロントエンドとか速度を要求されない限り大きいモデルのまま使えば良いような、、、 結論としては一部アノテーションしてそれ以降は蒸留するのが良いとのこと。
Downstream Datasets Make Surprisingly Good Pretraining Corpora
self-pretrainingは、下流タスクのコーパスで事前学習すること。 TAPTは下流のタスク以外のデータセットも入っているから違うらしい。 ELECTRAとRoBERTaで実験、ただcomputing resource的にハイパラがかなり小さめに設定されている。
TAPTとoffshelf(事前学習の元のコーパスで事前学習)はTAPTの方が良さそうに見えるが確実な傾向ではなかった。 self-pretrainingがoffshelfに比べて比較的良かった(これも全部ではないが平均するとoutperform)。 また、self-pretrainingとoffshelfをensembleしても多少よくはなる。 なお、ensembleの際はtemperature scaling (Guo et al., 2017)を用いている。
DrBERT: A Robust Pre-trained Model in French for Biomedical and Clinical domains
French domain-specific RoBERTa。 コーパスとモデルの公開がメイン?これで通るんだと思ってしまった、、
TADA: Efficient Task-Agnostic Domain Adaptation for Transformers
adaptationのためにembeddingだけをretrain。 embeddingのアンサンブルとして、単純平均やattention (meta-embedding)を比較。 tokenizerが変わったときの統合の仕方も3種提案 (Table 1)。ただこれはWordPieceでしか使えないことに留意。