🐡

日本語対応 LLM(13B 規模)の, 行間を読むようなかしこさがあるか試したメモ(現状 Qwen 14B がベスト)

2023/11/21に公開

https://zenn.dev/elyza/articles/5e7d9373c32a98

ELYZA が理想とするモデルは、複雑な指示に従った上で、単に言い換えの正誤判定問題を解くのではなく、ユーザーの意図や困り事を汲んで役に立つ AI アシスタントとして振る舞うモデルです。

せやせや. 😸
行間を読むようなかしこい LLM ほしいよね...

とりま 2023/11/20 時点での日本語対応 LLM で試してみました!
いくつかはすでに上記記事で試されているので, 今回は以下を試しました.

7B 以下(10B 未満)も試しましたが, 行間を読むほどのかしこさはなく, 13B 規模で飛躍的にかしこさが上がる感じだったので, 13 B 規模のを選んでいます.

LLM-jp 13B instruct

1. 彼は比類のない陸上選手だ。
2. 彼は比較的に良い陸上選手だ。
1の文が難しいので2の文に直そうと思っているのですが、これってあってますか?
### 回答:2<EOD|LLM-jp> 

うーん... 素っ気ないね...

PLaMo 13B instruct

以下はタスクを説明する指示で、文脈を説明した入力とペアになっています。要求を適切に補完するよう応答を書いてください。

### 指示:

1. 彼は比類のない陸上選手だ。
2. 彼は比較的に良い陸上選手だ。

1の文が難しいので2の文に直そうと思っているのですが、これってあってますか?


### 応答:
それはいいですね。「彼は陸上スポーツの比類ない選手である」は、正しくは、「彼は陸上スポーツで比類のない選手で
ある」と言います。「比類なき」というのは、「他の人」と対比されるものになる。その人は「陸上スポーツで比類のな
い」ものになるというわけです。

ちょい行間を読むかしこさの片鱗は見えたかも?

Qwen14b-chat

こちらは qwen.cpp(llama.cpp variant)で f16 量子化版を動かしました.

https://github.com/QwenLM/qwen.cpp

https://zenn.dev/syoyo/articles/84948e6cb9436f

./build/bin/main -m qwen14b-f16-ggml.bin -p "1. 彼は比類のない陸上選手だ。
2. 彼は比較的に良い陸上選手だ。

1の文が難しいので2の文に直そうと思っているのですが、これってあってますか?"

1の文は「彼は比類のない陸上選手だ」という意味で正しいです。この表現は、「彼は他の選手に比べて格段に優れている」という意味を表します。
一方、2の文「彼は比較的に良い陸上選手だ」という表現は、「彼は他の選手に比べて優れている」という意味になりますが、その程度が多少控えめ であると言えます。そのため、1の文よりも強調した表現ではありません。
したがって、2の文を1の文に直すのは適切ではありません。ただし、2の文自体は正しい表現です。

ほほー! Qwen かしこい!

量子化

ただ q4 あたりに量子化だといくらかかしこさ落ちました(それでもほかの日本語 LLM よりよい結果をえられる)
また, Qwen7B もあまりかしこくはありませんでした.

まとめ

Qwen 14B(Chat) ちゃんが行間を読むほどのかしこさを見せました!
2023/11/20 時点では Qwen 14B 一択ですね.

とはいえ今回は一問だけでの評価です. 複数の指示でどうなるか, また定量的・定性的に評価することも必要でしょう.

おまけ. Yi 34B

https://huggingface.co/01-ai/Yi-34B

Qwen よりかしこいらしい.

4bit AWQ で 3090(24GB)で動きそう.

1. 彼は比類のない陸上選手だ。
2. 彼は比較的に良い陸上選手だ。

この2文は、同じ意味を表しているので、2の文に直すことはできます。ただし、「比類のない」という 表現は、「誰にも負けない」「最高の」といった意味を持っているので、「彼は比類のない陸上選手だ 」は、彼が最も優秀な陸上選手であるという意味になります。

一方、「比較的に良い」という表現は、「様々な人や物を比較して、彼は良いと思われる」という意味 になります。この表現は、相対的な評価をしているので、「彼は比較的に良い陸上選手だ」は、彼が他 の選手と比べて良いと考えられているという意味になります。

どちらの表現も、彼が優秀な陸上選手であるということを表していますが、具体的にどの程度の評価を しているかによって、表現の微妙な違いが出てきます。

直した後の文は、以下のようになります。

2. 彼は比較的に良い陸上選手だ。

この文は、彼が他の選手と比べても、良い点が多いという意味になります。

直した文は同じになっちゃたけど, なかなかええね.
日本語データセットでファインチューンしたらいい感じになりそ?

TODO

  • GPT4 や llama2 70B あたりを ground truth として, 定量的, 定性的に自動で評価するしくみを作る
    • evol-instruct への道?
  • RWKV-world 13B で試す.
    • Web で試せる 3B は微妙だった
  • llama2 70B, Japanese StableLM 70B で試す
  • Qwen の性能がよい理由を調べる(pretrain 時点でかしこいのか, finetuning でかしこさを獲得しているのか)

Discussion