Adaptive wafer inspection (corrected design)

Status (2026-10-26): this repository is being reset. Earlier files here described a GRU-DQN stack whose headline “0.96–0.97 robustness” numbers do not survive baseline comparison on the released simulator (random sampling matched the reported catch rates; several “robustness” tests only edited the agent’s belief map). Those files have been removed so visitors are not confused by the old build.

This card documents the current system: map completion + greedy acquisition, with one model copy per production line and optional continuous fine-tuning. Training code, best weights, and per-line copies stay private. Public material here is evidence (protocol + numbers), not a runnable product.

What the system does

Instead of inspecting every die on a wafer (or following a fixed sample plan), the system chooses the next die from what it has already seen on that wafer. Goal: catch defective dies with fewer inspections.

Three pieces:

  1. Map-completion model — from a few inspected dies, estimates where remaining defects are likely (edge rings, scratches, clusters, etc.).
  2. Acquisition rule — greedy selection on the completed map (and cost-aware stopping when the fab sets inspect/miss costs).
  3. Per-line copy — a cheap fine-tune of the pooled model on recent lots from one production line, optionally updated as new lots arrive, with a safety check that rolls back a bad update.

Data used so far: public WM-811K patterned wafer maps. To simulate lines, maps of the same product are grouped in lot order; early lots train, later lots evaluate. No customer fab data is in this repo.

Headline results (public WM-811K only)

Metric b90 = fraction of dies that must be inspected to catch 90% of defective dies (lower is better). catch@10 / @20 = share of defective dies found at a 10% / 20% inspection budget (higher is better).

Mixed real patterned maps (239 wafers, fixed protocol)

Policy b90 catch@10 catch@20
Greedy baseline 0.816 0.201 0.362
Pooled map-completion 0.803–0.805 ~0.22–0.23 ~0.37
Per-line fine-tune (~20 lots / ~500 wafers) 0.788 0.268 0.419

Per-line fine-tuning beat the pooled model on 14 of 16 simulated lines (sign test p ≈ 0.004).

Continuous per-line updates (prequential, held-out lots)

Scoring each block before the copy trains on it:

Policy b90 Notes
Static per-line fine-tune (ft20) 0.786 Baseline for the stream
Continuous copy (uniform or ~20-lot half-life) 0.779–0.780 Better on 14 of 16 lines vs ft20 (p ≈ 0.004)

What did not help in these runs: wider nets, longer fine-tunes, ensembles, L2-to-base, or last-layers-only updates. Gains so far are modest. The clearest lever is more real line data; the method is not yet validated on private fab maps.

Adversarial validation (relative to greedy / random on the same wafers)

Pre-registered PASS: b90 ≤ greedy + 0.01, catch@10 ≥ 2× random, catch@20 ≥ greedy − 0.01.

Policy Cases Pass
Pooled map-completion 37 19
Per-line copies 18 14

Holds: clean real maps; moderate sensor miss / false-alarm (and both) on real maps.
Weak spots: rotated handling, new tool hotspots, extreme background (often still better b90 than greedy, fails the tight catch bar). That is exactly what partner fab maps would stress-test.

What is (and is not) published here

Published Kept private
This README and result tables Best pooled and per-line weights
Evaluation metrics / protocol description Training recipes and hyper-parameters
Non-learning baselines (random, greedy) Synthetic-generator calibration
Honest failure cases from the suite Update-safety thresholds as tuned
Link to WM-811K (not re-hosted) Any real fab / partner maps

License for this card and any evaluation harness released with it: CC-BY-NC-4.0 (non-commercial evaluation). Commercial use requires a separate agreement.

Collaboration

Research collaboration inquiries (anonymized wafer maps for validation; NDA available): contact via the author profile on this Hub page. We are especially interested in patterned pass/fail or defect maps with lot order — not recipes, process parameters, or designs.

Changelog

  • 2026-10-26 — Repo cleared of the prior GRU-DQN build and manuscript claims. Card rewritten for the map-completion + per-line design with v6/v8/v9 public numbers.
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support