Instructions to use fukayatti0/jev-japanese-judgment with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use fukayatti0/jev-japanese-judgment with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
fukayatti0/jev-japanese-judgment
LiquidAI/LFM2.5-1.2B-JP-202606 をバックボーンに、文脈と候補群から型付きの判定+確率を直接返す
「Jev」スタイルの判定モデル。自己回帰的な文章生成の代わりに、lm_head を
候補ごとにスコアリングするカスタムヘッド(cross-encoder型)に差し替えている。
アーキテクチャ
- バックボーン: LiquidAI/LFM2.5-1.2B-JP-202606 (凍結、LoRAで適応)
- ヘッド: 各候補を
[context][question][candidate_i]としてエンコードし、 最終トークンのhidden stateをMLPでスコア化、候補間でsoftmaxを取って 確率分布を直接出力する(テキスト生成なし)
使い方
標準の transformers アーキテクチャではないため、AutoModelForCausalLM 等
では読み込めない。以下のリポジトリのコードを使うこと:
https://github.com/fukayatti/jev-japanese-judgment
from eval.run_eval import load_model_from_checkpoint, predict
from data.convert.schema import JevExample
model = load_model_from_checkpoint("<このリポジトリをダウンロードしたパス>", "")
result = predict(model, [
JevExample(
id="example",
source_dataset="manual",
context="",
question="日本の首都はどこ?",
candidates=["大阪", "東京", "京都", "名古屋"],
label=1,
task_type="commonsense_qa",
)
])
print(result)
学習データ
fukayatti0/jev-japanese-judgment (JCommonsenseQA / chABSA-dataset / JSNLI をJev形式に変換し、LLM拡張・ source_dataset間のリバランスを行ったもの)
評価結果 (未使用データ1200件)
学習に一度も使っていない分割で評価している(JCommonsenseQA validation / chABSA test / JSNLI dev、 各タスク最大400件)。chABSAのtestは文単位の分割のため、同じ企業文書の別文が学習に含まれる可能性がある。
| 指標 | 値 |
|---|---|
| Accuracy | 0.9217 |
| ECE (Expected Calibration Error) | 0.0145 |
| Brier score | 0.1179 |
| NLL | 0.2225 |
| タスク別 accuracy | 値 | n |
|---|---|---|
| commonsense_qa | 0.9175 | 400 |
| nli | 0.9225 | 400 |
| sentiment | 0.9250 | 400 |
参考: 学習に使ったデータの一部を抜き出した評価では accuracy 0.938 / ECE 0.0114 と、未使用データより 高く出る。学習データと重なるため、未知データでの性能の目安には使えない。
ライセンス
- コード: MIT (https://github.com/fukayatti/jev-japanese-judgment)
- ベースモデル: LFM Open License v1.0 (LiquidAI/LFM2.5-1.2B-JP-202606 より)
本リポジトリはLoRAアダプタと追加ヘッドの差分のみを配布しており、 ベースモデルの重みそのものは含まない。
量子化版(ローカルPC/CPU向け)
GPU無しのローカルPC向けに、per-channel動的int8量子化をかけたモデルを
quantized/model.pt として同梱している。LoRAはバックボーンへマージ済みで、
量子化された重みを含むモデル全体を torch.save でpickle化したもの
(量子化Linear層のパックされたパラメータはstate_dictでの再構築が煩雑なため)。
import torch
from huggingface_hub import hf_hub_download
path = hf_hub_download("fukayatti0/jev-japanese-judgment", "quantized/model.pt")
model = torch.load(path, weights_only=False, map_location="cpu")
model.eval()
もしくは、Hubからダウンロード後にその場で量子化する方法でも同じ結果になる (起動のたびに量子化する分だけ少し遅い):
python -m scripts.ask --device cpu --quantize --question "..." --candidates "..."
評価結果 (per-channel動的int8量子化、学習データと重なる評価用サンプル200件)
未使用データでは測っていない。絶対値は過大だが、bf16(同じサンプルで0.970)との比較には使える。
| 指標 | 値 |
|---|---|
| Accuracy (overall) | 0.8950 |
| ECE (Expected Calibration Error) | N/A |
| Brier score | N/A |
| NLL | N/A |
| タスク別 accuracy | 値 | n |
|---|---|---|
| commonsense_qa | 0.8889 | 81 |
| nli | 0.8734 | 79 |
| sentiment | 0.9500 | 40 |
フル精度(bf16、同じサンプルで0.970)より約7.5ポイント低い。同じサンプルで測ったGGUF版(0.955〜0.970)のほうが
精度が高いため、ローカル実行にはGGUF版(下記)を推奨する。
試行錯誤の詳細は scripts/ask.py の load() docstringと qat.py を参照。
GGUF版 (llama.cpp / CPU向け)
gguf/ にllama.cpp用のGGUFを置いている。llama-embedding --pooling last で最終トークンの
hidden stateを取り出し、head.npz の小さなMLPヘッドを計算する(torch/transformers/peft不要)。
推奨: gguf/jev-*.gguf(LoRAマージ済み、1ファイルで完結)
未使用データ1200件(JCommonsenseQA validation / chABSA test / JSNLI dev)での評価。 bf16(PyTorch、約2.3GB)は accuracy 0.922 / ECE 0.0145。
| ファイル | サイズ | Accuracy | ECE | Brier | NLL |
|---|---|---|---|---|---|
| gguf/jev-Q4_0.gguf | 664MB | 0.918 | 0.0210 | 0.1216 | 0.2287 |
| gguf/jev-Q4_K_M.gguf | 698MB | 0.915 | 0.0183 | 0.1239 | 0.2345 |
| gguf/jev-Q8_0.gguf | 1.2GB | 0.921 | 0.0154 | 0.1176 | 0.2215 |
Q8_0はbf16とほぼ同じ精度。Q4系はaccuracyが0.4〜0.7ポイント下がり、ECEも少し悪化する (n=1200の標準誤差は約0.8ポイントなので、Q4_0とQ4_K_Mの優劣は判別できない)。
別ファイル版(gguf/lfm2-base-*.gguf + gguf/jev-lora-f16.gguf、--lora で読み込む)は、
マージ版と同等の精度(学習データと重なる200件での測定値: Q4_0 0.965, Q4_K_M 0.955, Q8_0 0.97)。
使い方は https://github.com/fukayatti/jev-japanese-judgment の scripts/ask_gguf_lite.py を参照。ベースモデルの重みを量子化した
ファイルを含むため、LFM Open License v1.0 が適用される。
- Downloads last month
- 161
4-bit
8-bit
16-bit
Model tree for fukayatti0/jev-japanese-judgment
Base model
LiquidAI/LFM2.5-1.2B-Base