Skip to content

Test Set - ConfBench

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: MIT-0

The Test Set - ConfBench extension is an installable Feature Platform extension that deploys the amazon/ConfBench benchmark into Test Studio on demand.

ConfBench takes the 75 verified FCC invoices from RealKIE-FCC-Verified and degrades each one with up to 21 Augraphy noise pipelines, producing 1,346 (document, noise variant) pairs with identical ground truth. That makes it purpose-built for:

  • Confidence calibration — does reported confidence actually track accuracy as input quality degrades?
  • OCR robustness — where does your OCR choice start losing text?
  • Key information extraction under noise — which fields fail first, and how gracefully?

Because the ground-truth schema is byte-identical to realkie-fcc-verified, accuracy on any degraded variant is directly comparable to the clean baseline. That comparability is the whole point of the benchmark.

Why this is an extension, not a pre-deployed test set

Section titled “Why this is an extension, not a pre-deployed test set”

The accelerator pre-deploys four benchmark datasets on every stack deployment. ConfBench is deliberately not one of them:

DatasetSize
RealKIE-FCC-Verified0.08 GB
OmniAI-OCR-Benchmark0.39 GB
Fake-W2-Tax-Forms0.31 GB
DocSplit-Poly-Seq(500 packets)
ConfBench (this extension)32.71 GB

At roughly 42x the combined size of the other three measured sets, deploying it unconditionally would charge every deployment for storage and transfer of a specialist research dataset, and add a long transfer to first deploy. Shipping it as an extension makes the cost opt-in twice — once by installing, once by choosing how much to ingest.

Install from Extensions → Browse catalog in the web UI, or with the feature CLI:

Terminal window
idp-feature-cli deploy --from-code ./feature-platform/confbench-testset \
--host-stack-name <your-stack-name>

Installing downloads nothing. It creates the ingest machinery, the feature UI, and a configuration version — typically under a minute. The dataset moves only when you start a job.

Open Test Set - ConfBench in the Extensions nav. Pick a tier, or select individual variants:

TierVariantsDocumentsSizeTest set id
Clean baselineoriginal750.02 GBconfbench-clean
Light noise+ 3 lightest pipelines2530.31 GBconfbench-light
Representative spreadone per severity band (7)5254.22 GBconfbench-representative
Full datasetall 211,34632.71 GBconfbench
Custom selectionyour choiceshown liveconfbench-custom

Representative spread is the recommended default for calibration work: it samples across the full severity range rather than taking the cheapest variants, which is what you need to observe accuracy decay rather than just accuracy.

Every tier includes original, because degradation is only interpretable against an undegraded control.

The picker shows exact per-variant sizes (measured from the published dataset, not estimated), a running total, and an approximate monthly S3 storage cost before you confirm. Sizes are wildly uneven — original is 0.02 GB while custom15 alone is 7.12 GB — so hand-picking is often much cheaper than a tier.

VariantDocumentsSize
archetype92815 MB
original7522 MB
custom2324105 MB
archetype475116 MB
custom2229128 MB
archetype1075155 MB
archetype220321 MB
custom2175375 MB
custom1675402 MB
custom1975407 MB
archetype775500 MB
custom1875647 MB
custom1375978 MB
custom14751.07 GB
default461.17 GB
custom12751.20 GB
custom20752.04 GB
archetype11755.00 GB
archetype3755.00 GB
custom17755.94 GB
custom15747.12 GB
  1. Wait for the ingest job to reach Completed (progress updates live; the job continues if you navigate away).
  2. Open Test Studio → Run Test Set and select the ConfBench test set.
  3. Configuration version is preselected to confbench-testset-v<version> — the Invoice extraction schema this extension installed. Override it to evaluate a different configuration against the same documents.

Each ConfBench test set records that configuration on its own test-set record (the configVersion field), which is how Test Studio knows to preselect it. The stack-managed benchmark sets instead rely on their config version being named after the test set id; that convention can’t reach extension presets, since the Feature Platform names them <featureId>-v<version>.

Installing creates a Step Functions state machine. Starting a job runs:

  1. Plan — download the dataset’s parquet metadata once (76 KB), filter it to the selected variants, and write a shared row index to S3.
  2. Ingest — a Map state over the selected variants, 4 at a time. Each worker streams its PDFs from the HuggingFace CDN straight into the host’s Test Set bucket via multipart upload, and writes each document’s ground-truth baseline. Workers shard by bytes, not file count, and resume from an offset — so a 7 GB variant splits across several passes while a 0.02 GB one finishes in a single call.
  3. Finalize — count what actually landed in the bucket (rather than trusting counters), consolidate any per-variant failure reports, and register the test set as COMPLETED.

Nothing waits on a CloudFormation response, so a long transfer cannot fail a stack operation. A failed job is retryable and leaves whatever already transferred in place.

Partial failures degrade gracefully: if some documents fail to download the test set is still registered with whatever succeeded, and the failure detail is written to s3://<TestSetBucket>/_confbench_jobs/<jobId>/report.json. A job that transfers nothing at all is marked FAILED.

Use Delete test set in the extension UI to remove an ingested set — every document and baseline, plus its Test Studio record. This is the way to reclaim the storage; uninstalling the extension deliberately leaves ingested data in place (the Test Set bucket is Retain-policied and shared with the host).

Both installing and deleting require the Admin role.

Deploying documents costs S3 storage plus one-time transfer. At S3 Standard list price (~$0.023/GB-month, us-east-1) the full dataset is roughly $0.75/month; the representative tier about $0.10/month; the clean baseline is effectively free. Processing the documents through the pipeline — OCR plus model inference on up to 1,346 documents — will dominate that by orders of magnitude, so size your test runs deliberately (Test Studio’s Number of files field limits a run without re-ingesting).

The host Test Set bucket’s own DataRetentionInDays lifecycle rule applies to ingested documents like any other test data.

The ConfBench deployer was originally contributed as an always-on main-stack dataset deployer in PR #583 by @sujimart. This extension reworks that contribution as an opt-in, subset-able extension; the streaming multipart transfer and ground-truth baseline format are carried over from it.