Configuration Parsing Warning:In adapter_config.json: "peft.task_type" must be a string

🏦 LFM2.5-VL-1.6B — Japanese Financial-Statement Reader (LoRA)

Teaching a 1.6B on-device model to read real Japanese financial statements — from 14% to 86% accuracy.

This is a LoRA adapter for LiquidAI/LFM2.5-VL-1.6B that turns the compact, on-device vision-language model into a Japanese 決算書 / 決算短信 reader: drop in a financial-statement image or PDF, get the key figures back as structured JSON — with zero data leaving the machine.

Why on-device matters: in Japanese banking, a borrower's financials legally can't be shipped to a cloud LLM (APPI / FISC). A model small enough to run on the loan officer's own laptop isn't a nice-to-have — it's the only compliant way to bring AI to credit underwriting. The catch: the stock 1.6B model can't read dense, real 決算短信. This adapter fixes exactly that.

📈 The result: a 6× leap on documents it had never seen

Held-out test = 3 real filings (明治HD / エディオン / カプコン) never used in training, 7 core figures each, graded against EDINET-exact ground truth:

Model Real-doc field accuracy
Base LFM2.5-VL-1.6B 14.3%
+ this LoRA 85.7%

It got there step by step — 14.3 → 28.6 → 38.1 → 52.4 → 76.2 → 85.7% — each jump driven by better data, not a bigger model. On dense filings the base model returns nothing; the fine-tuned model reads the whole statement. What's left is the occasional single-digit slip in a 7-digit number — a precision quirk, not a failure to read.

🧾 What it extracts (as JSON, ¥ millions)

決算期 · 証券コード · 売上高 · 営業利益 · 経常利益 · 当期純利益 · 総資産 · 純資産 · 有利子負債 · 現預金 · 前期売上高 · 前期営業利益 · 営業CF · 投資CF · 財務CF

🚀 Usage

import torch
from transformers import AutoProcessor, AutoModelForImageTextToText
from peft import PeftModel
from PIL import Image

BASE = "LiquidAI/LFM2.5-VL-1.6B"
ADAPTER = "DjTechzz/LFM2.5-VL-1.6B-JP-Financial-Extract-LoRA"

proc = AutoProcessor.from_pretrained(BASE, trust_remote_code=True)
model = AutoModelForImageTextToText.from_pretrained(
    BASE, trust_remote_code=True, dtype=torch.bfloat16, device_map="cuda")
model = PeftModel.from_pretrained(model, ADAPTER).eval()

prompt = ("あなたは財務書類の読み取り専用エンジンです。添付の決算書画像から"
          "売上高・営業利益・経常利益・当期純利益・総資産・純資産・現預金 等を読み取り、"
          "JSONのみを出力。金額は百万円単位の整数。前期/当期が並ぶ場合は当期を採用。")
img = Image.open("kessan.png").convert("RGB")
msgs = [{"role": "user", "content": [{"type": "image"}, {"type": "text", "text": prompt}]}]
text = proc.apply_chat_template(msgs, tokenize=False, add_generation_prompt=True)
inp = proc(text=[text], images=[[img]], return_tensors="pt").to(model.device)
out = model.generate(**inp, max_new_tokens=512, do_sample=False)
print(proc.decode(out[0][inp["input_ids"].shape[1]:], skip_special_tokens=True))

💡 Prefer a one-line load? A merged standalone model is at DjTechzz/LFM2.5-VL-1.6B-JP-Financial-Extract. Runs on a single AMD Ryzen AI / NVIDIA laptop. Pair the JSON with a deterministic ratio engine for an auditable credit memo.

🛠️ How it was trained (no manual labels)

  • LoRA (rank 16, α 32; q/k/v/o + gate/up/down) · bf16 · lr 1e-4 · transformers + peft (no unsloth/triton) · ~30 min on one RTX PRO 5000.
  • Data, fully bootstrapped: thousands of synthetic statements rendered from real EDINET financials (exact labels, incl. a realistic 決算短信 multi-column template) + distillation from Qwen2.5-VL-7B on real IR 短信. Real-data labels were then replaced with EDINET-exact values to scrub teacher noise — which is what unlocked reliable 7-digit reading.
  • Tracked in Weights & Biases.

⚠️ Intended use & limitations

A drafting aid for on-device extraction of standardized Japanese statements to support credit analysis — not a lending decision; verify figures before use. Best on summary-style 短信/決算書; occasional single-digit slips on very large numbers.

🙌 Credit & citation

Created by Ujwal K (DjTechzz on Hugging Face). If it helps your work, please credit it and link back (a ⭐ on the repo is appreciated too!):

Fine-tuned LFM2.5-VL-1.6B (Japanese financial-statement extraction) by Ujwal K — https://huggingface.co/DjTechzz/LFM2.5-VL-1.6B-JP-Financial-Extract-LoRA

@misc{ujwalk2026_lfm25vl_jp_finance,
  title  = {LFM2.5-VL-1.6B — Japanese Financial-Statement Reader (LoRA)},
  author = {Ujwal K},
  year   = {2026},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/DjTechzz/LFM2.5-VL-1.6B-JP-Financial-Extract-LoRA}}
}

📜 License

Derivative LoRA adapter — use is subject to the base model's license (LiquidAI/LFM2.5-VL-1.6B). Built during the Liquid AI × WAY × AMD hackathon (Tokyo, 2026). 🎌

Downloads last month
44
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for DjTechzz/LFM2.5-VL-1.6B-JP-Financial-Extract-LoRA

Adapter
(9)
this model