0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Jev のような文書分類(System One)をローカルで。精度はどれくらい出るのか?

0
Posted at

Jev は、TypeSafe AI がクラウドで提供している文書分類のモデルです。文章と、選択肢つきの質問を送ると、選択肢ごとの確率が返ってきます。文章は生成しないので、返ってきた答えをそのままプログラムで使えます。TypeSafe はこの種類のモデルを System One と呼んでいます。

たとえば問い合わせの文面を送って「請求・配送・解約のどれの話か」「返金を求めているか」と聞けば、アプリはその確率を見て、担当に振り分けたり、人の確認に回したりできます。

Mac 上の minicpm5-2b が、問い合わせ 20 件を用件・求めていること・気分で分類している様子

Jev と同じ形で答えるオープンなモデルも多く出ています。
これらのモデルはローカルで動かすこともできます。
この分類を Mac の中の小さなモデルでどこまでできるかを Jev と同じ問題で測りました。
クラウドの Jev にどこまで近づけるか。

短い文の問題では、4B サイズのローカルモデルの正解率が Jev と同じ 98.6 % でした。
1 問にかかる時間は 3〜5 秒ほどです。込み入った問題(たとえば長い約款を読む)では、どのモデルも Jev に 17 ポイント以上届きませんでした。

手元のモデルで済めば、

  • 問い合わせの文面を端末の中だけで扱えます
  • オフラインでも動きます
  • API の料金なしで何度でも呼べます

測ったもの

Jev と同じ形の問題を集めた公開ベンチマーク JevBench の、公開問題 231 問を使いました。やさしい問題、ふつうの問題、込み入った問題の 3 段階です。

  • やさしい問題: 「先週注文した荷物がまだ届かない」という問い合わせの用件を選ぶ、など
  • ふつうの問題: 「返金にはレシートと 30 日以内の購入が必要。12 日前に買ったがレシートはない」で返金してよいかを決める、など
  • 込み入った問題: 保険の約款と特約を読んで支払い方を決める、うるう年とタイムゾーンをまたいで保証期間内の届け出かを決める、など

ふつうの問題の文は長くても 100 token 余りです。込み入った問題の文は、長いものだと 3,000 token を超えます。

モデルは、Apple の Core AI で Mac(M4 Max)上に動かした 8 つです。JevBench 自身のプログラムが 1 問ずつ手元のサーバーに問い合わせ、JevBench 自身のコードが採点しました。Jev の結果は JevBench が問ごとに公開しているので、同じ問題で比べられます。

結果

表は、8 モデルのうち 5 つと Jev 1.13.0 です。

ふつうの問題と込み入った問題の正解率。縦線は込み入った問題での Jev の正解率(73.0 %)

モデル ふつうの問題(72 問) 込み入った問題(111 問) ふつうの問題 1 問の秒数 サイズ
apus-decision-v1-4b 98.6 % 55.9 % 5.13 ※ 5.4G
decider-0.8b 83.3 % 41.4 % 0.62 1.2G
qwen3.5-2b-decision 77.8 % 40.5 % 2.76 ※ 2.8G
qwen3.5-2b 75.0 % 44.1 % 1.79 2.8G
minicpm5-2b 70.8 % 45.9 % 0.10 2.5G
Jev 1.13.0(クラウド) 98.6 % 73.0 % — —

ふつうの問題

ふつうの問題で Jev と同じ 98.6 % だったのは、4B の apus-decision-v1-4b です。1.2G の decider-0.8b は 1 問 0.62 秒で答え、正解率は 83.3 % でした。

短い文の分類なら、4B を手元に置けば Jev と同じだけ当たります。これはうれしい結果でした。

込み入った問題

込み入った問題では、どのモデルも Jev の 73.0 % に 17 ポイント以上届きませんでした。

同じ 2B では、分類用に学習した qwen3.5-2b-decision(40.5 %)が、汎用の qwen3.5-2b(44.1 %)を上回りませんでした。差は 4 問分です。

自信のない問題だけ Jev に回す方法も試算しました。Jev との差を 1 ポイント以内にするには、どのモデルも込み入った問題の 74.8 % 以上を回すことになりました。

1 問の時間

込み入った問題で時間のいちばんかかった 1 問は、minicpm5-2b で 1.8 秒、Qwen3.5 系のモデル(表の minicpm5-2b 以外の 4 つ)では最長 218 秒でした。

今の変換では、Qwen3.5 系のモデルはプロンプトを 1 token ずつ読みます。長い文ほど時間がかかります。

同じ文に続けて何問も聞くなら、2 問目からは文を読み直さない仕組み(checkpoint)で、1 問あたり 2.5〜8.1 倍速くなりました。1 問目は今も文全体を読みます。

再現

使ったコマンドは 2 つです。

decide-cli serve --model decider-0.8b --port 8097
# from the JevBench checkout, with OUT set to a folder outside it
python -m jevbench.cli run --tasks datasets/public/hard.jsonl --adapter typesafe \
  --endpoint http://127.0.0.1:8097 --key-env '' --model decider-0.8b \
  --results $OUT/results-hard.jsonl --ledger $OUT/ledger.jsonl \
  --raw-dir $OUT/raw/hard --reserve-usd 0

問ごとの結果、スクリプト、8 モデル全部の数字は、データセット mlboydaisuke/coreai-decision-models-public231 にあります。サーバーは coreai-kit の decide-cli serve です。coreai-kit は、僕がこれらのモデルを Apple のデバイスで動かすために書いている Swift パッケージで、checkpoint はリリース 0.7.1 に入っています。結果の表は、coreai-kit の commit adbc755 と JevBench の commit 2fa63fa(v1.4.0)で測りました。

iPhone 17 Pro の数字は続報で出します。

注

  • 表の割合は正解率です。やさしい問題は、表の 5 モデルとも 97.9〜100 % でした。
  • 表の秒数は中央値です。GPU を他の作業と共有した状態で測りました。※ は 3 つのサーバーが同時に GPU を使った回で、30 問を単独で測り直すと、答えは同じで時間は約半分でした。
  • 表の上から 3 つは分類用に学習したモデル、qwen3.5-2b と minicpm5-2b は汎用のモデルをそのまま使っています。
  • Jev の値は、JevBench が公開している結果から同じ問題について計算し直したものです。問題は同じで、動かした環境は違います。
  • 残り 3 モデルを含む全部の数字は、上のデータセットにあります。
  • 自信のない問題だけ Jev に回す試算には、JevBench が公開している Jev の問ごとの結果を使いました。回す基準は採点と同じ問題で選んだので、この方法に有利な数字です。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?