背景
ドメイン特化型モデルの学習において、アルファベットがつながっていて1文字だけ違っているだけのような、ぱっと見似ている単語でも既存のトークナイザに辞書として登録されておらず、これによってせっかく学習データをたくさん用意しているにもかかわらず、意味的な学習がされず、ただの連続したアルファベットとしての学習がされているのではないかという懸念。
内容
ドメイン適応学習において、そのドメイン固有の単語をトークナイザーに追加し、学習させた
既存研究とその学習方法について以下にまとめた。
巷でよく使われているトークナイザ
トークナイザーの学習元となる大量の生テキストデータから頻出する単語を1つのトークンとして保持し、まれな文字列をより小さな単位に分割して、未知語をなくしつつ語彙サイズを抑制する手法
モデルの入力シーケンスの計算コストはほぼこれが占める。
Qwen3-32B, Qwen3-Coderはtiktokenをいい感じにカスタマイズしたBPE
Byte-Pair Encoding
初期状態では、すべての文字(バイト)を語彙として、データセット内で最も隣接する文字のペアを結合して、新しいトークンとして語彙に追加するプロセスを繰り返す。
ある単語がほかの単語と隣接している確率、共起頻度を計算し、argmaxとなるペアを結合し、新しい記号=トークンとする
推論時はこれらのマージリストをもとに決定論的に行われる。
Unigram Language Modeling
まず、巨大な候補語彙集合から開始し、トップダウン的に最も全体への尤度の低いトークンから削除していくアプローチ。
トークン列の確率は、各サブワードの生起確率の積として独立にモデル化される。
既存研究
Continual Pre-Training for Cross-Lingual LLM Adaptation:
Enhancing Japanese Language Capabilities
日本語LLMの代表格であるSwallow
これは、LLama2-7B, 70Bのモデルを日本語の語彙拡張(32k → 43k〜52k (+11k〜20k)をして、100Bトークンの学習データで学習させている。
ただただ再学習するのではなく、
Llama 2 トークナイザで分割したサブワード,すなわち Llama 2 が学習ずみのサブワードのベクトルの平均で初期化した.
結果、日本語のQAタスクの応答性能の向上が見られた。既存のLLama2よりも性能が良かった
自動要約タスクにおいては、逆に性能劣化が起きた。これは、語彙拡張を行ったことにより、モデル自体がとらえる語彙空間がスパースになったのではないか。
Gold Panning in Vocabulary: An Adaptive Method for Vocabulary
Expansion of Domain-Specific LLMs
むやみやたらにドメイン(医療・法律など)の用語を語彙拡張して、再学習しても精度向上は見られないので、その用語を追加したときの勾配の大きさ=重要度とみなして、追加するべき用語を見極め、最終的にそれらのサブセットを語彙として追加して学習するとうまくいった。
このような勾配に基づく、語彙選定をVEGADという。