- 前回の記事で試した日本語チャットモデル「ChatNTQ-JA-7B-v0.1」と、そのMoEモデル「LightChatAssistant 2x7B(改称あり)」について、かなり性能が良さそうな感触が得られたので、追加でテストしてみました。
- LLMの日本語チャット性能を測るベンチマークとしては「MT-Bench日本語版(GPT-4測定)」が最も代表的ですが、何度も測定するにはコスト面でヘビーそうなので、代わりにELYZAさんの考案した「ELYZA-tasks-100」を使うことにしました。
- このベンチマークは5点満点の日本語記述問題100問から構成されています。本来は人手で採点しますが、GPT-4採点でも人力評価とかなり高い相関が得られるようです。
ELYZATasks100 測定結果
- 今回はGPT-4-Turbo(0125版)を使って測定しました。APIコストは1件あたり1ドルほど。比較対象にしたのは個人的に日本語性能が高いと感じた小型モデルです。結果は以下のとおりでした。
ベース | Command R | Mistral 7B | Llama-2 7B | ||||
名称 | Command R v01 | LightChat Assistant 2x7B |
ChatNTQ JA 7b | Rakuten 7B Chat | Shisa Gamma 7B | ELYZA 7B Instruct | |
パラメータ | 35B | 35B | 2x7B | 7B | 7B | 7B | 7B |
量子化 | Q8_0 | IQ3_XXS | Q8_0 | Q8_0 | Q8_0 | Q8_0 | Q8_0 |
サイズ (量子化後) |
37.2GB | 13.8GB | 13.7GB | 7.7GB | 7.8GB | 7.7GB | 7.2GB |
ELYZATasks |
3.42 | 3.09 | 3.31 | 3.06 | 2.82 | 2.81 | 2.46 |
標準誤差 | 0.15 | 0.15 | 0.14 | 0.15 | 0.14 | 0.15* | 0.13 |
平均字数 | 194.02 | 196.58 | 273.61 | 240.46 | 108.54 | 297.71 | 243.02 |
- ベンチマーク結果は、個人的な使用感による順位とだいたい一致した印象です。「ChatNTQ-JA-7B」は、やはり7Bクラスのモデルの中ではとても優秀でした(比較した「Rakuten 7B」や「Shisa Gamma 7B」も7Bモデルの中では性能のいい部類です)。
- この「ChatNTQ-JA-7B」と小説生成モデル「Antler-7B」をMoEマージした「LightChat Assistant 2x7B」のスコアはさらに高いです。パラメータ数がはるかに大きい多言語モデル「Command-R 35B」の日本語性能に迫っています。
- なおGPT-4は冗長な回答を高く採点しやすいとよく言われるので、興味本位で出力字数の平均も取ってみました。今回は字数に影響される傾向は見られませんでした(ELYZATasks100では採点基準で説明の丁寧さも評価されるので、字数と相関があったとしても必ずしも問題はありません)。
雑感
- 「LightChat Assistant 2x7B」のチャット性能の高さは、ベースにした「ChatNTQ-JA-7B」の優秀さもありますが、小説生成モデルの「Antler-7B」とのマージがうまく機能している面も大きいようです。
- 「Mixtral 8x7B」や「Qwen 1.5 MoE A2.7B」のように最初からMoEを使って作られたモデルの推論が高効率・高性能なことはよく知られています。一方、MergeKitで作られたコミュニティのMoEモデル(FrankenMoE)は、サイズは大きいけれど体感性能がほとんど変わらないと感じることが多いです。
- しかし「LightChat Assistant 2x7B」は、体感性能でもベンチマークスコアでも明らかにベースモデルを上回っているので、適切な組み合わせでマージするとMergeKit製のMoEでもしっかり効果が得られるようです。
- 面白いので、MoEマージの組み合わせについて引き続き調べてみたいと思います。