Jev や d1 のような「判断専用」のモデルは、API を呼んで使うものがほとんどです。その中で Laya(Apache-2.0 で公開された、Jev 互換の API サーバーまで付いたエンジン)だけは、重みを手元に置き、完全にローカルで動かせます。ただし Laya の土台は BERT 系のモデルなので、ローカルで動かせる点は BERT と同じで、BERT と同じく、使うには微調整が必要になるのではないかという疑いがあります。そこで、同じ日本語のベンチマークを同じ条件で測り、既存のモデルと横に並べて、どこまで機能するかを調べました。本作業の大半を Claude Code で実行・文書化したものです。何を測るかの判断と、結果の読み取りは筆者が行いました。
結論を先に書くと、微調整をしない Laya の日本語の正解率は、ほかのモデルより大きく下です。ただし、ローカルで動かした応答は 10 ミリ秒台で、API の 1/10 以下でした。
測ったもの
| ベンチ | 内容 | 件数 | 偶然の正解率 |
|---|---|---|---|
| JNLI | 2 つの文の関係(含意・矛盾・中立)を選ぶ | 500 | 33% |
| JCommonsenseQA | 常識を問う 5 択 | 500 | 20% |
| ライブドアニュース分類 | 記事のカテゴリを 9 つから選ぶ | 7,367(全件) | 11% |
並べたモデルは次のとおりです。
- Laya: laya-multilingual(mmBERT-base 322M を土台にした、100 以上の言語向けの版)。微調整はしていません。
- Jev: TypeSafe AI の判断専用モデル(API)。
- d1: Liquid AI の判断モデル(API)。
- Gemini 3.1 Flash-lite、GPT-5.6 Luna: 汎用の言語モデル(API)。思考は切り、温度は 0 にしました。
全モデルで条件をそろえました。1 回の要求に 1 件だけ入れ、同じ項目を同じ順で測っています。要求は次の形です。
{
"model": "laya-multilingual",
"state": {"sentence1": "男性が犬を散歩させている。", "sentence2": "男性が外にいる。"},
"questions": {"relation": {"type": "choice", "instructions": "文1と文2の関係を選べ。",
"criteria": ["entailment", "contradiction", "neutral"]}}
}
Laya は、この Jev 互換の形のまま、手元で起動した laya-serve に送れます。
正解率
| モデル | JNLI | JCommonsenseQA | ライブドア |
|---|---|---|---|
| Laya(微調整なし) | 67.6% | 54.2% | 50.3% |
| Jev | 85.6% | 97.8% | 72.8% |
| d1 | 92.0% | 98.6% | 68.8% |
| Gemini 3.1 Flash-lite | 83.4% | 98.2% | 79.2% |
| GPT-5.6 Luna | 78.6% | 98.2% | 76.4% |
3 つとも偶然よりは上ですが、ほかのモデルとの差は大きく、とくに JCommonsenseQA は、ほかが 98% 前後のところで Laya は 54% でした。同じ項目で Jev と見比べると、JNLI は Jev だけが正解した項目が 145 件、Laya だけが正解した項目が 55 件でした(符号検定で p = 1.5e-10)。JCommonsenseQA は 218 件対 0 件、ライブドアは 2,008 件対 351 件です。
ライブドアの内訳
映画(98%)とスポーツ(94%)は Jev と並びます。一方で、独女通信は 10%、livedoor HOMME は 20% まで落ちます。左の図のとおり、Laya は IT ライフハックと映画に答えを寄せる癖があり、IT ライフハックを選んだ回答は全体の約 30% に上ります。実際の割合は約 12% です。
入力を長くして(最大長を 512 から 8192 に)測り直すと、全体は 50.3% から 52.8% に上がりました。S-MAX は 60% から 77% に上がりましたが、独女通信は 9% のままでした。
応答時間
| モデル | JNLI(中央値) | ライブドア(中央値) | 実行場所 |
|---|---|---|---|
| Laya | 12 ms | 17 ms | 手元のサーバー |
| Jev | 200 ms | 197 ms | API |
| Gemini 3.1 Flash-lite | 925 ms | 1,098 ms | API |
| GPT-5.6 Luna | 843 ms | 869 ms | API |
| d1 | 5,207 ms | 2,896 ms | API |
各 100 件ずつ、同時実行なしで測りました。Laya は通信を挟まない分だけ有利で、この数字は動かす機械の性能にも左右されます。d1 は時間帯によって、同じ項目の応答が 0.4 秒から 5 秒まで変わりました。
同じ入力を 200 回送ると、Laya は 200 回とも同じ答えを返しました。質問を 12 個足しても、答えは 200 回とも変わりませんでした。
まとめ
微調整なしの Laya を日本語にそのまま使うのは、勧められません。Laya の README 自身も、ゼロショットの判断エンジンではなく、微調整のための速い土台だと書いています。API を使わずに手元で済ませたい用途では、自分のデータで微調整してから使う前提になり、この点は BERT を微調整して使う場合と変わりません。ただし、BERT との精度比較は今回測っていないので、微調整した Laya が普通の BERT の微調整より良いかどうかは、この調査では分かりません。一方で、応答が速く、同じ入力に同じ答えを返し、Apache-2.0 で使えることは、API のモデルにはない利点です。
限界
- Laya は微調整せずに測りました。微調整後の精度はこの記事の範囲外です。
- 応答時間は 100 件の中央値で、機械・時間帯・回線で変わります。
出典
- Laya のリポジトリ. https://github.com/NandhaKishorM/laya
- JNLI・JCommonsenseQA: JGLUE. https://github.com/yahoojapan/JGLUE
- ライブドアニュースコーパス. https://www.rondhuit.com/download.html#ldcc

