receipt-qwen25vl-3b-korie-lora

LoRA adapter for Korean retail receipt information extraction, fine-tuned from Qwen/Qwen2.5-VL-3B-Instruct on a KORIE-aligned receipt schema.

Update

This repository was updated on 2026-06-18 with a fresh LoRA trained from the base model, not from the previous adapter.

Main changes:

  • Switched the target schema to korie_receipt_ie.v2.
  • Removed fields that KORIE does not label, such as business registration, card approval, masked card number, payment method, account tail, and category.
  • Kept KORIE receipt fields: merchant, address, phone, receipt number, transaction date/time, subtotal, tax, discount, tip, total, currency, item barcodes, and line items.
  • Lightly cleaned item names to remove duplicated numeric price/barcode fragments where possible.
  • Expanded LoRA target modules from q_proj,v_proj to q_proj,k_proj,v_proj,o_proj,gate_proj,up_proj,down_proj.

Training

  • Base model: Qwen/Qwen2.5-VL-3B-Instruct
  • Adapter: LoRA, r=16, alpha=32, dropout 0.05
  • Dataset: KORIE-only converted SFT set
  • Train/eval split: 408 train, 135 validation
  • Epochs: 3
  • Effective batch: 8
  • Quantization during training: 4-bit QLoRA

Final training summary:

  • Train loss: 7.432
  • Final eval loss: 6.771
  • Final eval mean token accuracy: 0.125

Small generation smoke eval on 5 validation examples:

  • Valid JSON rate: 0.80
  • Scalar field accuracy: 0.65

Expected JSON Schema

Use this schema in the user prompt:

{
  "schema_version": "korie_receipt_ie.v2",
  "merchant_name": "string|null",
  "merchant_address": "string|null",
  "merchant_phone_number": "string|null",
  "receipt_number": "string|null",
  "transaction_date": "YYYY-MM-DD|null",
  "transaction_time": "HH:MM:SS|null",
  "subtotal": "number|null",
  "total_tax": "number|null",
  "total_discount": "number|null",
  "tip": "number|null",
  "total": "number|null",
  "currency": "string|null",
  "item_barcodes": ["string"],
  "items": [
    {
      "item_name": "string|null",
      "quantity": "number|null",
      "unit_price": "number|null",
      "total_price": "number|null"
    }
  ],
  "field_status": {
    "missing": ["string"],
    "uncertain": ["string"]
  }
}

Known Limitations

The adapter is still not fully stable for long item lists. Some receipts can trigger repeated item generation and invalid JSON if max_new_tokens is too large. For production use, apply JSON parsing/repair and consider generation settings such as a moderate max_new_tokens cap and repetition_penalty.

This adapter is trained for KORIE-style retail receipts. It is not intended for bank transaction detail screens, payment app screenshots, or account/category classification without additional labeled data.

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

Model tree for hoin1218/receipt-qwen25vl-3b-korie-lora

Adapter
(254)
this model

Collection including hoin1218/receipt-qwen25vl-3b-korie-lora