Skip to page content
SAVRN
Search Plan a project

Open-weight model

smallprint-4b

by Peter Parker Peter-A-P/smallprint-4b

smallprint-4b is an open-weight model from Peter Parker, released under Apache License 2.0. It has 7.9B parameters and a 131,072-token context. At 16-bit it needs about 19.1 GB of GPU memory, which fits on 1x MI300X from $1.85 an hour, at the lowest prices in the SAVRN Index.

Extracts fifteen figures from the primary financial statements of a US SEC 10-K or 10-Q, as JSON. A LoRA fine-tune of google/gemma-4-E4B at revision 411aa17b749aa952df1359d2dcea73917a544d9a, trained on filings with their XBRL facts as the labels.

Parameters7.9B
Context131,072
Weights15.9 GB
Licenseapache-2.0
AccessOpen weights
Monthly Downloads—

Runs On

What it takes to serve smallprint-4b (7.9B parameters): the memory its weights need at each precision, and the cheapest way to rent enough data-center GPUs to hold them.

PrecisionWeightsMemory neededCheapest setupPer hourAlso fits
16-bit 15.9 GB 19.1 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
8-bit 7.9 GB 9.5 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00
4-bit 4.0 GB 4.8 GB 1x MI300X (192 GB)
Vultr
$1.85 1x H100 $1.99 · 1x MI325X $2.00

Memory is the weights at that precision plus 20% for the runtime and a short context; a long context needs more. Prices are the lowest on-demand hourly rates in the SAVRN Index, read Oct 18, 2026.

smallprint-4b on every accelerator the SAVRN Index prices, at every precision

Model Card

By Peter Parker, published under apache-2.0, revision 0d4606a8a570.

Extracts fifteen figures from the primary financial statements of a US SEC 10-K or 10-Q, as JSON. A LoRA fine-tune of google/gemma-4-E4B at revision 411aa17b749aa952df1359d2dcea73917a544d9a, trained on filings with their XBRL facts as the labels. No model graded another model anywhere in producing these numbers. 705 filings. On filings published before the base model's training cutoff it scores 95.1% (94.7% to 95.4%), against 96.9% (96.5% to 97.3%) after it. That difference is the contamination gap, reported and never used as the headline. Non-inferiority field by field, paired on the same filings, a three-point margin per field and Holm's adjustment across the fifteen, decided by the…

Read Peter Parker's full model card

4b-r16-lr2e-4-nall-s0-e1

Extracts fifteen figures from the primary financial statements of a US SEC 10-K or 10-Q, as JSON. A LoRA fine-tune of google/gemma-4-E4B at revision 411aa17b749aa952df1359d2dcea73917a544d9a, trained on filings with their XBRL facts as the labels. No model graded another model anywhere in producing these numbers.

Results, on filings published after the base model's training cutoff

This model openai/gpt-5.6-luna, zero_shot
Fields correct 96.9% (96.5% to 97.3%) 96.2% (95.8% to 96.6%)
Every field right on a filing 66.5% (63.0% to 69.9%) 58.3% (54.6% to 62.0%)
Answers that are not valid JSON 0.0% (0.0% to 0.0%) 0.0% (0.0% to 0.0%)
Cost per 1,000 extractions not costed US$1.01

705 filings. On filings published before the base model's training cutoff it scores 95.1% (94.7% to 95.4%), against 96.9% (96.5% to 97.3%) after it. That difference is the contamination gap, reported and never used as the headline.

The release gate

Non-inferiority field by field, paired on the same filings, a three-point margin per field and Holm's adjustment across the fifteen, decided by the portfolio's release gate (project 03) on this model's outcomes. A field blocks when the gate cannot rule out a three-point loss on it.

Against Verdict Fields that block Record
openai/gpt-5.6-luna block net_income -2.4 (-4.1 to -0.7) ab7d4c1689c8255d
openai/gpt-5.6-sol block cost_of_revenue -1.8 (-3.1 to -0.6), net_income -3.8 (-5.5 to -2.3) 0ec6a1a9abd68bd3

How it fails

Failure Count Per 1,000 fields
Invents a figure the filing does not report 205 19.4
Reads the prior-period column 3 0.3
Drops or misapplies the reporting scale 35 3.3
Reads a loss as a profit, or the reverse 2 0.2
Leaves out a figure the filing does report 26 2.5
Takes a figure from the wrong line 58 5.5
Answer is not valid JSON of the schema 0 0.0

Per field

Field Accuracy (95% CI) Misses by reason
period_end 100.0% (100.0% to 100.0%) none
fiscal_period 98.2% (97.2% to 99.0%) wrong_value 13
revenue 98.6% (97.6% to 99.4%) wrong_value 6, scale 4
cost_of_revenue 86.7% (84.1% to 89.1%) hallucinated 76, missing 14, scale 4
operating_income 97.7% (96.6% to 98.7%) hallucinated 11, scale 4, missing 1
net_income 94.9% (93.2% to 96.5%) wrong_value 30, scale 6
eps_basic 92.6% (90.6% to 94.5%) hallucinated 51, wrong_value 1
eps_diluted 94.3% (92.5% to 96.0%) hallucinated 33, wrong_period 3, sign 2, wrong_value 1, missing 1
shares_diluted 92.8% (90.8% to 94.6%) hallucinated 31, scale 16, wrong_value 3, missing 1
total_assets 100.0% (100.0% to 100.0%) none
total_liabilities 99.6% (99.0% to 100.0%) hallucinated 3
cash_and_equivalents 99.7% (99.3% to 100.0%) wrong_value 1, missing 1
stockholders_equity 99.6% (99.0% to 100.0%) wrong_value 2, scale 1
auditor_name 99.9% (99.6% to 100.0%) wrong_value 1
state_of_incorporation 98.9% (98.0% to 99.6%) missing 8

