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.
検索別名
主要スペック
- 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:バイト単位で同一のケース | cbjev | Jev |
|---|---|---|
| 英語 15 スイートの平均精度 | 0.741(Laya の最良チェックポイント: 0.710) | このスイート群は未公開 |
| typed-decisions | 0.783(Laya: 0.768) | 0.727(公開値) |
| 平均較正誤差 ECE(低いほど良い) | 0.117(Laya: 0.125) | 0.246 |
| 選択肢並べ替えで答えが反転する割合 | 0.2%(Laya: 7.8%) | 13% |
| 1 設問に 77 選択肢 | 0.620 | 0.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 ステップ
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"]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 本体を実測しておらず、同社の契約はその出力を類似製品の開発に用いることを禁じています。