🤔
結局 BERT 系の日本語大規模言語モデルってどれを使えばいいの?JGLUEベンチマーク非公式まとめ
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ベンチマークをすることは可能でしょうか?
こんにちは。JGLUEのタスクのフォーマットにもよりますが、基本的にはOpenAIでAPIが提供されているモデルであれば出来ると思います。
以下の記事も参考にしてみてください。
素人考えですが、
で結構正答率が変わると思います。
加えて、ChatGPT や GPT-4 は答えが曖昧で複数考えられる場合、答えを一つに決められない、みたいに回答してしまうことも多いので、「答えを一つに決めるならば〜」みたいな文言を入れるのもいいかもしれません。
JGLUEで ChatGPT や GPT-4 を評価した記事。
Stability AI による few-shot での各種モデルの評価。