tokimoa/jp-jitsumu-calc-qwen3-4b
040
jp-jitsumu-calc-qwen3-4b
日本語業務の「多段計算」に特化してtokimoaがファインチューニングした4Bモデルです。営業日をまたぐ期日計算と、複数書類の突合・集計という、小型モデルが苦手だった2ジャンルを狙い撃ちしています。4bit量子化+アダプタ同梱で約2.1GB、Apple Silicon(MLX)で動作します。GGUF版は jp-jitsumu-calc-qwen3-4b-GGUF を参照してください。
実測(学習と分離したテストデータ)
tokimoaの日本語実務ベンチマーク(jitsumu-bench)の該当ジャンル・各40問での正答率です。チェックポイント選択は別途の検証セットで行い、テストは最終1回のみ実行しています。
何をしたか
DeepSeek-V4-Flash(MITライセンス・利用規約が蒸留を明示的に許可)に約4,000問を解かせ、最終解が正しいと機械検証できた軌跡3,658本のみを学習データにしました(正解はすべてプログラム生成のため既知)。出力は「段階的な計算過程→検算→最終行のJSON」の型を学習しています。
使い方
from mlx_lm import load, generate
repo = "tokimoa/jp-jitsumu-calc-qwen3-4b"
model, tokenizer = load(repo, adapter_path=repo) # アダプタ同梱
q = """あなたは日本企業の経理・総務担当者です。以下の指示を読み、規程に従って正確に計算し、答えを求めてください。
# 指示
2026年3月10日(火)に検収が完了した案件について、社内規程では「検収完了日の翌営業日を1営業日目として、5営業日後」を支払処理の期限としています。土曜・日曜および当社の休業日は営業日に数えません。この期間の当社休業日は次のとおりです: 2026年3月13日(金)。支払処理の期限(年月日)を求めてください。
# 出力形式
最終的な答えのみを、次のJSON1行で出力してください(説明文・単位・カンマは付けない)。
{"answer": <答え>}
- 日付を問われた場合: "answer" は "YYYY-MM-DD" 形式の文字列にすること(例: {"answer": "2026-03-02"})
- 金額・個数・数値を問われた場合: "answer" は数値のみにすること(カンマ・「円」「箱」等の単位を付けない。例: {"answer": 35000})"""
prompt = tokenizer.apply_chat_template(
[{"role": "user", "content": q}], add_generation_prompt=True, tokenize=False)
print(generate(model, tokenizer, prompt, max_tokens=512))
# → 計算過程と検算のあと、最終行に {"answer": "2026-03-18"}計算過程と検算を書いてから最終行にJSONを出す設計なので、最終行をパースすれば機械処理に組み込めます。プロンプトは上記の定型(役割文+「# 指示」+「# 出力形式」ブロック)をそのまま使ってください。 学習をこの形式で行っているため、形式を変えると精度が下がります。
データと帰属
- 学習データ: プログラム生成した業務計算問題(正解既知)に対する DeepSeek-V4-Flash の検証済み解答軌跡(DeepSeek Open Platform利用規約は蒸留を明示的に許可)
- ベース: Qwen/Qwen3-4B-Instruct-2507(Apache-2.0)の4bit MLX量子化(mlx-community)
Developed by tokimoa — データを外に出さないAI活用を支援しています
