PsiDDx β Clinical Differential-Diagnosis Model (gemma-3-4b-it + LoRA)
A compact LoRA fine-tune of google/gemma-3-4b-it that makes a small model produce calibrated,
common-first, structured differentials β trained with Adaption Labs' AutoScientist for the
AutoScientist Challenge (Healthcare).
This model card is a study in honest measurement. The scored result is real; the external
benchmark below is reported transparently, including a tradeoff most fine-tunes never check for.
Results β read both metrics
| Metric |
What it measures |
Base gemma-3-4b-it |
PsiDDx (ours) |
| AutoScientist win rate (in-house healthcare eval) |
Preference β is the adapted answer preferred over base? |
26% |
74% |
| NEJM-CPC Top-1 (n=150, external, rare-forward) |
Rare-case accuracy |
14.7% |
11.3% |
| NEJM-CPC Top-5 |
Rare-case accuracy |
48.7% |
36.7% |
- The win is on preference (74%) β the scored metric. The model produces a ranked, calibrated,
common-first differential that the judge prefers 3:1 over base.
- On a deliberately rare-case external benchmark, it trades accuracy (11.3 / 36.7 vs base
14.7 / 48.7). By design it is anti-"zebra" β it leads with common explanations β so on a set
built entirely from rare "zebras," it deprioritizes the rare answer and scores lower.
- Preference and rare-case accuracy are different axes. We report both, on purpose.
- We mapped the dial. A gentler sibling (v5.2, r=8) holds Top-1 at 14.0 β base for a 67% win
rate; this release (v5.3, r=16) is the higher-preference point (74%) at a Top-1 cost. The Top-5
tradeoff (~37 vs 49) is shared by both β a structural effect of common-first calibration, not recipe.
The story β why we trust measurement over a score
- An early full fine-tune scored a flashy 75% win rate β but benchmarking the actual
weights showed it had regressed on rare cases (11.3 / 31.3). Root cause: ~43% of training
rows were multiple-choice items where the pipeline had scraped the answer (a drug, an organism,
a lab value) and mislabeled it the "diagnosis." A high score hid a worse diagnostician.
- We decontaminated the data (v5.2)
and switched to a knowledge-preserving LoRA (r=16). Win rate 74%.
- We then measured this model correctly on NEJM-CPC and found it still trades rare-case accuracy
for its preferred common-first calibration. We report that here rather than bury it β it's the
whole point: a preference win is not an accuracy guarantee.
Intended use & safety
Clinical decision support and research only.
- Not a medical device. Not medical advice. Not for live diagnosis. Because it trades rare-case
recall, it must never be relied on to rule out a rare or dangerous condition.
- The companion app (Yara) uses this model as a released artifact behind a hard red-flag
safety guard and routes to real care β never as a live diagnostician.
- A small (4B) model: it can hallucinate. English only.
Usage (LoRA adapter on the base)
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base = "google/gemma-3-4b-it"
tok = AutoTokenizer.from_pretrained(base)
model = AutoModelForCausalLM.from_pretrained(base, device_map="auto")
model = PeftModel.from_pretrained(model, "shariqazeem/psiddx-clinical-ddx-gemma-3-4b")
Note: this adapter targets the language-model layers. On the multimodal gemma-3-4b-it, ensure the
adapter attaches to language_model.* modules (verify baseβ adapted output before trusting results).
Training
- AutoScientist (Adaption Labs) β LoRA r=16 / Ξ±=32, lr 1e-4, 1 epoch, SFT, all-linear targets.
- Base frozen; only the adapter is trained. Data: the decontaminated v5.2 set.
Citation
@misc{psiddx2026, title={PsiDDx: Honest Measurement of a Calibrated Clinical DDx Fine-tune}, year={2026}}