Study Notes / 2026 ・ No.04
Laya覚書
判定モデルを、自分で持つということ
公開
この回で答えること
Q2 の結論を先に言うと、「土台を作るのは速い。効かせるのは速くない」です
前回とりあげた Jev の公開から3日後、
Laya というオープンソースの判定モデルが出ました。
経緯と、学習のしくみと、置き場所の話をまとめます。
3日で出たオープンソース版
Laya は ConvAI Innovations が Apache 2.0 で公開した判定モデルです。Jev と同じく文章を書かず、はい/いいえ・選択肢・スコアを確率で返します。違いは重みが配られていることで、手元で動かせて、自分のデータで学習し直せます。
| チェックポイント | 土台 | パラメータ | 文脈長 | 特徴 |
|---|---|---|---|---|
| laya | ModernBERT-large | 421M | 512 | 英語向け |
| laya-multilingual | mmBERT-base | 322M | 1024 | 100言語以上・約2倍速 |
| laya-typed-decisions | ModernBERT-large | 421M | 1024 | 業務判定向けに追加学習済み |
第3回で書いたとおり、Jev は $0.042 / 100万入力トークンの API です。Laya は課金がない代わりに、GPU と運用と学習の手間を自分で持ちます。同じ「判定モデル」でも、引き受けるものがまるで違います。
誰が先だったのか ── Q1 の答え
Laya の開発元 ConvAI Innovations の CEO、Nandakishor M 氏は、「自分は1年半前からこれをやっていた」と主張しています。まず事実を並べます。
2本の論文は実在し、いずれも Jev の公開より前のもの
| 時期 | 内容 |
|---|---|
| 2025.03 | arXiv:2503.23303「SalesRLAgent」── 商談の成約確率を、文章ではなく確率としてリアルタイムに出す強化学習モデル |
| 2025.09 | arXiv:2510.01237「Confidence-Aware Routing」── 生成する前に確信度を見て、ローカル生成・検索・大きいモデル・人へ振り分ける |
| 2026.09.15 | TypeSafe AI が Jev を公開 |
| 2026.09.18 | ConvAI Innovations が Laya を公開 |
確かに、「文章ではなく確率を返す」も「確信度で振り分ける」も、Jev の公開より1年以上前に同じ人物が論文として出しています。第3回で「賢い if 文」と紹介した考え方の部品は、先に世に出ていたわけです。
ただし「この種のモデルを最初に提唱した」と言い切れるかは別です。1本目は営業の成約確率、2本目は生成前のルーティングで、どちらも型つき判定モデルという枠組みそのものではありません。Laya のモデルページ自体も Jev の公開後に作られています。
そもそも System 1 / System 2 という言い分けは認知科学の枠組みで、どちらの発明でもありません。同じ時期に同じ着想が別々に出てくるのは、この分野ではよくあることです。先行研究が実在することと、模倣があったことは、別の話です。後者は主張であって、確かめられた事実ではありません。TypeSafe 側はこの件に公に応じていません。
経緯として面白いのは、オープンソース側が論文・重み・学習データを出しているという点です。検証できる形で出ているからこそ、次章以降のように中身を確かめられます。
どう訓練されているのか ── Q2 の前半
Laya の学習で押さえるべきは三つです。土台・仕掛け・報酬。
① 土台 ── ゼロから作っていない
Laya は既存の公開エンコーダ(ModernBERT-large など)から始めています。しかも 第1回で扱った GPT 系=左から右へ書くモデルではなく、BERT 系=前後を同時に見る双方向エンコーダです。文章を書く必要がないのだから、書くための構造も要りません。
② 仕掛け ── 選択肢の数だけ穴を開ける
選択肢ごとに置いた穴に、その選択肢らしさが集まる
state と質問を並べ、選択肢の数だけ [MASK] を置きます。双方向エンコーダは各穴の位置に「そこに入るのはどれくらいもっともらしいか」を集めるので、1回の前向き計算で複数の質問にまとめて答えられる。これが速さの正体です。第1回・一章の「一語ずつ」の繰り返しが、そもそも存在しません。
③ 報酬 ── 正直な確率に点を与える
学習は RLCD(較正された判断のための強化学習)。当たり外れだけでなく、確率が正直かどうかを採点します。使われているのは対数スコア・球面スコア・ランク確率スコアの組み合わせで、いずれも盛っても薄めても損をする性質を持つ採点法です。
「0.9 と言ったら本当に9割当たる」を作りたいなら、正解したかどうかだけを見てはいけません。自信の申告そのものを採点する。判定モデルの学習が普通の分類器の学習と違うのは、ほぼこの一点です。
公表されている学習量は7,313更新・1エポック・約1.96時間。桁を間違えているように見えますが、そうではありません。土台がすでにあるからです。
「簡単」だったのか ── Q2 の後半
土台を作るところまでは、確かに速い。既存のエンコーダに2時間ほど追加学習すれば形になります。ただし出てきたものは、そのままでは判定器ではありません。
公開されているのは3番目まで。4番目は使う側が引き受ける
素のモデルは、多数派を答え続けるより弱い
モデルカードに書かれている素のチェックポイントの精度は 0.362。同じ評価の多数派ベースライン(すべて最多ラベルで答える)は 0.461 です。つまり何も考えずに一番多いラベルを返したほうが当たる。開発元自身が「Laya は特化させるための速い土台であって、ゼロショットの判定エンジンではない」と明記しています。
確信度も同じです。出荷時の期待較正誤差(ECE)は 0.466。確率としてほぼ機能していません。温度を合わせ直すと 0.081 まで下がりますが、その作業は使う側の仕事です。
いちばん怖いのは、確信度が「分からない」を教えてくれないことです。英語版のチェックポイントにクメール語を入れた測定では、正解率 0.000、平均確信度 0.952。51言語を通しても平均確信度は 0.885 を下回りません。読めていないときほど自信満々になるので、言語やドメインの振り分けは前向き計算の前にコード側で決める必要があります。
使う側が引き受ける作業
- ラベル付きデータを数千件用意する ── ここがいちばん重い
- 開発元のノートブックで追加学習 ── 無料GPU 2枚で約4時間
- 温度の再フィット ── 質問型と選択肢数の組ごとに当てはめ直す
- 選択肢は20個以下に抑える設計にする(増えると目に見えて落ちる)
- 言語・文字種で使うチェックポイントを振り分ける Router を前に置く
つまり、「3日で出た」のは土台であって、判定器ではありません。モデルを作る部分は確かに軽くなりましたが、重さは消えたのではなくデータと較正の側へ移った、というのが実態だと思います。
数字は誰が測ったか
この件でいちばん勉強になったのは、同じモデルの数字が出どころによって別物になるということでした。
| 出どころ | typed-decisions の精度 | ECE | レイテンシ |
|---|---|---|---|
| Laya 公式サイト | Laya 0.766 / Jev 0.727 | Laya 0.081 / Jev 0.246 | Laya 32.8ms / Jev 236〜276ms |
| Laya モデルカード | 素 0.362(多数派 0.461) | 出荷時 0.466 | README では 38.4ms |
| 第三者の比較 | 77択では Laya 0.425 / Jev 0.870 | Jev 0.144 / Laya 0.213 | バッチなら1問あたり約7ms |
ECE は出どころによって優劣が逆転しています。精度も、選択肢が77個ある課題では立場が入れ替わる。前回 Jev の「193.6倍速い」がベンダー自社評価だと書きましたが、オープンソース側の数字も同じように自己申告です。
採用を決めるときはモデルカードの数字のほうを見ること。宣伝用の記事は都合のよい条件で測られています。そして最後は自分のデータで測り直す。この分野では、これ以外に確かめようがありません。
ローカルに置くべきか ── Q3 の答え
「軽いからローカル」と考えたくなりますが、判断軸はもう少し具体的です。まず費用から。
交わるのは月5,260万件あたり。ざっと毎秒20件の判定
ある試算では、1判定800トークン・東京リージョンの T4 を1枚・運用0.2人月という前提で、損益分岐点は月5,260万件でした。これを下回るなら API のほうが安い。問い合わせの振り分け程度の量では、まず届きません。
ただし費用は軸の一つでしかありません。Laya の場合、そもそも自分のデータで追加学習しないと使えない。重みを手元に持つことが前提の設計なので、費用の計算より先に「育てる体力があるか」で決まります。
ローカルが効く条件
- データを外に出せない ── 医療・金融・行政など。これは量に関係なく効きます
- オフラインで完結させたい ── 重みを一度落とせば、通信なしで動きます
- 遅延の下限を下げたい ── 往復のネットワークが消えます
- 同じ判断を大量にくり返す ── 全取引の不正検知、UGC の常時監視など
- ラベル付きデータが手元にある ── 追加学習の材料がすでにあるなら、持つ意味が出てきます
手元でどれくらい動くのか
Apple Silicon 向けの Core ML 版では、M3 Max の Neural Engine で P50 4.98ms、1判定あたり 0.154 ジュール。同じ機械の MLX 版に比べて速度は1.39倍ですが、電力は2.78倍良いという結果が出ています。バッテリー駆動の端末で常時判定させるなら、この差のほうが効きます。
ただし Neural Engine 版は合計96トークンが上限です。state をそこに収める設計が要ります。Node.js から ONNX Runtime で動かす実装もあり、置き場所の選択肢自体は広がっています。
結局どうするか
④ が現実的だと思います。API で動くものを先に作ると、そのログがそのまま追加学習のラベルになります。順番として素直です。
結 — 一枚まとめ
- Laya は Apache 2.0 のオープンな判定モデル。Jev の3日後に公開。重みが手元に来るのが違い。
- Q1:先行研究は実在し、Jev より前。ただし枠組みそのものの提唱とまでは言えず、模倣は主張であって確かめられた事実ではない。
- 速さの正体は、選択肢ごとに置いた穴を双方向エンコーダが1回で埋めること。
- 学習の肝は 正直な確率に点を与える採点法(対数・球面・ランク確率スコア)。
- Q2:土台は約2時間で作れる。しかし素のモデルは多数派ベースライン以下で、重さはデータと較正へ移っただけ。
- 数字は出どころで逆転する。モデルカードを見て、最後は自分のデータで測る。
- Q3:ローカルの決め手は軽さではなく、データを外に出せるか・量・育てる体力。迷うなら API で作ってから持ち帰る。
参考
- Laya — 公式サイト(チェックポイントとベンチマーク)
- arXiv:2503.23303 — SalesRLAgent(2025年3月)
- arXiv:2510.01237 — Confidence-Aware Routing(2025年9月)
- Qiita — Jevのオープンソース版Layaが出た(ゼロショット検証)
- Zenn — Layaの数字を一次情報3つで突き合わせてみた
- DEV — Jev vs Laya: The Same AI Idea, One Closed and One Open
- Flowtivity — Laya benchmarked honestly
- Laya-CoreML の実測(Apple Neural Engine)
- note — 買うか自前か、損益分岐点の試算
Laya覚書 — 全六章 / 2026.09