Laya:Jevのオープンソース版
Laya the open source version of Jev (laya.convaiinnovations.com)
要約
この記事は、非自己回帰型で構造化スキーマに対する高速な確率予測を行う新しいAIモデルアーキテクチャについて論じています。著者は、この概念を1年前に開発し、論文発表やモデル公開を行いましたが、その後、資金力のあるTypeSafe AI社がJevという類似製品をクローズドソースで発表したと述べています。それに対し、著者は自身の知見を活かし、アーキテクチャ上の限界を改善したオープンソースの「Laya」を発表しました。LayaはJevよりも高速で多言語に対応し、APIコストなしで利用できるとされています。
全文翻訳
Laya:Jevのオープンソース版
現在AI界隈では、非自己回帰型でテキストを生成せず、構造化スキーマに対する光速の確率予測を行う新しい種類のモデルアーキテクチャが話題になっています。
オンラインでのこの盛り上がりを見ると、これまでの努力が認められたような気持ちと同時に、深いフラストレーションも感じます。
私は1年前の2025年3月に、まさにこの分野に取り組みました。数ヶ月にわたるハードワーク、汗、そして眠れない夜を費やしてこれを構築し、arXivに論文を発表し(arXiv:2503.23303)、モデルの重みをHugging Faceにリリースし(sales-conversion-model-reinf-learning)、オープンデータセットを公開し(saas-sales-conversations)、PyPIパッケージを構築し、Redditでアプローチ全体を投稿しました(r/LocalLLaMA discussion)。
その後、2025年9月には、強化学習によってガイドされるスキーマベースの決定のためのフレームワークを形式化した2番目の論文を発表しました(arXiv:2510.01237)。私のシステムにおけるガイドとなる脳は、単なる埋め込みモデルや自己回帰型LLMではなく、常に強化学習でした。
そして2026年9月、TypeSafe AI(OpenAIのChatGPTの共同発明者であるDiogo Almeidaによって設立された)という資金力のあるフロンティアラボがJevをローンチしました。彼らは、あたかも全く新しい科学的ブレークスルーであるかのように、全く同じ非自己回帰型決定コンセプトを提案しました。ただし、技術論文なし、オープンな重みなし、そしてオープンなトレーニングデータセットゼロでローンチしました。
私の以前のモデルは、シーケンス表現上でPPOを使用し、垂直的なセールスコールにおけるターンごとの会話軌跡(0.0から1.0の確率)を出力しました。Jevは、RLCD(Reinforcement Learning for Calibrated Decisions)と呼ばれるものを使用して並列サンプリングを一般化し、信頼度分布とスキーマ選択を水平方向に出力し、入力トークン100万あたり0.042ドルを請求し、典型的な応答時間は約150ミリ秒でした。
恨み続ける代わりに、私は学んだすべてを活かし、古いアプローチのあらゆるアーキテクチャ上の制限を修正し、完全にオープンで水平なSystem 1決定モデルファミリーであるLayaを構築することにしました。
そして、双方向エンコーダー上で適切に構築したため、私たちのモデルは単一GPUで32.8ミリ秒(バッチ処理で7.2ミリ秒/質問)で実行され、Jevよりも6〜8倍高速であり、100以上の言語を完全にサポートし、APIサブスクリプション費用はゼロ、そして100%オープンソースのApache 2.0ライセンスの重みを提供します。
1. コアとなる発見:System 1 vs System 2
すべての最新AIパイプラインには巨大なボトルネックがあります。それは、単純な反射的決定に生成系LLMを使用していることです。
カスタマーサポートチケットが届いたとき、メールが受信トレイに入ったとき、またはAPIにユーザーがプロンプトを送信したとき、通常は単純で構造化された質問に答えるだけで十分です。
- このチケットはどの部門にルーティングされるべきか?
- この受信メールはフィッシング攻撃かスパムか?
- このプロンプトはジェイルブレイクや命令注入を試みているか?
- この問題は順序尺度(0〜3)でどの程度緊急か?
- このクエリはコード実行を必要とするか、単純な事実に基づく回答か?
これらに対して8B、70B、またはフロンティアの生成系LLMを呼び出すのは、完全にやりすぎです。トークンがストリーミングアウトされるのを500ミリ秒から2,000ミリ秒待機し、推論に実質的な費用をかけ、その後正規表現やJSONパーサーを書いて自由形式のテキストからクリーンなラベルを抽出する必要があります。最悪なことに、LLMは幻覚を見て、偽の信頼度を生成するのが大好きです。LLMが"confidence: 0.95"と出力するとき、それは単に自信があるように聞こえるトークンを予測しているだけです。その背後には数学的なキャリブレーションは全くありません。
私たちは、人間の脳のSystem 1のように機能するモデルを必要としていました。つまり、正直でキャリブレートされた確率を持つインスタントな反射的決定であり、標準的な汎用ハードウェアでわずか30〜35ミリ秒しかかかりません。
2. 3つの決定プリミティブ
Layaは、任意の状態(生のテキスト、メール、チケット、またはJSONドキュメント)に対して、単一のフォワードパスで型付けされた質問を評価します。それは3つのプリミティブに依存しています。
- choice(選択): 基準の辞書から1つのオプションを選択します。選択されたキー、すべてのオプションにわたる確率分布、およびキャリブレートされた信頼度スコアを返します。
- score(スコアリング): 状態を順序尺度(レベル0、1、2、...)に配置します。期待されるレベル、ルーブリックランクにわたる分布、および信頼度を返します。
- noul(ノーラ): 0.0から1.0までのキャリブレートされた確率P(true)を返す直接的なブール質問です(P(false) = 1 - P(true)は構築により保証されます)。
出力空間は純粋に確率と数値で構成されているため、モデルはテキストを生成せず、幻覚を見ることはなく、スキーマ違反や不正なJSONの生成は物理的に不可能です。
3. 3つのチェックポイントとバンドルされたハブアーキテクチャ
1つのモデルがすべてのタスクと言語に最適であるとは限りません。私たちは3つの専門化されたチェックポイントをリリースしました。これらは現在、Hugging Face上の単一のリポジトリハブに統合されています。
| チェックポイント | バックボーンエンコーダー | パラメータ数 | コンテキスト長 | 主な強み |
|---|---|---|---|---|
| convaiinnovations/laya | ModernBERT-large | 421M | 512 | 英語テキスト分類、ガードレール、メールトリアージ |
| convaiinnovations/laya-multilingual | mmBERT-base (256k語彙) | 322M | 1024 (最大8k) | 100以上の言語、2.2倍高速、クロスリンガルNLI |
| convaiinnovations/laya-typed-decisions | ModernBERT-large | 421M | 1024 | エージェントの可観測性、カスタマーサービス、請求書処理、セキュリティアラート(精度0.766) |
選択的なサブフォルダダウンロード
ユーザーに3つの別々のリポジトリの管理や2.5GBの結合された重みのダウンロードを強制するのではなく、メインリポジトリconvaiinnovations/layaは3つすべてをバンドルしています。Hugging Faceのallow_patternsを使用すると、LayaのSDKは要求された特定のサブフォルダのみをダウンロードします。
# 英語モデル(約808MB)をダウンロード
agent_en = laya.load("convaiinnovations/laya")
# 多言語サブフォルダ(約647MB)のみをダウンロード(2.5GBバンドル全体ではない)
agent_ml = laya.load("convaiinnovations/laya", subfolder="multilingual")
4. ルーティングが不可欠な理由:マルチスクリプトの現実
51言語でのMASSIVEベンチマーク(20オプション、ランダムベースライン=0.050)での私たちの包括的な調査から得られた最も啓発的な発見の1つは、英語モデルがラテン文字以外のスクリプトでどのように失敗するかでした。
ModernBERT-largeの50,000トークンの英語BPE語彙は、ラテン文字以外のアルファベットを単純に粉砕します。
- クメール語: 精度0.000、平均信頼度0.952。100の質問で1つも正しい決定ができず、約95%の信頼度を示しました。
- アルメニア語: 精度0.050(コイン投げと同等)で、信頼度0.885。
- ヘブライ語: 精度0.060で、信頼度0.964。
- ベンガル語: 精度0.080で、信頼度0.945。
- ヒンディー語: 精度0.100で、信頼度0.941。
これが重要な教訓です:モデル自身の信頼度は、入力スクリプトを読み取れないときに警告を与えません。51言語全体で、英語チェックポイントの平均信頼度は、精度が82%であっても0%であっても、0.885を下回ることはありませんでした。
したがって、信頼度ゲーティングはあなたを保護できません。どのモデルを使用するかという決定は、フォワードパスの前に行われなければなりません。
サブミリ秒のピュアPythonルーティング
Layaには組み込みのRouterが含まれており、22のアルファベット(デーバナーガリー、CJK漢字、キリル文字、アラビア文字、ヘブライ文字、タミル語、タイ語など)にわたる受信テキストのUnicodeスクリプトを検査し、ラテン文字のストップワード分布を分析します。
- 標準的な英語テキスト: 0.09ミリ秒の検出オーバーヘッド。
- デーバナーガリー/インド系テキスト: 0.54ミリ秒の検出オーバーヘッド。
- 大規模な200行のネストされたJSONドキュメント: 0.73ミリ秒の検出オーバーヘッド。
33ミリ秒のフォワードパスと比較して、ルーティングオーバーヘッドは無視できるほど小さい(2%未満)です。そしてRouter(preload=True)を使用すると、すべての必要なモデルがVRAM/RAM内に常駐し、言語が切り替わる際の7〜10秒のコールドスワップペナルティが完全に排除されます。
from laya import Router
# チェックポイントをメモリにプリロードして、インスタントなサブ35ミリ秒ルーティングを実現
router = Router(preload=True)
# 英語 -> 自動的にModernBERT-largeにルーティング
res_en = router.predict({"body": "I was charged twice, please refund."}, questions)
# ヒンディー語 -> 自動的にmmBERT-base(100以上の言語)にルーティング
res_hi = router.predict({"body": "मुझसे दो बार शुल्क लिया गया, कृपया पैसे वापस करें。"}, questions)
# ドメインが既にわかっている場合の明示的なオーバーライド
res_spec = router.predict(state, questions, model="typed-decisions")
5. 直接対決:Laya(ルーティング付き) vs TypeSafe Jev
私たちはLayaをTypeSafe Jevと直接ベンチマークしました。すべてのLayaの数値は実測値です。Jevの数値は第三者の独立した研究(AbdelStark、nibzard)およびTypeSafe AIによって公開されたものです。
| ベンチマーク / メトリック | TypeSafe Jev 1.13.0 | Laya (ルーティング付き) | 利点 / 差 |
|---|---|---|---|
| typed-decisions (2,000件の決定) | 0.727 | 0.766 | +3.9%(0.735の教師シーリングを上回る) |
| AG News (4ラベル) | 0.910 | 0.950 | +4.0% 高精度 |
| DAIR Emotion (6ラベル) | 0.480 (Brier 0.846) | 0.595 | +11.5% 高い(Jevは16%のゼロ確率) |
| キャリブレーションエラー (ECE) | 0.246 | 0.081 | 確率キャリブレーションが3倍良好 |
| レイテンシ P50 (質問1件) | 236 – 276 ms | 32.8 ms | 実行速度が7.8倍速い |
| レイテンシ P50 (質問10件バッチ) | 約1,500 ms (シリアル) | 72.3 ms (7.2 ms/q) | バッチ呼び出しで20倍高速 |
| 利用可能な言語 (> ランダムの3倍) | 公開されたベンチマークなし | 51言語中45言語 | グローバル言語カバレッジ |
| トークン100万あたりのコスト | $0.042 (従量課金API) | $0.00 (セルフホスト) | 完全に無料のApache 2.0 |
| モデル重みとコード | クローズドプロプライエタリAPI | オープンソースsafetensors | エアギャップおよびオンプレミス対応 |
実世界のアプリケーションワークフロー
評価された9つのエンタープライズワークフロー全体で、Layaは本番環境に対応できる意思決定品質を示しています。
- メールスパムフィルタリング (Enron): 精度0.993、F1スコア0.993、ECE 0.013。
- フィッシング検出: 精度0.980、F1スコア0.979、ECE 0.012。
- LLMガードレールとジェイルブレイク (保持されたToxicChat): 精度0.755 – 0.762。50%の選択的カバレッジで、精度は0.931に達します。
- RAGパッセージ関連性フィルタリング: 単一フォワードパスで精度0.657。
- サポートチケットキューのルーティング (10方向): 精度0.522。
6. 正直な限界:Layaの限界
あまりにも多くのAI発表は、その弱点を隠しています。私たちはエンジニアリングの誠実さを信じています。
- 20オプションを超える選択肢で精度が低下: Banking77(77ラベル)でのストレステストでは、Layaは0.425を記録しましたが、Jevは0.870でした。これはアーキテクチャ上の予算制約です。オプションは192-256トークンの
head_max_len予算を共有するため、77オプションでは候補あたり約3〜4トークンしか残りません。推奨事項: 選択スキーマを20オプション未満に保つか、2段階の粗いから細かい階層を使用してください。 - ゼロショット vs ファインチューニング: そのままのベースモデルは、typed-decisionsベンチマークで約0.35(ランダムに近い)を記録します。0.766というスコアは、ベンチマークのトレーニングスプリットでファインチューニングすることによって達成されます。Layaを万能なゼロショットオラクルとしてではなく、専門化するための高速な基盤モデルとして扱ってください。
- 温度キャリブレーション: ベースの重みは生の温度ロジットで出荷されます。ドメイン分布ごとに単一のスカラー温度を適合させると、期待されるキャリブレーションエラーが0.466から0.081に削減されます。
7. クイックスタート:30秒でLayaを実行
pip install laya>=0.3.3
以下は、自動言語ルーティングを備えたマルチスキーマ決定を実行する完全な例です。
import laya
from laya import Router
# プリロードでルーターを初期化(スワップ遅延を回避)
router = Router(preload=True)
# 複雑な状態を定義
ticket = {
"ticket_id": "TCK-8821",
"customer": "enterprise_user",
"subject": "System downtime and billing dispute",
"body": "Our production API has been failing since 6 AM. We lost critical transactions. We demand an immediate SLA refund."
}
# 異なるプリミティブの複数の質問を定義
questions = {
"queue": {
"type": "choice",
"instructions": "Which engineering queue owns this ticket?",
"criteria": {
"infrastructure": "server outages, network downtime, database failures",
"billing": "refunds, SLA credits, invoice disputes",
"security": "breaches, vulnerability reports",
"support": "general customer inquiries"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": ["low priority", "medium", "high priority", "critical blocker"]
},
"churn_risk": {
"type": "noul",
"instructions": "Does the customer threaten to cancel or express severe churn intent?"
}
}
# 単一フォワードパス:すべての質問を同時に評価
res = router.predict(ticket, questions)
print("Routing Decision :", res["routing"]["model"])
# -> english
print("Assigned Queue :", res["answers"]["queue"]["choice"])
# -> infrastructure (confidence: 0.96)
print("Urgency Score :", res["answers"]["urgency"]["score"])
# -> 2.87 / 3.0
print("Churn Risk :", f"{res['answers']['churn_risk']['noul']:.1%}")
# -> 91.4%
8. リソースとコミュニティ
- Hugging Face Model Hub: convaiinnovations/laya (全3チェックポイントを収録)
- ライブインタラクティブスペース: convaiinnovations/laya-demo (ZeroGPUで8つのワークフローと多言語ルーティングをライブで試せます)
- GitHubリポジトリ: github.com/NandhaKishorM/laya (コード、ルーター、再現可能なベンチマークハーネスは
researchブランチにあります) - PyPIパッケージ: pip install laya
- Kaggle 2xT4ファインチューニングノートブック: laya_finetune_typed_decisions_2xT4_kaggle.ipynb (無料のKaggle GPUで約4時間で独自のSystem 1モデルをトレーニングできます)
結論
2025年3月のarXiv論文から今日まで1年間の研究が必要でしたが、コアとなる発見は変わりません。すべてのAI問題が自己回帰型チャットボットを必要とするわけではないということです。
高ボリュームの分類、ガードレール、ルーティング、およびトリアージにおいては、RLCDでトレーニングされた35ミリ秒未満の双方向決定モデルが、プロプライエタリな代替品よりも7.8倍高速な実行、幻覚ゼロ、グローバル言語ルーティング、そして本番コードで実際に分岐処理に使用できる正直な信頼度スコアを提供します。
そして何よりも、コミュニティ全体のために100%オープンソースです。