🤔

結局 BERT 系の日本語大規模言語モデルってどれを使えばいいの?JGLUEベンチマーク非公式まとめ

2023/01/07に公開
4

2022年6月に日本語言語理解ベンチマークJGLUEが公開され、日本語大規模言語モデルの性能比較がより簡単に行えるようになりました。
しかしながら、2023年3月現在、JGLUEの test データやリーダーボード(モデルのスコア成績ランキング)は公開されていません。様々な企業・研究機関が dev データを使ってモデルの性能評価を行っている状況です。

そこで本記事では、現在公表されている dev データのモデルのスコア一覧をまとめてみます。あくまで、JGLUE のリーダーボードが公開されるまでの暫定的な記事としてご覧ください。

注: HuggingFace でアップロードされているモデルのスコアのみ掲載します。


* JCQA = JCommonsenseQA

モデル パラメータ数 MARC-ja JSTS(v1.1) JNLI JSQuAD JCQA
acc Pearson/
Spearman
acc EM/F1 acc
(参考)人間 0.989 0.899/0.861 0.925 0.871/0.944 0.986
Bandai Namco DistilBERT 67M 0.946 0.868/0.821 0.816 0.800/0.880 0.665
Laboro DistilBERT 67M 0.947 0.874/0.827 0.820 0.702/0.873 0.732
LINE DistilBERT 68M 0.956 0.892/0.851 0.889 0.873/0.933 0.761
東北大BERT (base, 文字レベル) 91M 0.956 0.893/0.851 0.892 0.864/0.937 0.718
Megagon Labs ELECTRA (base) 109M 0.963 - 0.921 0.813/0.903 0.856
東北大BERT (base) 111M 0.958 0.909/0.868 0.899 0.871/0.941 0.808
早大RoBERTa (base) 111M 0.962 0.913/0.873 0.895 0.864/0.927 0.840
日本語DeBERTaV2 (base) 111M 0.970 0.922/0.886 0.922 0.899/0.951 0.873
日本語LUKE (base) 133M 0.965 0.916/0.877 0.912 - 0.842
東北大BERT (large) 337M 0.955 0.913/0.872 0.900 0.880/0.946 0.816
早大RoBERTa (large) 337M 0.954 0.930/0.896 0.924 0.884/0.940 0.907
早大RoBERTa (large, 最大入力長512) 337M 0.961 0.926/0.892 0.926 0.918/0.963 0.891
日本語DeBERTaV2 (large) 338M 0.968 0.925/0.892 0.924 0.912/0.959 0.890
日本語LUKE (large) 414M 0.965 0.932/0.902 0.927 - 0.893

注: JSTS(v1.0) にはバグが含まれていたため、現在は JSTS(v1.1) が公開されています。(参考

注: パラメータ数は以下のようなコードで直接得ています。

model = AutoModel.from_pretrained("モデル名")
pytorch_total_params = sum(p.numel() for p in model.parameters())
print(f"Number of parameters: {pytorch_total_params}")

スコアの出典

Discussion

しおたましおたま

記事ありがとうございます。素人考えなのですが、ChatGPTのAPIでJGLUEベンチマークをすることは可能でしょうか?

Kaito SugimotoKaito Sugimoto

こんにちは。JGLUEのタスクのフォーマットにもよりますが、基本的にはOpenAIでAPIが提供されているモデルであれば出来ると思います。
以下の記事も参考にしてみてください。
https://zenn.dev/hellorusk/articles/efb2cd6e5616ee

素人考えですが、

  • zero-shot(何も例を与えない場合)でやるのか?few-shot (いくつか例を与える場合)で評価するのか?
  • 問題をプロンプトに変換する時どのように変換するのか
    で結構正答率が変わると思います。

加えて、ChatGPT や GPT-4 は答えが曖昧で複数考えられる場合、答えを一つに決められない、みたいに回答してしまうことも多いので、「答えを一つに決めるならば〜」みたいな文言を入れるのもいいかもしれません。