Quantised formats

Each format is judged against this model's bf16 weights over the same filings, and is published only if the lower end of its paired interval is above -1.0% of field accuracy.

Format Paired delta vs bf16 (95% CI) Worst field Published
gguf-q8_0 +0.0% (-0.1% to +0.1%) eps_diluted -0.3% yes
gguf-q4_k_m -96.8% (-97.2% to -96.3%) period_end -99.9% no

Training

Base google/gemma-4-E4B at 411aa17b749aa952df1359d2dcea73917a544d9a
Method QLoRA, rank 16, alpha 32, dropout 0.05
Learning rate 0.0002, cosine, warm-up 3%
Examples 5,060 training filings, 713 validation
Epochs 1
Seed 0
Prompt fingerprint e015ec5e057be645
Steps 317
Validation loss 0.009492110460996628
Libraries accelerate 1.15.0, bitsandbytes 0.50.2, peft 0.21.0, python 3.13.15, torch 2.14.0+cu130, transformers 5.17.0, trl 1.13.0

Limitations

  • Trained and measured on US SEC 10-K and 10-Q filings under US GAAP. Nothing here says how it does on IFRS statements, on other regulators' filings, or on documents that are not financial statements.
  • Banks and savings institutions are excluded from the corpus, and funds, trusts and pre-revenue companies are underrepresented. A score here says nothing about their statements. See the dataset's datasheet.
  • The input is the located statements, not a whole filing. Given a whole filing, it has to find them first, which this model was not measured on.
  • Every label is an XBRL fact the company filed, checked to be printed on the page. The label error rate from the hand audit is the ceiling on how far any of these numbers can be trusted.

Configuration

Architecture
Gemma4ForConditionalGeneration
Context length (tokens)
131,072
Layers
42
Hidden size
2,560
Feed-forward size
10,240
Attention heads
8
Key/value heads
2
Head dimension
256
Vocabulary size
262,144
Sliding window (tokens)
512
Model type
gemma4

Identity and Version

Repository
Peter-A-P/smallprint-4b
Publisher
Peter Parker
Task
Not stated by the source
Modality
Other
Library
Not stated by the source
Parameters
7.9B parameters
Languages
sec-filings
Revision
0d4606a8a57001ed74118979d0152dcff3d2fa1d
First published
2026-09-30
Last updated
2026-10-03

Files and Weights

10 files, 15.9 GB in total. The weights are 1 file totalling 15.9 GB in safetensors.

Weights1 file · 15.9 GB
Configuration4 files · 7.9 KB
Tokenizer2 files · 32.2 MB
Documentation1 file · 5.3 KB
Other1 file · 18.6 KB
Repository1 file · 1.6 KB
Every file
FileTypeSizeSHA-256
model.safetensorsWeights15.9 GB c294e018b7d5
config.jsonConfiguration5.4 KB —
generation_config.jsonConfiguration93 B —
merge.jsonConfiguration705 B —
processor_config.jsonConfiguration1.7 KB —
README.mdDocumentation5.3 KB —
chat_template.jinjaOther18.6 KB —
.gitattributesRepository1.6 KB —
tokenizer.jsonTokenizer32.2 MB 12bac982b793
tokenizer_config.jsonTokenizer1.5 KB —

License and Download

License
apache-2.0
Access
Open weights, no gate
Download size
15.9 GB
Download from Peter Parker

Released by Peter Parker through its official repository on Hugging Face. Read the license.

Built From

Memory Requirements

PrecisionWeights in memory
As published15.9 GB
16-bit15.9 GB
8-bit7.9 GB
4-bit4.0 GB

Weights only, from the published parameter count; the key-value cache and runtime add to this.

Questions About smallprint-4b

How much GPU memory does smallprint-4b need?

About 19.1 GB at 16-bit and 4.8 GB at 4-bit: the weights (7.9B parameters) plus a working margin. A long context needs more.

What is the cheapest GPU to run smallprint-4b on?

At 16-bit, 1x MI300X from $1.85 an hour; at 4-bit, 1x MI300X from $1.85 an hour, at the lowest on-demand prices the SAVRN Index lists.

Can I use smallprint-4b commercially?

Yes. smallprint-4b is released under Apache License 2.0. The Apache License 2.0 is a permissive open-source license. It permits commercial use, modification and redistribution. It requires keeping the license and copyright notices and any NOTICE file, stating significant changes, and it includes an express patent grant from contributors.

What is smallprint-4b's context length?

131,072 tokens, from the maximum position embeddings in its published configuration.