Pranaam v3
Pranaam produces calibrated name-pattern estimates for Latin-script and Devanagari-script names. It does not observe or establish a person's religion.
Intended use
The model is intended for validated aggregate research, such as measuring possible representation disparities. It must not be used to label individuals, make consequential decisions, determine eligibility, target people, or replace self-identified information.
The runtime returns a calibrated score, an explicit abstention status, script support status, and the immutable model revision. Inputs outside the selected model's supported script are not scored.
Architecture
Version 3 is a compact PyTorch byte-level convolutional model. Parallel convolutions over ordered UTF-8 bytes learn spelling fragments without a whole-word vocabulary. This fixes four limitations of the v1 and v2 architecture: token order was discarded, unseen words shared one unknown token, padding affected the pooled representation, and spelling fragments could not generalize to unseen names.
The original v1 model was trained on complete recorded name strings. Model v2 migrated those weights to newer serialization and runtime formats without retraining. Both therefore shared the same whole-word averaging behavior.
Artifacts use safetensors; metadata files contain architecture, calibration,
abstention, split counts, and evaluation provenance. No raw personal names are
published here.
Data and splits
- Bihar land-record names receive silver binary labels through the recorded caste/community crosswalk. Conflicting labels for the same normalized name are removed.
- English v3 also uses an authorized training partition of directly labelled SEPRI household heads. Survey rows receive greater training weight than the silver land labels.
- Normalized names are assigned to deterministic hash partitions, keeping a name out of multiple train, validation, calibration, and test partitions.
- English calibration uses 13,665 SEPRI rows and its untouched test contains 18,133 different SEPRI rows. Hindi calibration and testing use disjoint grouped land-record partitions.
Evaluation
At a 0.5 decision threshold, before the product's 0.8-confidence abstention rule:
| Model | Test source | Rows | Accuracy | Muslim precision | Muslim recall | Muslim F1 | Brier | 10-bin ECE |
|---|---|---|---|---|---|---|---|---|
| English v3 | SEPRI held-out heads | 18,133 | 97.46% | 90.29% | 82.49% | 0.862 | 0.0205 | 0.0052 |
| Hindi v3 | Grouped land holdout | 152,390 | 98.58% | 94.30% | 93.05% | 0.937 | 0.0116 | 0.0037 |
With the default abstention rule, English coverage is 96.54% and accuracy on retained estimates is 98.54%. Hindi coverage is 97.99% and retained accuracy is 99.18%.
A paired audit recalibrated the released v2 model on v3's calibration partition. V3 improved accuracy by 1.19 percentage points (95% name-cluster bootstrap interval: 0.95 to 1.43), Muslim recall by 15.62 points (13.55 to 17.75), Muslim F1 by 0.086 (0.071 to 0.103), and Brier score by 0.0122 (0.0106 to 0.0139). Muslim precision was 2.04 points lower (-3.44 to -0.67), reflecting v2's more conservative recalibrated operating point.
This comparison supports the complete v3 pipeline on the available SEPRI population. It does not isolate the effect of architecture from changes in training data and calibration. The evaluation partition was held out from parameter fitting and calibration but was inspected during architecture development, so it is developmental rather than pristine confirmatory evidence.
These results do not establish accuracy for every state, script, community, or time period. The Hindi test shares the land-record source used for training, although normalized names are partitioned. Religion labels derived from caste or household records can also be wrong or conceptually incomplete.
Calibration
Scores use positive-slope Platt scaling fitted only on the calibration split.
The English scaler uses held-out SEPRI heads; the Hindi scaler uses a grouped
land-record calibration partition. Calibration parameters and sample sizes are
recorded in each language's metadata.json.
Files
eng/model.safetensors
eng/metadata.json
eng/training-report.json
hin/model.safetensors
hin/metadata.json
hin/training-report.json
Use the released pranaam package rather
than loading tensors manually; the package pins and verifies every artifact.
- Downloads last month
- 32