3D quantum-property pre-training · 5×5 cross validation · two data sets
QuADMET-Former1 pre-trains a 1.3-million-parameter, six-layer TorchMD-ET equivariant transformer2 on PubChemQC quantum mechanical properties — total energy, HOMO–LUMO gap, dipole moment, 3D E3FP fingerprints, and per-atom Löwdin charges — across ten released single- and three-conformer checkpoints, then adapts it to ADMET endpoints by two-stage linear probing and fine-tuning (LP-FT). Its paper reports that quantum pre-training consistently beats training the same 3D architecture from scratch on TDC and Biogen ADME benchmarks. Run here on the same fifteen ExpansionRx and Biogen endpoints, 3D conformers, 5×5 cross-validation folds and held-out test sets as the rest of this site, that internal claim holds: pre-trained LP-FT beats from-scratch training on 14 of 15 endpoints (7 significant wins to 0 losses) by a median +0.083 R², beats its own frozen TabPFN 3 arm on 31 of 45 endpoint × metric combinations (losing on 12), and beats LightGBM + Morgan on 38 of 45 combinations (losing on three). Against the modern pre-trained field, fine-tuned QuADMET-Former reaches the top Tukey tier on 5 of 27 combinations on ExpansionRx (leading or tying on LogS, LOG_MPPB, and LOG_MBPB) and nearly splits ExpansionRx with fine-tuned CheMeleon6 (9 wins, 8 ties, 10 losses; 15–9–21 across both data sets), while trailing the two overall leaders: fine-tuned Atom-JEPA3 (2 wins, 8 no call, 35 losses) and Monroe + TabPFN 34 (10 wins, 2 no call, 33 losses).
Both QuADMET-Former arms load the authors' TorchMD_ET from github.com/arunraja-hub/quadmetformer and their ten released pre-trained checkpoints: five quantum-property combinations ([Lw], [3D], [DM,HL,TE], [Lw,DM,HL,TE], and [All]) crossed with single-conformer and three-conformer pre-training. Every molecule uses the exact same ETKDGv3 + MMFF94 conformer cache as the Atom-JEPA study (11,129 molecules across both data sets, zero dropped). For the frozen arm (quadmet_tabpfn), each fold's held-out validation fifth selects the winning checkpoint per endpoint (03_run_tabpfn.py --select) before the test set is touched, and passes that checkpoint's 128-D graph embedding to TabPFN 35 through the exact call the Monroe arm makes.
The fine-tuned arm (quadmet_ft) adapts the 6-layer three-conformer multi_all checkpoint via two-stage LP-FT across all endpoints in each data set simultaneously (matching the multitask fine-tuning protocol of chemeleon and atomjepa_ft): Stage 1 freezes the six-layer shared_backbone and trains the shared SiLU trunk and per-endpoint heads under Kendall uncertainty-weighted Huber loss on standardized targets, restoring the best validation-MAE epoch; Stage 2 unfreezes all six equivariant layers (n_frozen = 0) with a differential learning rate and L2-SP regularization toward the pre-trained QM weights, restoring the best validation-MAE checkpoint before scoring the held-out test set.
The four comparators are imported unchanged from the nine-method foundation-model comparison and the Atom-JEPA study on the identical fold assignments: LightGBM on 2,048-bit Morgan counts8 (the classical floor), ChemProp7 fine-tuned from CheMeleon6 (the strongest 2D message-passing arm), Monroe + TabPFN 34 (the strongest frozen encoder read in context), and fine-tuned Atom-JEPA3 (a 39M-parameter 3D EquiformerV3 pre-trained by masked latent prediction on 19M conformers and fine-tuned multitask on the same 3D conformers).
Tukey HSD per endpoint and metric, counted the same way across every study on this site: a method is on top if Tukey's simultaneous correction cannot separate it from the best mean at α = 0.05, and it is only best alone if no other arm shares the top group. The primary tables show MAE in the log10(x + 1) units of each endpoint, followed by R².
| Endpoint | LightGBM | CheMeleon FT | Monroe/PFN3 | Atom-JEPA FT | QuADMET/PFN3 | QuADMET FT |
|---|---|---|---|---|---|---|
| LogD | 0.545±0.012 | 0.427±0.018 | 0.402±0.015 | 0.382±0.014best | 0.561±0.018 | 0.412±0.012 |
| LogS | 0.454±0.015 | 0.358±0.017 | 0.380±0.009 | 0.323±0.010best | 0.436±0.015 | 0.354±0.012 |
| LOG_HLM | 0.332±0.009 | 0.314±0.014 | 0.293±0.009 | 0.277±0.014best | 0.302±0.007 | 0.328±0.014 |
| LOG_MLM | 0.410±0.014 | 0.399±0.030 | 0.358±0.011best | 0.390±0.017 | 0.380±0.008 | 0.395±0.015 |
| LOG_Caco_AB | 0.340±0.022 | 0.305±0.033 | 0.248±0.011best | 0.314±0.037 | 0.342±0.021 | 0.354±0.023 |
| LOG_Caco_Efflux | 0.432±0.019 | 0.375±0.034 | 0.346±0.012best | 0.375±0.034 | 0.417±0.021 | 0.432±0.021 |
| LOG_MPPB | 0.288±0.020 | 0.212±0.021 | 0.259±0.013 | 0.185±0.018tied | 0.254±0.018 | 0.182±0.015tied |
| LOG_MBPB | 0.223±0.018 | 0.157±0.018 | 0.192±0.016 | 0.124±0.005best | 0.181±0.011 | 0.151±0.010 |
| LOG_MGMB | 0.302±0.034 | 0.175±0.015tied | 0.204±0.033 | 0.163±0.010tied | 0.253±0.020 | 0.185±0.009 |
| Endpoint | LightGBM | CheMeleon FT | Monroe/PFN3 | Atom-JEPA FT | QuADMET/PFN3 | QuADMET FT |
|---|---|---|---|---|---|---|
| LogD | 0.510±0.021 | 0.671±0.019 | 0.718±0.017 | 0.754±0.015best | 0.457±0.026 | 0.674±0.012 |
| LogS | 0.335±0.036 | 0.474±0.029 | 0.442±0.028 | 0.562±0.021best | 0.312±0.035 | 0.516±0.020 |
| LOG_HLM | 0.139±0.045 | 0.221±0.071 | 0.314±0.049 | 0.388±0.062best | 0.260±0.027 | 0.181±0.059 |
| LOG_MLM | 0.084±0.064 | 0.135±0.141 | 0.290±0.048best | 0.183±0.074 | 0.197±0.035 | 0.156±0.066 |
| LOG_Caco_AB | -0.014±0.129 | 0.160±0.191 | 0.471±0.041best | 0.103±0.219 | -0.043±0.134 | -0.148±0.148 |
| LOG_Caco_Efflux | -0.135±0.096 | 0.110±0.158 | 0.275±0.054best | 0.112±0.158 | -0.101±0.112 | -0.190±0.103 |
| LOG_MPPB | 0.229±0.105 | 0.541±0.093 | 0.300±0.068 | 0.639±0.059tied | 0.380±0.079 | 0.656±0.052tied |
| LOG_MBPB | 0.477±0.080 | 0.713±0.061 | 0.590±0.066 | 0.797±0.013best | 0.628±0.043 | 0.733±0.028 |
| LOG_MGMB | 0.260±0.148 | 0.642±0.027tied | 0.588±0.098 | 0.670±0.023tied | 0.352±0.099 | 0.593±0.058 |
| Endpoint | LightGBM | CheMeleon FT | Monroe/PFN3 | Atom-JEPA FT | QuADMET/PFN3 | QuADMET FT |
|---|---|---|---|---|---|---|
| LOG_SOL | 0.413±0.009 | 0.370±0.007 | 0.322±0.004best | 0.340±0.006 | 0.398±0.003 | 0.381±0.009 |
| LOG_HLM | 0.395±0.005 | 0.337±0.007 | 0.299±0.003tied | 0.295±0.008tied | 0.361±0.004 | 0.375±0.013 |
| LOG_RLM | 0.470±0.005 | 0.404±0.006 | 0.375±0.003best | 0.385±0.005 | 0.447±0.005 | 0.431±0.012 |
| LOG_MDR1_ER | 0.385±0.005 | 0.340±0.004 | 0.294±0.002best | 0.317±0.005 | 0.373±0.003 | 0.364±0.012 |
| LOG_HPPB | 0.576±0.033 | 0.558±0.025 | 0.438±0.017best | 0.500±0.019 | 0.627±0.026 | 0.520±0.024 |
| LOG_RPPB | 0.554±0.021 | 0.553±0.023 | 0.445±0.026best | 0.513±0.023 | 0.589±0.018 | 0.506±0.018 |
| Endpoint | LightGBM | CheMeleon FT | Monroe/PFN3 | Atom-JEPA FT | QuADMET/PFN3 | QuADMET FT |
|---|---|---|---|---|---|---|
| LOG_SOL | 0.275±0.024 | 0.363±0.021 | 0.504±0.013best | 0.436±0.017 | 0.299±0.007 | 0.301±0.034 |
| LOG_HLM | 0.326±0.015 | 0.474±0.019 | 0.556±0.009tied | 0.573±0.016tied | 0.412±0.015 | 0.355±0.040 |
| LOG_RLM | 0.389±0.011 | 0.513±0.012 | 0.569±0.007tied | 0.564±0.012tied | 0.426±0.011 | 0.441±0.029 |
| LOG_MDR1_ER | 0.449±0.010 | 0.520±0.009 | 0.641±0.008best | 0.584±0.012 | 0.456±0.008 | 0.489±0.022 |
| LOG_HPPB | 0.129±0.094 | 0.230±0.065 | 0.478±0.036best | 0.390±0.038 | 0.102±0.091 | 0.318±0.055 |
| LOG_RPPB | 0.118±0.067 | 0.154±0.061 | 0.415±0.051best | 0.318±0.051 | 0.076±0.046 | 0.296±0.041 |
Across the two data sets, the leaderboard is led by the two heavyweights from the Atom-JEPA study: on ExpansionRx fine-tuned Atom-JEPA is on top of 19 of 27 endpoint × metric combinations and Monroe + TabPFN 3 of 9, while fine-tuned QuADMET-Former reaches the top Tukey tier on 5 of 27 combinations — posting the highest mean Spearman ρ on LogS (0.616, tied with Atom-JEPA FT), the best mean R² (0.656) and MAE (0.182) on LOG_MPPB (tied with Atom-JEPA FT), and tying for best Spearman ρ on LOG_MPPB (0.819) and LOG_MBPB (0.879). On Biogen ADME, Monroe is on top of 18 of 18 combinations and Atom-JEPA FT of 5.
Paired by fold across all fifteen endpoints and three metrics (45 combinations), two-stage multitask LP-FT (quadmet_ft) substantially outperforms reading the frozen 128-D QM embedding in context with TabPFN 3 (quadmet_tabpfn), winning 31 of 45 combinations, tying 2, and losing 12 (17–0–10 on ExpansionRx and 14–2–2 on Biogen). Against the classical LightGBM + Morgan floor, fine-tuned QuADMET-Former wins 38 of 45 combinations (4 no call, 3 losses, going 17–1–0 on Biogen and 21–3–3 on ExpansionRx), while frozen QuADMET-Former + TabPFN 3 wins 29 (3 no call, 13 losses). Against fine-tuned CheMeleon, fine-tuned QuADMET-Former wins 15, ties 9, and loses 21 — nearly splitting ExpansionRx (9 wins, 8 ties, 10 losses) and winning all six calls on Biogen LOG_HPPB and LOG_RPPB. Against Monroe + TabPFN 3, fine-tuned QuADMET-Former wins 10 combinations on ExpansionRx (LogS, LOG_MPPB, LOG_MBPB, and LOG_MGMB) while losing 33 across both sets; against the 30× larger fine-tuned Atom-JEPA, it wins 2 (Spearman ρ on ExpansionRx LogS and Biogen LOG_RPPB), ties 8 (including all three metrics on LOG_MPPB and Spearman ρ on LOG_HPPB), and loses 35.
| QuADMET-Former fine-tuned against | ExpansionRx, 27 | Biogen, 18 | Gain, mean of 15 | |||||
|---|---|---|---|---|---|---|---|---|
| wins | no call | losses | wins | no call | losses | Δ R² | MAE drop | |
| Atom-JEPA fine-tuned | 1 | 5 | 21 | 1 | 3 | 14 | −0.113 | −0.0323 |
| Monroe + TabPFN 3 | 10 | 2 | 15 | 0 | 0 | 18 | −0.119 | −0.0343 |
| QuADMET-Former frozen + TabPFN 3 | 17 | 0 | 10 | 14 | 2 | 2 | +0.077 | +0.0368 |
| ChemProp + CheMeleon, fine-tuned | 9 | 8 | 10 | 6 | 1 | 11 | −0.037 | −0.0057 |
| LightGBM + Morgan | 21 | 3 | 3 | 17 | 1 | 0 | +0.120 | +0.0498 |
| frozen QuADMET-Former + TabPFN 3 against Monroe + TabPFN 3 | 4 | 1 | 22 | 0 | 0 | 18 | −0.196 | −0.0711 |
| frozen QuADMET-Former + TabPFN 3 against ChemProp + CheMeleon, fine-tuned | 5 | 1 | 21 | 0 | 0 | 18 | −0.114 | −0.0425 |
| frozen QuADMET-Former + TabPFN 3 against LightGBM + Morgan | 18 | 2 | 7 | 11 | 1 | 6 | +0.043 | +0.0131 |
QuADMET-Former releases ten checkpoints spanning five subsets of quantum mechanical pre-training targets — Löwdin atomic charges alone ([Lw]), 3D E3FP fingerprints alone ([3D]), the three molecular energy/dipole properties ([DM,HL,TE]), those three plus Löwdin charges ([Lw,DM,HL,TE]), and all five together ([All]) — each trained with either a single conformer or three conformers per molecule. Scoring all ten on each fold's held-out validation fifth shows two consistent patterns.
First, the spread from the best checkpoint to the worst is large — a median of 0.137 R² on ExpansionRx and 0.177 R² on Biogen — because checkpoints pre-trained on a single target ([Lw] or [3D] alone) generally lag the multi-property checkpoints ([Lw,DM,HL,TE] and [All]). The one striking exception is ExpansionRx LogD, where the single-conformer Löwdin atomic-charge checkpoint (Single [Lw]) ranks first on the validation fifth (0.551 R²), consistent with lipophilicity being governed by local atomic partial charges and polarity. Second, among the top multi-property checkpoints the runner-up is almost always within fold noise: across ExpansionRx (5 distinct winners) the median margin over the runner-up is 0.026 R² (0 of 9 exceeding one fold SD), and across Biogen (4 distinct winners) the median margin is 0.023 R² (1 of 6 exceeding one fold SD, on LOG_RLM).
| Endpoint | Chosen checkpoint | Val R² | Margin | 10-ckpt spread | Fold sd | Decisive? |
|---|---|---|---|---|---|---|
| LogD | Single [Lw] | 0.551 | 0.001 | 0.161 | 0.069 | within noise |
| LogS | Single [Lw,DM,HL,TE] | 0.290 | 0.026 | 0.137 | 0.074 | within noise |
| LOG_HLM | Multi [All] | 0.228 | 0.003 | 0.102 | 0.067 | within noise |
| LOG_MLM | Single [Lw,DM,HL,TE] | 0.407 | 0.026 | 0.092 | 0.109 | within noise |
| LOG_Caco_AB | Multi [All] | 0.093 | 0.019 | 0.066 | 0.118 | within noise |
| LOG_Caco_Efflux | Multi [DM,HL,TE] | 0.188 | 0.002 | 0.059 | 0.119 | within noise |
| LOG_MPPB | Single [Lw,DM,HL,TE] | 0.417 | 0.032 | 0.300 | 0.133 | within noise |
| LOG_MBPB | Single [Lw,DM,HL,TE] | 0.282 | 0.030 | 0.223 | 0.194 | within noise |
| LOG_MGMB | Single [3D] | 0.127 | 0.026 | 0.290 | 0.232 | within noise |
| Endpoint | Chosen checkpoint | Val R² | Margin | 10-ckpt spread | Fold sd | Decisive? |
|---|---|---|---|---|---|---|
| LOG_SOL | Multi [DM,HL,TE] | 0.119 | 0.024 | 0.176 | 0.034 | within noise |
| LOG_HLM | Multi [All] | 0.267 | 0.021 | 0.171 | 0.036 | within noise |
| LOG_RLM | Multi [All] | 0.312 | 0.036 | 0.145 | 0.027 | clear |
| LOG_MDR1_ER | Single [All] | 0.398 | 0.006 | 0.246 | 0.026 | within noise |
| LOG_HPPB | Single [3D] | 0.174 | 0.013 | 0.240 | 0.151 | within noise |
| LOG_RPPB | Multi [DM,HL,TE] | 0.089 | 0.050 | 0.179 | 0.091 | within noise |
Just as in the Atom-JEPA study, the frozen TabPFN 3 arm splits the difference between Monroe + TabPFN 3 and fine-tuned QuADMET-Former into two steps: first swapping Monroe's embedding for QuADMET-Former's 128-D graph embedding under the exact same TabPFN 3 call, and second replacing TabPFN 3 with two-stage LP-FT.
| Endpoint | Data set | Swap Monroe's embedding for QuADMET-Former's, same TabPFN 3 | Then LP-FT the encoder instead | Fine-tuned QuADMET-Former against Monroe |
|---|---|---|---|---|
| LOG_HLM | Biogen ADME | −0.144 | −0.058 | −0.202 |
| LOG_HPPB | Biogen ADME | −0.375 | +0.215 | −0.160 |
| LOG_MDR1_ER | Biogen ADME | −0.185 | +0.033 | −0.152 |
| LOG_RLM | Biogen ADME | −0.142 | +0.015 | −0.127 |
| LOG_RPPB | Biogen ADME | −0.338 | +0.219 | −0.119 |
| LOG_SOL | Biogen ADME | −0.206 | +0.002 | −0.204 |
| LOG_Caco_AB | ExpansionRx | −0.513 | −0.105 | −0.619 |
| LOG_Caco_Efflux | ExpansionRx | −0.376 | −0.088 | −0.464 |
| LOG_HLM | ExpansionRx | −0.054 | −0.079 | −0.133 |
| LOG_MBPB | ExpansionRx | +0.038 | +0.105 | +0.143 |
| LOG_MGMB | ExpansionRx | −0.236 | +0.242 | +0.006 |
| LOG_MLM | ExpansionRx | −0.094 | −0.041 | −0.134 |
| LOG_MPPB | ExpansionRx | +0.080 | +0.276 | +0.357 |
| LogD | ExpansionRx | −0.261 | +0.218 | −0.044 |
| LogS | ExpansionRx | −0.130 | +0.204 | +0.074 |
| median | Biogen ADME | −0.195 | +0.024 | −0.156 |
| median | ExpansionRx | −0.130 | +0.105 | −0.044 |
Swapping Monroe's representation for QuADMET-Former's frozen embedding under TabPFN 3 reduces R² on 13 of 15 endpoints, by a median −0.130 R² on ExpansionRx (where frozen QuADMET-Former + TabPFN 3 already edges out Monroe on LOG_MPPB and LOG_MBPB) and −0.195 R² on Biogen. Replacing TabPFN 3 with two-stage multitask LP-FT across all six equivariant layers recovers substantial ground, lifting median R² by +0.105 on ExpansionRx and +0.024 on Biogen — with the largest fine-tuning gains on the binding and physicochemical endpoints (LOG_MPPB +0.276 R², LOG_MGMB +0.242 R², LOG_RPPB +0.219 R², LogD +0.218 R², LOG_HPPB +0.215 R², and LogS +0.204 R²).
| Endpoint | Data set | Molecules per training fold | Test molecules | Δ R², QuADMET-Former FT − Monroe | MAE drop |
|---|---|---|---|---|---|
| LOG_RPPB | Biogen ADME | 89 | 59 | −0.119 | −0.061 |
| LOG_HPPB | Biogen ADME | 103 | 66 | −0.160 | −0.083 |
| LOG_MGMB | ExpansionRx | 184 | 209 | +0.006 | +0.019 |
| LOG_MBPB | ExpansionRx | 776 | 451 | +0.143 | +0.041 |
| LOG_MPPB | ExpansionRx | 1,036 | 454 | +0.357 | +0.077 |
| LOG_SOL | Biogen ADME | 1,203 | 672 | −0.204 | −0.058 |
| LOG_MDR1_ER | Biogen ADME | 1,470 | 804 | −0.152 | −0.070 |
| LOG_RLM | Biogen ADME | 1,701 | 922 | −0.127 | −0.057 |
| LOG_HLM | Biogen ADME | 1,723 | 929 | −0.202 | −0.076 |
| LOG_Caco_AB | ExpansionRx | 1,751 | 1,616 | −0.619 | −0.106 |
| LOG_Caco_Efflux | ExpansionRx | 1,755 | 1,616 | −0.464 | −0.087 |
| LOG_HLM | ExpansionRx | 3,001 | 782 | −0.133 | −0.034 |
| LOG_MLM | ExpansionRx | 3,643 | 1,170 | −0.134 | −0.037 |
| LogD | ExpansionRx | 4,092 | 2,270 | −0.044 | −0.009 |
| LogS | ExpansionRx | 4,134 | 2,170 | +0.074 | +0.026 |
Across the fifteen endpoints the Spearman rank correlation between training-set size and fine-tuned QuADMET-Former's R² margin over Monroe is −0.13.
Why do the paper's internal ablations favour QuADMET-Former while the external leaderboard still favours Atom-JEPA and Monroe? Running four controlled internal ablations alongside a line-by-line audit of github.com/arunraja-hub/quadmetformer answers both halves of that question.
| Endpoint | Data set | LP-FT (6L) R² | Scratch (6L) R² | Δ R² (LP-FT − Scratch) | Stage-1 LP (6L) R² | Truncated LP (3L) R² (Δ 6L−3L) | Fixed Single [All] LP R² |
|---|---|---|---|---|---|---|---|
| LOG_Caco_AB | ExpansionRx | −0.148 | −0.300 | +0.170 no call | −1.299 | −0.705 (−0.593) | −1.498 |
| LOG_Caco_Efflux | ExpansionRx | −0.190 | −0.256 | +0.076 no call | −0.655 | −0.581 (−0.074) | −0.744 |
| LOG_HLM | ExpansionRx | 0.181 | 0.103 | +0.052 no call | 0.116 | 0.185 (−0.069) | 0.113 |
| LOG_MBPB | ExpansionRx | 0.733 | 0.701 | +0.021 no call | 0.385 | 0.366 (+0.019) | 0.203 |
| LOG_MGMB | ExpansionRx | 0.593 | 0.645 | −0.079 no call | 0.203 | 0.133 (+0.070) | 0.042 |
| LOG_MLM | ExpansionRx | 0.156 | 0.054 | +0.108 win | 0.032 | 0.135 (−0.103) | 0.005 |
| LOG_MPPB | ExpansionRx | 0.656 | 0.539 | +0.112 win | −0.159 | 0.026 (−0.185) | 0.139 |
| LogD | ExpansionRx | 0.674 | 0.623 | +0.052 win | 0.238 | 0.308 (−0.070) | 0.301 |
| LogS | ExpansionRx | 0.516 | 0.486 | +0.032 win | 0.148 | 0.186 (−0.039) | 0.176 |
| LOG_HLM | Biogen ADME | 0.355 | 0.242 | +0.103 win | 0.237 | 0.265 (−0.028) | 0.231 |
| LOG_HPPB | Biogen ADME | 0.318 | 0.232 | +0.099 no call | 0.047 | −0.108 (+0.154) | −0.124 |
| LOG_MDR1_ER | Biogen ADME | 0.489 | 0.219 | +0.261 win | 0.373 | 0.390 (−0.017) | 0.373 |
| LOG_RLM | Biogen ADME | 0.441 | 0.352 | +0.083 win | 0.298 | 0.331 (−0.033) | 0.300 |
| LOG_RPPB | Biogen ADME | 0.296 | 0.174 | +0.144 no call | −0.076 | −0.049 (−0.027) | −0.055 |
| LOG_SOL | Biogen ADME | 0.301 | 0.248 | +0.046 no call | 0.104 | 0.233 (−0.129) | 0.059 |
1. Quantum pre-training and LP-FT genuinely beat training TorchMD-ET from scratch. The paper's central hypothesis is internal: that pre-training TorchMD-ET on QM properties and adapting via two-stage LP-FT improves over training the same 3D architecture from random initialisation (scratch) or freezing it with a linear probe (lp). Our ablation confirms both claims directly: across the 15 endpoints, pre-trained LP-FT beats from-scratch training of the exact same multitask 6-layer architecture on 14 of 15 endpoints (7 significant wins to 0 losses) by a median +0.083 R², and Stage-2 fine-tuning improves over Stage-1 linear probing on all 15 of 15 endpoints by a median +0.348 R². The paper did not benchmark against 2D pre-trained MPNNs (CheMeleon), in-context foundation models (Monroe + TabPFN 3), or 30× larger 3D self-supervised encoders (Atom-JEPA); its baseline was its own 3D architecture trained from scratch.
2. Intermediate versus final layers under an MLP probe, and why full-backbone multitask LP-FT matters. All ten released checkpoints contain 6 equivariant attention layers (1,312,268 parameters), matching Section 3.3 of the paper, yet the repository's finetuning/downstream_train.py (line 289) restricts Optuna to num_layers ∈ {1, 2, 3}. Comparing a frozen 6-layer single-task MLP probe against a truncated 3-layer MLP probe shows why: under a frozen single-task MLP head, intermediate layer 3 edges out the final QM-specialised layer 6 on 12 of 15 endpoints (median Δ 6L−3L of −0.039 R²). Moreover, single-task unstandardized L1 fine-tuning or freezing the lower layers suffers severe test-set miscalibration on sparse/shifted endpoints (the same gap seen between single-task chemprop_st and multitask chemprop), whereas unfreezing all 6 layers (n_frozen = 0) in multitask LP-FT lifts every endpoint well above both the 3-layer and 6-layer linear probes.
Inspecting arunraja-hub/quadmetformer uncovered six bugs and paper-versus-code mismatches that affect anyone reproducing the paper from its repository; our benchmark fixes all six so QuADMET-Former is evaluated at full strength:
models/torchmdnet.py:10). from models.conformerAttention import * imports a file that does not exist in the repository, raising ModuleNotFoundError until shimmed.models/torchmdnet.py:374). Section 3.2 describes an 8-dimensional periodic-table atom descriptor vector data.x, and prepare_dataset.py computes and stores it, but TorchMD_ET.encode only reads data.atomic_numbers (via nn.Embedding(100, 128)) and 3D coordinates data.pos; data.x is never referenced anywhere in the model.out_norm (downstream_train.py:289, trainer.py:464–470). All ten checkpoints were pre-trained with 6 attention layers, and during pre-training self.out_norm (LayerNorm(128)) is never called on the molecular path (so its weights remain 1 and 0 in every checkpoint). Downstream, downstream_train.py searches only 1–3 layers, and in lpft mode trainer.py omits out_norm from the optimizer parameter groups.models/torchmdnet.py:217–225, 456–494). During pre-training, multi_conf checkpoints apply shared_backbone to 3 conformers and average their predictions. Setting multiple_conformer=True downstream instantiates randomly initialised attention_weights (384→128→3) and projection_layer (128→128) before atom mean-pooling — even in linear_probe mode, scrambling the pre-trained representations. When 3-conformer embeddings are simply mean-pooled, the Multi checkpoints beat Single on 4 of 6 Biogen endpoints. In addition, smiles_single_conf calls AllChem.EmbedMolecule(..., useRandomCoords=True) without MMFF94 force-field relaxation, contrary to Section 4.2.downstream_train.py:446). trainer.test(final_model, graph_test_loader) is called without ckpt_path="best", evaluating the overfitted weights 10 epochs after validation loss peaked.finetuning/pearsonr_summary.html). In the authors' committed HTML summary table inside the repository, all four Biogen plasma_protein_binding_human (hPPB) test Pearson r values are negative (−0.2074, −0.2948, −0.1369, −0.2951), whereas Table 2 of the preprint prints the exact same four magnitudes as positive (0.207, 0.295, 0.137, 0.295).Because TorchMD-ET has 1.3 million parameters (one thirtieth the size of Atom-JEPA's 39M-parameter EquiformerV3) and static 5.0 Å radius graphs can be pre-computed once per molecule on GPU, evaluating all ten checkpoints across all 11,129 molecules takes under two minutes, and two-stage LP-FT in bfloat16 takes only seconds per fold across the two GPUs (apollo, RTX 5070 Ti; spark, DGX Spark GB10).
| Data set | Machine | Folds | Median sec / fold | Median total best epoch | Peak GPU memory, GB | Total, GPU hours |
|---|---|---|---|---|---|---|
| Biogen ADME | apollo, GeForce RTX 5070 Ti | 15 | 28.3 | 35 | 3.4 | 0.12 |
| Biogen ADME | spark, GB10 | 10 | 82.8 | 36 | 3.5 | 0.23 |
| ExpansionRx | apollo, GeForce RTX 5070 Ti | 19 | 88.4 | 80 | 4.6 | 0.46 |
| ExpansionRx | spark, GB10 | 6 | 258.2 | 76 | 4.5 | 0.43 |
Reported the way “Even More Thoughts on ML Method Comparisons” and the protocol paper it points at11 argue comparisons should be: distributions over folds, simultaneous confidence intervals, paired tests on the folds, and no bolded maxima. Where two methods cannot be separated, both are reported as tied.
Code, per-fold metrics and every figure: studies/quadmet-former.