Instructions to use third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1") model = AutoModelForCausalLM.from_pretrained("third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1
- SGLang
How to use third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1 with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1 with Docker Model Runner:
docker model run hf.co/third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1
llm-jp-4-kappa-32b-a3b-v0.1
llm-jp-4-kappa-32b-a3b-v0.1 は、Third-intelligence が研究開発の一環で試作した日本語・英語対応の Thinking 型大規模言語モデルです。llm-jp/llm-jp-4-32b-a3b-thinking をベースに、
- Reasoning(思考プロセスの生成)能力を強化するための SFT (Supervised Fine-Tuning)
- 数学・コード領域における 強化学習 (Reinforcement Learning) の 2 段階の追加学習を行い、ベースモデルが持つ日本語性能を維持しつつ、推論・数学・コーディング能力の向上を目指しました。
ベースモデルと同様、Mixture-of-Experts (MoE) アーキテクチャ(総パラメータ約 32B / activated 約 3B)を採用しているため、同規模の dense モデルと比較して推論時の計算コストを抑えつつ、高い性能を発揮します。
詳細については技術ブログを参照ください。
モデル概要
| 項目 | 内容 |
|---|---|
| ベースモデル | llm-jp/llm-jp-4-32b-a3b-thinking |
| アーキテクチャ | Mixture-of-Experts (MoE), Thinking モデル |
| 総パラメータ数 | 約 32B |
| Activated パラメータ数 | 約 3B |
| 学習手法 | SFT(Reasoning 強化) + 強化学習(数学・コード) |
| 対応言語 | 日本語 / 英語 |
| 最大コンテキスト長 | 65,536 tokens |
| ライセンス | Apache License 2.0(ベースモデルの条件も継承) |
ベンチマーク
評価には swallow-llm/swallow-evaluation-instruct を使用しました(OpenRouter 経由でモデルが使用できるよう、一部修正を加えました。)
また、OpenRouter でデプロイされているモデルについては、serving しているプロバイダーの設定により量子化などが行われており、本来のフルプレシジョン版から性能が劣化している可能性があります。ただし、評価にあたっては OpenRouter 側の設定で可能な限り高いパフォーマンスとなるよう Exacto の設定を有効にしました。
LLM-as-a-judgeが必要になるベンチマークについては評価モデルにopenai/gpt-4.1を使用しました。(プロバイダーはAzureに固定しています。)
比較対象モデル
| 略称 | モデル ID | 備考 |
|---|---|---|
| llm-jp-4-kappa (本モデル) | third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1 |
本モデル |
| llm-jp-4 | llm-jp/llm-jp-4-32b-a3b-thinking |
ベースモデル |
| gpt-oss-20b | openai/gpt-oss-20b (via OpenRouter) |
|
| nemotron-3-nano | nvidia/nemotron-3-nano-30b-a3b (via OpenRouter) |
|
| qwen3-30b | qwen/qwen3-30b-a3b-thinking-2507 (via OpenRouter) |
サマリー(主要スコア)
太字 は各行の最高スコアを示します。
| ベンチマーク | llm-jp-4-kappa (本モデル) | llm-jp-4 | gpt-oss-20b | nemotron-3-nano | qwen3-30b |
|---|---|---|---|---|---|
| MMLU ProX Japanese (avg) | 0.6724 | 0.6759 | 0.6886 | 0.5740 | 0.7547 |
| MMLU Pro English (avg) | 0.7025 | 0.6956 | 0.7343 | 0.7180 | 0.8038 |
| Japanese MT-Bench (avg) | 0.9339 | 0.9270 | 0.8749 | 0.8900 | 0.8693 |
| English MT-Bench (avg) | 0.9226 | 0.9220 | 0.8899 | 0.9216 | 0.9304 |
| JEMHopQA F1 | 0.6329 | 0.6391 | 0.4737 | 0.2329 | 0.5597 |
| MCLM Math 100 (Japanese) | 0.8788 | 0.8687 | 0.9394 | 0.8081 | 0.9697 |
| GPQA Diamond | 0.5505 | 0.4899 | 0.6364 | 0.5909 | 0.7121 |
| AIME 2024/2025 | 0.4333 | 0.3833 | 0.5667 | 0.3667 | 0.8833 |
Japanese MT-Bench(カテゴリ別)
| カテゴリ | llm-jp-4-kappa (本モデル) | llm-jp-4 | gpt-oss-20b | nemotron-3-nano | qwen3-30b |
|---|---|---|---|---|---|
| coding | 0.9480 | 0.9420 | 0.9340 | 0.9450 | 0.8680 |
| extraction | 0.8730 | 0.8650 | 0.8380 | 0.8030 | 0.8400 |
| humanities | 0.9870 | 0.9770 | 0.8300 | 0.9550 | 0.9540 |
| math | 0.9950 | 0.9800 | 0.9920 | 0.9070 | 0.9470 |
| reasoning | 0.8470 | 0.8310 | 0.8090 | 0.8050 | 0.7590 |
| roleplay | 0.9480 | 0.9340 | 0.8310 | 0.8720 | 0.8130 |
| stem | 0.9670 | 0.9770 | 0.9120 | 0.9610 | 0.9130 |
| writing | 0.9060 | 0.9100 | 0.8530 | 0.8720 | 0.8600 |
| 1st turn | 0.9545 | 0.9520 | 0.9145 | 0.8888 | 0.8930 |
| 2nd turn | 0.9133 | 0.9020 | 0.8353 | 0.8913 | 0.8455 |
| 平均 | 0.9339 | 0.9270 | 0.8749 | 0.8900 | 0.8693 |
English MT-Bench(カテゴリ別)
| カテゴリ | llm-jp-4-kappa (本モデル) | llm-jp-4 | gpt-oss-20b | nemotron-3-nano | qwen3-30b |
|---|---|---|---|---|---|
| coding | 0.9240 | 0.9340 | 0.9040 | 0.8910 | 0.8860 |
| extraction | 0.8590 | 0.8220 | 0.8610 | 0.8430 | 0.8980 |
| humanities | 0.9570 | 0.9800 | 0.9250 | 0.9410 | 0.9600 |
| math | 0.9990 | 0.9990 | 0.9720 | 0.9960 | 1.0000 |
| reasoning | 0.8460 | 0.8260 | 0.7590 | 0.8990 | 0.9030 |
| roleplay | 0.9290 | 0.9360 | 0.8710 | 0.9340 | 0.9090 |
| stem | 0.9910 | 0.9780 | 0.9380 | 0.9410 | 0.9730 |
| writing | 0.8760 | 0.9010 | 0.8890 | 0.9280 | 0.9140 |
| 1st turn | 0.9468 | 0.9368 | 0.9208 | 0.9523 | 0.9515 |
| 2nd turn | 0.8985 | 0.9073 | 0.8590 | 0.8910 | 0.9093 |
| 平均 | 0.9226 | 0.9220 | 0.8899 | 0.9216 | 0.9304 |
MMLU ProX Japanese / MMLU Pro English(科目別)
📊 MMLU ProX Japanese 科目別スコアを開く
| 科目 | llm-jp-4-kappa (本モデル) | llm-jp-4 | gpt-oss-20b | nemotron-3-nano | qwen3-30b |
|---|---|---|---|---|---|
| business | 0.7338 | 0.7326 | 0.7782 | 0.5741 | 0.8238 |
| law | 0.3326 | 0.3472 | 0.3034 | 0.2899 | 0.4067 |
| psychology | 0.6454 | 0.6654 | 0.6654 | 0.5890 | 0.7180 |
| biology | 0.7950 | 0.7880 | 0.7964 | 0.6820 | 0.8522 |
| chemistry | 0.7686 | 0.7712 | 0.8012 | 0.6793 | 0.8640 |
| history | 0.5039 | 0.5223 | 0.5118 | 0.4173 | 0.5984 |
| other | 0.6006 | 0.5898 | 0.5931 | 0.5011 | 0.6656 |
| health | 0.6332 | 0.6332 | 0.6332 | 0.5109 | 0.6594 |
| economics | 0.7370 | 0.7322 | 0.7464 | 0.6351 | 0.8128 |
| math | 0.8586 | 0.8608 | 0.8993 | 0.7631 | 0.9023 |
| physics | 0.7929 | 0.7968 | 0.8075 | 0.6659 | 0.8676 |
| computer science | 0.7512 | 0.7537 | 0.8073 | 0.6634 | 0.8195 |
| philosophy | 0.5050 | 0.5170 | 0.5010 | 0.3928 | 0.5892 |
| engineering | 0.5160 | 0.5222 | 0.5470 | 0.4314 | 0.7379 |
| 平均 | 0.6724 | 0.6759 | 0.6886 | 0.5740 | 0.7547 |
📊 MMLU Pro English 科目別スコアを開く
| 科目 | llm-jp-4-kappa (本モデル) | llm-jp-4 | gpt-oss-20b | nemotron-3-nano | qwen3-30b |
|---|---|---|---|---|---|
| business | 0.7529 | 0.7452 | 0.8137 | 0.7617 | 0.8631 |
| law | 0.4532 | 0.4405 | 0.4142 | 0.4714 | 0.5450 |
| psychology | 0.7306 | 0.7168 | 0.7206 | 0.7556 | 0.7757 |
| biology | 0.8410 | 0.8536 | 0.8536 | 0.8438 | 0.8870 |
| chemistry | 0.7420 | 0.7482 | 0.8269 | 0.7889 | 0.8763 |
| history | 0.6273 | 0.6010 | 0.5906 | 0.6089 | 0.6483 |
| other | 0.6504 | 0.6353 | 0.6461 | 0.6526 | 0.7370 |
| health | 0.6883 | 0.6601 | 0.7237 | 0.7152 | 0.7665 |
| economics | 0.7820 | 0.7761 | 0.7998 | 0.7773 | 0.8483 |
| math | 0.8653 | 0.8564 | 0.9112 | 0.8756 | 0.9445 |
| physics | 0.7852 | 0.7814 | 0.8276 | 0.7921 | 0.8961 |
| computer science | 0.7268 | 0.7341 | 0.8146 | 0.7756 | 0.8439 |
| philosophy | 0.5892 | 0.6132 | 0.6192 | 0.5972 | 0.6854 |
| engineering | 0.5057 | 0.4902 | 0.5944 | 0.5304 | 0.7678 |
| 平均 | 0.7025 | 0.6956 | 0.7343 | 0.7180 | 0.8038 |
使い方
必要環境
- GPU: 推奨 A100 80GB ×2 以上 / H100 80GB ×2 以上(bfloat16・MoE expert parallel 動作時)
- 単一 80GB GPU でも
tensor-parallel-size=1で動作可能ですが、KV キャッシュ確保のため--max-model-lenを下げる必要がある場合があります。
- 単一 80GB GPU でも
- CUDA 12.4+
- Python 3.10+
1. transformers での推論
HuggingFace transformers ベースのパイプラインに組み込みたい場合は、以下のように直接ロードして使用できます。なお transformers から直接生成すると、出力には思考プロセス用の特殊トークン(<|channel|>analysis や <|channel|>final など)がそのまま含まれるため、思考と最終回答を分離して扱いたい場合は前述の vLLM + cookbook 構成を利用するか、出力をパースしてください。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
messages = [
{"role": "user", "content": "日本の宇宙開発の歴史について教えてください。"},
]
# chat_template により思考用プロンプトが付与されます
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt",
).to(model.device)
with torch.no_grad():
output_ids = model.generate(
input_ids,
max_new_tokens=4096,
do_sample=True,
temperature=0.7,
top_p=0.95,
pad_token_id=tokenizer.eos_token_id,
)
generated = output_ids[0][input_ids.shape[-1]:]
print(tokenizer.decode(generated, skip_special_tokens=False))
2. vLLM での推論(推奨)
LLM-jp-4 系のモデルは、独自の Reasoning フォーマット(<|channel|>final などの特殊トークンによる思考プロセス出力)を採用しているため、素の vLLM ではそのまま正しく serve することができません。公式の llm-jp/llm-jp-4-cookbook を利用することが推奨されています。
セットアップ
# 1. vLLM 0.17 以降をインストール
pip install "vllm>=0.17.0"
# 2. LLM-jp-4 cookbook を clone
git clone https://github.com/llm-jp/llm-jp-4-cookbook.git
cd llm-jp-4-cookbook/llmjp4_vllm
vLLM サーバの起動
python example_cli.py serve third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1 \
--host 0.0.0.0 \
--port 8000 \
--served-model-name llm-jp-4-kappa \
--trust-remote-code \
--dtype bfloat16 \
--tensor-parallel-size 2 \
--gpu-memory-utilization 0.85 \
--max-model-len 65536 \
--reasoning-parser llmjp4 \
--enable-expert-parallel
主なオプションの意味:
| オプション | 説明 |
|---|---|
--reasoning-parser llmjp4 |
LLM-jp-4 thinking 用の reasoning parser を有効化。必須 |
--enable-expert-parallel |
MoE の expert parallel を有効化(マルチ GPU で推奨) |
--tensor-parallel-size |
テンソル並列数。GPU 枚数に合わせて変更してください(1, 2, 4, 8 など) |
--max-model-len |
最大コンテキスト長(最大 65,536) |
--gpu-memory-utilization |
GPU メモリ使用率の上限。OOM になる場合は下げてください |
トラブルシュート:
RuntimeError: Already borrowed環境によっては、reasoning parser の初期化時に tokenizer の競合により上記エラーが発生することがあります。その場合は cookbook 内llmjp4_reasoning_parser.pyの以下 2 行を、tokenizer.encode を経由しない形に置き換えてください。# Before self._reasoning_end_prefix = tokenizer.encode("<|channel|>final") self._reasoning_prefill = tokenizer.encode("<|start|>assistant") # After self._reasoning_end_prefix = [9, 2520] self._reasoning_prefill = [10, 12811]
OpenAI 互換 API で叩く
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "llm-jp-4-kappa",
"messages": [
{"role": "user", "content": "整数 a, b が a^2 + b^2 = 50 を満たすとき、(a, b) の組み合わせを全て求めてください。"}
],
"max_tokens": 4096,
"temperature": 0.7
}'
Python (OpenAI SDK) からも同様に呼び出せます。--reasoning-parser llmjp4 を有効にしているため、思考プロセスは reasoning_content フィールドに、最終回答は content フィールドに分離されて返ります。
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
resp = client.chat.completions.create(
model="llm-jp-4-kappa",
messages=[
{"role": "user", "content": "再帰関数を使ってフィボナッチ数列の n 番目の値を返す Python 関数を書いてください。"}
],
max_tokens=4096,
temperature=0.7,
)
msg = resp.choices[0].message
print("=== 思考プロセス ===")
print(getattr(msg, "reasoning_content", ""))
print("=== 最終回答 ===")
print(msg.content)
注意事項
本モデルは 研究目的で公開されているモデル です。出力の正確性・安全性・倫理性は保証されず、事実と異なる内容(ハルシネーション)や不適切な内容を生成する可能性があります。商用利用やミッションクリティカルな用途での使用は想定していません。本モデルの利用により生じたいかなる損害についても開発者は責任を負いません。ライセンスはベースモデル(llm-jp/llm-jp-4-32b-a3b-thinking)の条件も併せて確認・遵守してください。
ライセンス
本モデルは Apache License 2.0 のもとで公開されます。ベースモデル llm-jp/llm-jp-4-32b-a3b-thinking のライセンス・利用規約も併せて遵守してください。
謝辞
- ベースモデルを公開してくださっている LLM-jp プロジェクト
- データを公開してくださっているNVIDIA
- 評価フレームワーク
swallow-llm/swallow-evaluation-instructを公開してくださっている Swallow プロジェクト
をはじめとする皆様に最大の感謝を申し上げます。
引用
@misc{llm-jp-4-kappa-32b-a3b-v0_1,
title = {llm-jp-4-kappa-32b-a3b-v0.1},
author = {third-intelligence},
year = {2026},
howpublished = {\url{https://huggingface.co/third-intelligence/llm-jp-4-kappa-32b-a3b-v0.1}}
}
- Downloads last month
- 80
