florin-parser-nano (fine-tune of KDL-Frontier-Parser-nano)

A LoRA fine-tune of KDLAI/KDL-Frontier-Parser-nano (KoreaDeep, 1.2B, Qwen2-VL architecture) that teaches the model to emit inline formatting — **bold**, ~~strikethrough~~, <sup>/<sub> — during text recognition, with the production prompt unchanged. Full attribution to KoreaDeep for the base model and pipeline design. License is AGPL-3.0, inherited from the base.

ParseBench results (full corpus, 2,079 documents, all five dimensions measured)

Correction, 2026-08-21. Maintainer review of ParseBench PR #99 found two defects in our markdown emission (list markers swallowed into bold spans; a heading gate that promoted short sentences ending in .). Both were fixed and both full runs were replayed on identical stored model output with the fixed emission. The table below shows the corrected numbers. Prior reported figures: Overall 76.95/76.89, mean 76.92; Semantic Formatting 71.71/71.66. Net effect of the correction: Semantic Formatting −1.04, Charts −0.14, Content Faithfulness +0.03, Tables and Visual Grounding unchanged.

Dimension This model Base (published) Base (same environment)
Tables 86.14 85.56 85.76
Charts 65.25 63.41 63.69
Content Faithfulness 87.38 87.19 87.18
Semantic Formatting 70.66 66.81 52.42
Visual Grounding 74.15 78.84 74.19
Overall 76.72 76.36 72.65

Confirmation-run variance: two independent full runs: 76.72 and 76.66 (|Δ| = 0.06 overall; max per-dimension |Δ| = 0.12). Reported figure: mean 76.69. Insurance-document subset (384 docs incl. SERFF rate filings, methodology in repo): 77.60 vs 74.77 for the base pipeline measured identically — measured before the 2026-08-21 emission correction; subset re-measurement pending, expect a small downward revision in its formatting component.

The honest comparison is the same-environment column: +4.04 overall head-to-head (mean of two runs; run 1 alone is +4.07). The published-number comparison (+0.33 on the mean) crosses evaluation environments and is reported with that caveat. The formatting score (70.64 mean) exceeds the best open-weight formatting entry on the public board (69.30).

Training

  • Data: 6,678 region-crop→markdown pairs. 2,165 real fragments from SEC EDGAR insurance-carrier filings (bold ground truth derived from filing HTML DOM), 3,313 synthetic rendered fragments (sole source of strikethrough/superscript/subscript; incl. CJK newsprint and Devanagari textures), 1,200 no-styling negatives to teach restraint.
  • Method: LoRA r16 on language attention+MLP only; vision tower and projector frozen; completion-only loss; prompt byte-identical to the production pipeline ("\nText Recognition:\n"). 2 epochs, lr 5e-5, bf16, single H100, ~50 minutes.
  • Why prompting was not enough: four measured prompt variants all scored at or below control — the base model emits markup when asked but marks the wrong spans, and degrades monotonically with any prompt perturbation. Details in the linked method note.

Reproduction

Everything (training loop, data generators, EDGAR harvester, evaluation harness, per-iteration logs) is at: https://github.com/ammoman21/parsebench-open-weight-sota

Downloads last month
87
Safetensors
Model size
1B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for florin-inc/florin-parser-nano

Finetuned
(1)
this model

Evaluation results

  • llamaindex/ParseBench leaderboard
  • Mean View evaluation results
    source
    Pipeline name: florin_parser_nano (provider subclass, run-llama/ParseBench PR #99). Mean of two independent full-corpus runs (76.72, 76.66, delta 0.06), all 2,079 files, five dimensions. LoRA fine-tune of KDLAI/KDL-Frontier-Parser-nano (language layers only) plus markdown-emission patches; production prompt unchanged. Chart LLM normaliser off (LLAMACLOUD_BENCH_LLM_NORMALIZATION=off). Same-environment baseline reproduction of kdl_frontier_nano: 72.65. Reproduction repo: https://github.com/ammoman21/parsebench-open-weight-sota. Corrected 2026-08-21 after maintainer review of PR #99 found two markdown-emission defects (list-marker bold capture, over-permissive heading gate); both fixed and both runs replayed on identical stored model output. Prior row: 76.92.
    76.69 *
  • Table View evaluation results
    source
    Pipeline name: florin_parser_nano (run-llama/ParseBench PR #99)
    86.1 *
  • Chart View evaluation results
    source
    Pipeline name: florin_parser_nano (run-llama/ParseBench PR #99)
    65.19 *