Godey+'23 Headless Language Models: Learning without Predicting with Contrastive Weight Tying (arXiv 2023)

 

まとめ

  • 通常の言語モデルは全語彙に対して softmax を計算するので遅い / head 分のメモリを食う.
  • 出力時の softmax → 入力層の単語埋め込み と 最終層の文脈化単語埋め込みの を近づける Contrastive Loss に置き換えることで計算を効率化.(LM head を取っているので,"headless" language model と呼ばれている)
    • 対照学習の正例・負例ペア
      • 正例:(入力層単語埋め込みi, 出力層文脈単語埋め込みi)
      • 負例:in-batch 内の他の単語埋め込み
    • 実は weight tying からインスパイされている
      • weight tying:入力単語埋め込みと head の projection のための行列に同じものを使用
      • なので,Vanila LM では最終層単語埋め込みと入力層単語埋め込みの内積を取る → Softmax → Cross Entropy で loss を計算していることになる
      • headless lm (提案手法) ではここの softmax, corss entropy の部分を取っ払って,直接 contrastive loss を採用している
    • 今までも LM に contrastive loss をくっつける話は存在したが,今回は LM objective を完全に取っ払っている点が新しい
  • Computation budget を固定したときに提案手法が Vanila LM よりもかなり効率的に良い性能を出せることを示した.GLUE で +2 point 程度の gain を確認.
 

感想

  • めっちゃ好みのタイプの論文だった.理論・応用のバランス感覚がめっちゃ良い.
    • [A Mutual Information Maximization Perspective of Language Representation Learning] で language modeling は implicit に mutal information maximization をやっているという話だったが,それを直接やっちゃう + 計算性能の面から見てもリーズナブルだよね,というオチを付けているのが偉い.
    • 発想自体も negative sampling / NCE みを凄く感じた
  • 実験がかなり精緻だった.読み中「それってフェアな比較になっていないのでは...?」という点が次章なり Appendix なりで回収されていて イイネェー!となった
  • 関連研究もかなり勉強になった.generation の文脈で contrastive learning が最近使われているのは知らなかった,あとで読む.
  • 計算性能だけではなく,性能自体が向上している理由の考察が面白かった.
    • 同義語 A, B を考える.通常の Softmax だと A を観測した場合は語彙空間で Softmax を取るので,同義語の B 自体も埋め込み空間で離してしまう.
    • 一方で,今回の in-batch negative を使うような contrastive learning だと,B が in-batch に出てこない場合は無理やり引き離すことがないので,性能向上に寄与しているのではという考察だった.
    • 栗田感想:Softmax だと単語の分布を考えないで全単語を一様に扱っているが,in-batch negative が入ってくると頻度分布が自然に考慮されてイイネ!に近い?