🎲

JGLUE dev データのランダムベースラインを求めてみた

2023/06/11に公開

最近 LLM が流行っていることもあり、few-shot で JGLUE ベンチマークを求めている気運が高まっていると思うので、比較用にランダムベースラインを求めてみました。

ちなみに実際に日本語 LLM で few-shot 評価をしている結果はこちらにあったりします。
https://github.com/Stability-AI/lm-evaluation-harness/tree/jp-stable

ランダムベースライン

この記事でのランダムベースラインとは、いくつかの選択肢の中から random.choice(選択肢) で適当に回答を返すシステムを指します。
イメージとしては、学校のテストで鉛筆を転がす感覚に近いと思います。

実装として、sklearn.dummy.DummyClassifier [link] などもありますが、今回はシンプルに python のランダムモジュールを使用しました。

実際に使用したノートブックがこちらです。

https://gist.github.com/Katsumata420/40720652aef56aa9b98d6ca407f34360

ベースライン算出

選択肢を回答するタスク、ということで今回は JGLUE の中でも下記のタスクに対して実施しました(すべて accuracy です)。

  • MARC-ja: positive/negative の極性分類; 2値分類
  • JNLI: entailment/neutral/contradiction の3値分類
  • JCommonsenseQA: 与えられた5択の中から1つ選ぶ

ちなみにこれらのデータセットの統計情報(ラベルの分布など)はこちらの LREC 論文に記載されています。

結果

ランダムベースラインの結果は以下の通りです。
(seed 値を変えて5回実験し、その平均を記載しています。)

MARC-ja JNLI JCommonsenseQA
0.495 0.327 0.192
各 seed の結果
seed MARC-ja JNLI JCommonsenseQA
0 0.498 0.316 0.197
1 0.501 0.324 0.196
2 0.497 0.329 0.188
3 0.482 0.335 0.190
4 0.497 0.329 0.188

few-shot でこれらのタスクを行う場合は少なくともこの値は超えたい...ですね。

Discussion