Jev の代替

cbjev

最終更新日: 2026-10-08

Laya のより高速で較正の良い後継 — ただし GPL という条件付き

結論

cbjev は Laya からのアップグレード経路です。同じアーキテクチャ系で、state のエンコードが設問ごとではなく呼び出しごとに 1 回になり、1 設問 3.0ms、選択肢の並べ替えによる反転率は 0.2%(Laya は 7.8%)です。先に 2 点確認を。ライセンスは GPL-3.0-or-later、そして英語チェックポイントは本当に英語なので、非英語入力は内蔵 Router で多言語モデルへ回す必要があります。

cbjev は Laya から微調整され、その構造的な弱点を 2 つ解消しています。state を設問ごとではなく呼び出しごとに 1 回だけエンコードし、選択肢の並べ替えで答えが変わる割合を Laya の 7.8% から 0.2% に下げました。さらに生態系で最も丁寧な「正直な限界」節を備えています。同時に GPL-3.0 でもあり、それが採用できない製品もあります。

Train a decision model

A small non-autoregressive encoder with decision heads. No text generation at all — the classic classifier shape, rebuilt for natural-language options.

検索別名

cbjevCBJevtomek7667/cbjev0010101010-1/cbjev

主要スペック

Licence
GPL-3.0-or-later(重みは Apache-2.0 の Laya から微調整)
Author
tomek7667
Backbone
ModernBERT / mmBERT、Laya から微調整
Size
チェックポイントあたり約 800MB
Latency
1 設問 3.0ms · 500 トークン文書で 10 設問 11.4ms · 30 設問 31.4ms
Wire format
cbjev-serve が POST /v1/systemone を提供
Install
pip install -e ".[serve]"

cbjev 対 Laya・Jev:バイト単位で同一のケース

cbjev と Laya は同じ RTX 4090 上、15 の英語スイートで並べて測定されました。Jev 列は第三者の公開値です。プロジェクトは TypeSafe API へのアクセスが無く、その旨を明記しています。

cbjev 対 Laya・Jev:バイト単位で同一のケースcbjevJev
英語 15 スイートの平均精度0.741(Laya の最良チェックポイント: 0.710)このスイート群は未公開
typed-decisions0.783(Laya: 0.768)0.727(公開値)
平均較正誤差 ECE(低いほど良い)0.117(Laya: 0.125)0.246
選択肢並べ替えで答えが反転する割合0.2%(Laya: 7.8%)13%
1 設問に 77 選択肢0.6200.870
500 トークン文書で 10 設問のレイテンシ11.4ms(Laya: 75.8ms)ネットワーク越しに 236〜276ms

cbjev を選ぶべきとき

Laya の形が正しいと判断済みで、より速く安定させたいなら cbjev です。呼び出しごとに state を 1 回だけエンコードするのが構造的な変更点です。0.2% という並べ替え反転率は本番で非常に重要で、選択肢リストを並べ替えるリファクタリングが判断を黙って変えないことを意味します。レイテンシの利点は最も痛い場所に効きます。長い文書で 30 設問が 31.4ms、Laya は 172.4ms です。

見送るべきとき

何より先にライセンスを確認してください。GPL-3.0-or-later はクローズド製品にとって現実の制約で、重みは Apache-2.0 の Laya から微調整されているため下流の義務は法務の確認に値します。そのうえで、cbjev は自身が測った 15 スイートのうち 4 つで Laya に劣り、Banking77 の 77 意図を 1 設問に入れると 0.620、英語チェックポイントは文字通り英語で、ドイツ語のプロンプトインジェクション文が最悪の誤りでした。内蔵 Router が非ラテン・非英語を多言語モデルへ送るのはそのためです。

cbjev 導入の 3 ステップ

01まずライセンスを解決する。クローズド製品で GPL-3.0-or-later を使うのは詳細ではなく意思決定です。
02英語または多言語チェックポイントを読み込み、内蔵 Router で言語ごとに振り分ける。ドイツ語・日本語・中国語の入力が黙って精度を落とすのを防ぎます。
03選択肢は 30 件程度以下に保ち、安定性がわずかなレイテンシより重要なら order voting を有効にします。
python / 1 回のエンコードで複数設問
import cbjev

agent = cbjev.load()   # 英語チェックポイント。GPU があれば使用

questions = {
    "department": {
        "type": "choice",
        "instructions": "どのチームが対応すべきか?",
        "criteria": {
            "billing": "請求・支払い・返金",
            "technical": "不具合・障害",
            "sales": "価格・契約",
            "other": "その他",
        },
    },
    "churn": {
        "type": "noul",
        "instructions": "解約を示唆しているか?",
    },
}

state = {"subject": "請求書 #4411 の重複請求",
         "body": "3 月分を二重に請求されています。"}

res = agent.predict(state, questions)
print(res["answers"]["department"]["choice"])
print(res["answers"]["churn"]["noul"])   # P(true)

# 非英語入力:明示的にルーティング
from cbjev import Router
router = Router()
router.predict({"body": "Mir wurde zweimal abgebucht"}, questions)["routing"]
state は呼び出しごとに 1 回だけエンコードされるため、設問を増やすコストは Laya よりはるかに小さくなります。1 設問あたり 30 選択肢以下が推奨です。

cbjev についてよくある質問

cbjev は Laya のフォークですか、別モデルですか?

Apache-2.0 の Laya チェックポイントから微調整されたもので、Laya 本来の重みをそのレイアウトのまま動かすこともできます。ただしライセンスは異なり、cbjev は GPL-3.0-or-later で義務も継承します。商用製品にとっては実質的な違いです。

実際どれくらい速いのですか?

同じ RTX 4090 上のバイト単位で同一のケースで、測定した 10 のレイテンシ場面すべてで高速でした。長文書の 1 設問で 1.5 倍から、文書上の 10 設問で 6.9 倍までです。短いチケット 1 設問は 3.0ms 対 Laya 5.4ms、500 トークンで 10 設問は 11.4ms 対 75.8ms です。

0.2% という順序反転率はなぜ重要ですか?

選択肢の順序はコードの中で安定した要素ではないからです。リストはソート・結合・再生成され、並べ替えで判断が変わると、日常的なリファクタリングが本番挙動を黙って変えてしまいます。cbjev はそれを Laya の 7.8% から 0.2% へ下げ、さらに下げたい場合の order voting も用意しています。

cbjev は何を苦手と認めていますか?

多くを認め、すべて公開しています。15 スイート中 4 つで Laya に劣り、Banking77 の 77 意図を 1 設問に入れると 0.620、ドイツ語のプロンプトインジェクション文に弱く、1 回の呼び出し内で設問同士が影響し合うことがあり、15 スイート中 6 つは訓練分割が訓練データに含まれています。訓練データの混合をベンチマークを見ながら反復した点も明記しています。

出典

本ページの比較数値はすべて第三者の公開値、または公開リポジトリの読解であり、当サイトの実測ではありません。当サイトは TypeSafe Jev 本体を実測しておらず、同社の契約はその出力を類似製品の開発に用いることを禁じています。