3D self-supervised pre-training · 5×5 cross validation · two data sets

A 3D encoder, fine-tuned, against a frozen one read in context

Atom-JEPA1 pre-trains an equivariant graph network on 19 million 3D conformers by predicting the latent representation of one part of a molecule from another, and then fine-tunes it on each data set. Its paper reports it best or tied on every ExpansionRx and Biogen endpoint against fingerprint models, Chemprop and KERMT. Run here with the authors' own code and weights on the same fifteen endpoints, folds and test sets as everything else on this site, that claim replicates: it beats fine-tuned CheMeleon on 38 of 45 endpoint × metric combinations and LightGBM on 45. Against Monroe + TabPFN 32, which the paper did not run, the two data sets disagree. On ExpansionRx fine-tuned Atom-JEPA is ahead on 6 and behind on 3 of the 9 endpoints on all three metrics (18 ahead and 9 behind of 27 endpoint × metric combinations); on Biogen it is behind on 4 of the 6 endpoints on all three metrics, and split on the other two (3 ahead and 13 behind of 18 endpoint × metric combinations).

5methods compared
15endpoints
5×5cross validation
50fine-tuned fold models
46GPU hours

The authors' code, on these folds

The fine-tuned arm is the authors' train_multitask from github.com/khelverskovp/atom-jepa at commit bab0853, reading their released molecules encoder from the Hugging Face Hub, configured by their own finetune_expansionrx.yaml and finetune_biogen_adme.yaml. The recipe is theirs and is not tuned here: one multitask model per fold over every endpoint of the data set, a shared trunk and a small head per endpoint, a masked Huber loss weighted by learned per-task uncertainty, the encoder frozen for the first ten of fifty epochs, L2-SP towards the pre-trained weights, an EMA of the weights, and one of ten RDKit conformers per molecule drawn each epoch, made by their own conformer builder. The test prediction is the mean over all ten conformers, the paper's “×10 conf” arm.

Only the split is ours. The model trains on the four fifths of the training set outside the held-out fold, picks its best epoch on the held-out fifth — exactly as the ChemProp arms use it for early stopping — and is scored on the same untouched test set as every other arm. The overrides of the authors' configuration change nothing that is trained: the targets are already on a log scale, so their log transform is off; selection and scoring use the conformer-averaged prediction; checkpoints are not written. All are listed in the study's README.

What differs between the arms, and what does not

Two Atom-JEPA arms are fitted here. The fine-tuned one is the paper's. The frozen one runs the same pre-trained encoder once over each molecule's first conformer, takes its eight layers mean-pooled — the “all layers” representation of the paper's frozen baselines — and hands it to TabPFN 33 through exactly the call the Monroe arm makes. Against Monroe that arm changes only the representation; against the fine-tuned arm it changes only how the encoder is used.

The other three are imported from the nine-method foundation-model comparison unchanged, not re-run: LightGBM on Morgan counts6, the floor; ChemProp5 fine-tuned from CheMeleon4, the other pre-trained encoder that is trained rather than frozen; and Monroe + TabPFN 3, the strongest arm on this site.

The scoreboard

Tukey HSD per endpoint and metric, counted the way every page on this site counts: a method is on top if Tukey's correction cannot separate it from the best mean, and it is only best alone if nothing else is on top with it. The tables show MAE, in the units of each endpoint.

ExpansionRx7

LightGBM + Morgan0 best alone · 0 tied for best · 27 worse
ChemProp + CheMeleon, fine-tuned0 best alone · 3 tied for best · 24 worse
Monroe + TabPFN 38 best alone · 1 tied for best · 18 worse
Atom-JEPA frozen + TabPFN 30 best alone · 0 tied for best · 27 worse
Atom-JEPA fine-tuned15 best alone · 4 tied for best · 8 worse
EndpointLightGBMCheMeleon FTMonroe/PFN3Atom-JEPA/PFN3Atom-JEPA FT
LogD0.545±0.0120.427±0.0180.402±0.0150.483±0.0120.382±0.014best
LogS0.454±0.0150.358±0.0170.380±0.0090.434±0.0150.323±0.010best
LOG_HLM0.332±0.0090.314±0.0140.293±0.0090.298±0.0090.277±0.014best
LOG_MLM0.410±0.0140.399±0.0300.358±0.011best0.385±0.0140.390±0.017
LOG_Caco_AB0.340±0.0220.305±0.0330.248±0.011best0.318±0.0180.314±0.037
LOG_Caco_Efflux0.432±0.0190.375±0.0340.346±0.012best0.404±0.0160.375±0.034
LOG_MPPB0.288±0.0200.212±0.0210.259±0.0130.286±0.0170.185±0.018best
LOG_MBPB0.223±0.0180.157±0.0180.192±0.0160.190±0.0100.124±0.005best
LOG_MGMB0.302±0.0340.175±0.015tied0.204±0.0330.199±0.0140.163±0.010tied
Tukey HSD on MAE, ExpansionRx. Each bar is a method's mean over 25 folds with an interval widened to cover every pairwise comparison at once. Blue is the best mean, grey cannot be separated from it, red is worse.
Tukey HSD on MAE, ExpansionRx. Each bar is a method's mean over 25 folds with an interval widened to cover every pairwise comparison at once. Blue is the best mean, grey cannot be separated from it, red is worse.

Biogen ADME8

LightGBM + Morgan0 best alone · 0 tied for best · 18 worse
ChemProp + CheMeleon, fine-tuned0 best alone · 0 tied for best · 18 worse
Monroe + TabPFN 313 best alone · 4 tied for best · 1 worse
Atom-JEPA frozen + TabPFN 30 best alone · 0 tied for best · 18 worse
Atom-JEPA fine-tuned1 best alone · 4 tied for best · 13 worse
EndpointLightGBMCheMeleon FTMonroe/PFN3Atom-JEPA/PFN3Atom-JEPA FT
LOG_SOL0.413±0.0090.370±0.0070.322±0.004best0.359±0.0050.340±0.006
LOG_HLM0.395±0.0050.337±0.0070.299±0.003tied0.339±0.0030.295±0.008tied
LOG_RLM0.470±0.0050.404±0.0060.375±0.003best0.405±0.0040.385±0.005
LOG_MDR1_ER0.385±0.0050.340±0.0040.294±0.002best0.337±0.0020.317±0.005
LOG_HPPB0.576±0.0330.558±0.0250.438±0.017best0.537±0.0190.500±0.019
LOG_RPPB0.554±0.0210.553±0.0230.445±0.026best0.551±0.0210.513±0.023
Tukey HSD on MAE, Biogen ADME.
Tukey HSD on MAE, Biogen ADME.

Each data set has a different leader. On ExpansionRx fine-tuned Atom-JEPA is on top of 19 of 27 endpoint × metric combinations and Monroe + TabPFN 3 of 9. On Biogen it is the other way round: Monroe on 17 of 18, Atom-JEPA on 5. Of the rest, only ChemProp + CheMeleon, fine-tuned reaches the top of anything, 3 in all. The frozen Atom-JEPA arm and LightGBM are on top of none.

The paper's claim replicates

The paper compares Atom-JEPA with fingerprint models, Chemprop, KERMT and CKERMT, and finds it best or statistically tied on all fifteen of these endpoints. Two of those comparators have a counterpart here. Paired by fold, fine-tuned Atom-JEPA is ahead of LightGBM on Morgan counts on 45 of 45 endpoint × metric combinations and behind on none, and ahead of fine-tuned CheMeleon on 38 and behind on two. A win or a loss is a paired t-test at p < 0.05 on one endpoint and one metric, uncorrected, so read the counts as a direction rather than a verdict on any single cell.

Atom-JEPA fine-tuned againstExpansionRx, 27Biogen, 18Gain, mean of 15
winsno calllosseswinsno calllossesΔ R²MAE drop
Monroe + TabPFN 318093213−0.005−0.0020
Atom-JEPA frozen + TabPFN 323401800+0.120+0.0426
ChemProp + CheMeleon, fine-tuned20521800+0.077+0.0266
LightGBM + Morgan27001800+0.234+0.0821
frozen Atom-JEPA + TabPFN 3 against Monroe + TabPFN 304230018−0.126−0.0446

Against Monroe, the data sets disagree

On ExpansionRx fine-tuned Atom-JEPA has the lower MAE on LOG_HLM, LOG_MBPB, LOG_MGMB, LOG_MPPB, LogD and LogS, significantly on all six endpoints, and is significantly behind on LOG_Caco_AB, LOG_Caco_Efflux and LOG_MLM. On Biogen it is behind on LOG_HPPB, LOG_MDR1_ER, LOG_RLM, LOG_RPPB and LOG_SOL and not behind on LOG_HLM alone.

Fine-tuned Atom-JEPA against each arm on ExpansionRx: mean paired MAE difference over 25 folds with a 95% interval, drawn in the comparator's colour and signed so that right of zero is Atom-JEPA better.
Fine-tuned Atom-JEPA against each arm on ExpansionRx: mean paired MAE difference over 25 folds with a 95% interval, drawn in the comparator's colour and signed so that right of zero is Atom-JEPA better.
The same on Biogen ADME.
The same on Biogen ADME.

The obvious explanation is data volume: Biogen's folds are smaller, so perhaps fine-tuning needs more labels than an in-context head does. It does not hold. Across the fifteen endpoints the rank correlation between the number of molecules a fold trains on and fine-tuned Atom-JEPA's margin over Monroe is −0.04. Its two largest wins, LOG_MPPB and LOG_MBPB, train on 1,036 and 776 molecules per fold, fewer than three Biogen endpoints it loses.

EndpointData setMolecules per training foldTest moleculesΔ R², Atom-JEPA FT − MonroeMAE drop
LOG_RPPBBiogen ADME8959−0.097−0.068
LOG_HPPBBiogen ADME10366−0.088−0.063
LOG_MGMBExpansionRx184209+0.082+0.040
LOG_MBPBExpansionRx776451+0.207+0.068
LOG_MPPBExpansionRx1,036454+0.339+0.074
LOG_SOLBiogen ADME1,203672−0.069−0.018
LOG_MDR1_ERBiogen ADME1,470804−0.057−0.023
LOG_RLMBiogen ADME1,701922−0.005−0.010
LOG_HLMBiogen ADME1,723929+0.017+0.004
LOG_Caco_ABExpansionRx1,7511,616−0.368−0.066
LOG_Caco_EffluxExpansionRx1,7551,616−0.162−0.030
LOG_HLMExpansionRx3,001782+0.073+0.016
LOG_MLMExpansionRx3,6431,170−0.107−0.032
LogDExpansionRx4,0922,270+0.036+0.020
LogSExpansionRx4,1342,170+0.121+0.057

Nor is it simply the endpoints that are hard for everything. On Caco-2 A→B, the worst of fine-tuned Atom-JEPA's losses, Monroe + TabPFN 3 reaches an R² of 0.471 ± 0.041 over the 25 folds. Every other arm is far below it: fine-tuned Atom-JEPA 0.103 ± 0.219, fine-tuned CheMeleon 0.160 ± 0.191, Atom-JEPA frozen 0.135 ± 0.103 and LightGBM −0.014 ± 0.129. Whatever Monroe's embedding carries about permeability, the 3D encoder does not, frozen or trained.

The representation costs, the fine-tuning pays

The frozen Atom-JEPA arm splits the step from Monroe to fine-tuned Atom-JEPA in two. The first step keeps TabPFN 3 and swaps Monroe's frozen embedding for Atom-JEPA's. The second keeps the encoder and fine-tunes it instead of freezing it. Each column is the change in mean R² over 25 folds, positive better.

EndpointData setSwap Monroe's embedding for Atom-JEPA's, same TabPFN 3Then fine-tune the encoder insteadFine-tuned Atom-JEPA against Monroe
LOG_HLMBiogen ADME−0.080+0.097+0.017
LOG_HPPBBiogen ADME−0.230+0.142−0.088
LOG_MDR1_ERBiogen ADME−0.108+0.051−0.057
LOG_RLMBiogen ADME−0.049+0.044−0.005
LOG_RPPBBiogen ADME−0.277+0.180−0.097
LOG_SOLBiogen ADME−0.076+0.007−0.069
LOG_Caco_ABExpansionRx−0.336−0.032−0.368
LOG_Caco_EffluxExpansionRx−0.291+0.129−0.162
LOG_HLMExpansionRx−0.016+0.089+0.073
LOG_MBPBExpansionRx−0.006+0.213+0.207
LOG_MGMBExpansionRx+0.007+0.075+0.082
LOG_MLMExpansionRx−0.119+0.011−0.107
LOG_MPPBExpansionRx−0.129+0.468+0.339
LogDExpansionRx−0.090+0.126+0.036
LogSExpansionRx−0.084+0.205+0.121
medianBiogen ADME−0.094+0.074−0.063
medianExpansionRx−0.090+0.126+0.073

As a frozen representation Atom-JEPA is worse than Monroe on 14 of 15 endpoints, by a median −0.090 R² on ExpansionRx and −0.094 on Biogen; paired by fold it is behind on 41 of 45 endpoint × metric combinations and ahead on none. Fine-tuning it then adds a median +0.126 R² on ExpansionRx and +0.074 on Biogen, improves on the frozen version on 14 of 15 endpoints, and is behind it on none of the 45 paired calls. On ExpansionRx that more than makes up the deficit; on Biogen it does not. What the paper's arm wins, it wins through fine-tuning, not through what pre-training put in the frozen encoder.

Monroe against frozen Atom-JEPA, both read by the same TabPFN 3 call, MAE paired by fold, ExpansionRx. Each line is one fold.
Monroe against frozen Atom-JEPA, both read by the same TabPFN 3 call, MAE paired by fold, ExpansionRx. Each line is one fold.

What it costs

Each fold fine-tunes the 39-million-parameter encoder for fifty epochs and scores ten conformers of every validation molecule after each one. The frozen arm is negligible next to it: the embedding is made once in about a minute per data set, and its 375 TabPFN 3 fits took about twenty minutes together. The fine-tuned folds ran on two machines, 42 on an RTX 5070 Ti and 8 on a DGX Spark, with the same code, the same conformers and the same seeds.

Data setMachineFoldsMedian min / foldMedian best epoch of 50Peak GPU memory, GBTotal, GPU hours
Biogen ADMEapollo, GeForce RTX 5070 Ti25203014.28.3
ExpansionRxapollo, GeForce RTX 5070 Ti17593611.417.2
ExpansionRxspark, GB1081553811.120.7

What this does and does not say

Scope

One recipe. The fine-tuning hyperparameters are the authors', selected on a Biogen cluster split, and are used unchanged on both data sets, as the paper uses them. Nothing is tuned for Monroe either.

Not the paper's numbers. The paper reports on its own splits and on its own scales for each endpoint. Here every endpoint is on the log10(x + 1) scale and the splits are this site's, so the MAEs are not comparable with its tables; the comparison with its claim is by ranking against the same kinds of comparator.

Two machines. The ExpansionRx folds were split between two GPUs. Each fold is trained and scored on one of them from its own seed, so the comparison is not affected, but a fold run on the other machine would not reproduce it to the last digit. On the DGX Spark the data loader runs in the main process, which changes which random conformer a step draws and nothing else.

Reported the way “Even More Thoughts on ML Method Comparisons” and the protocol paper it points at9 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/atom-jepa.

References

  1. Petersen, K. H.; Tirsgaard, R. H.; Cornet, F. R. J.; Jordahn, M.; Schmidt, M. N. Atom-JEPA: Joint-Embedding Predictive Architecture for 3D Atomistic Systems. Preprint, 2026. The method this page puts to the test, run with the authors' code (github.com/khelverskovp/atom-jepa) and their released encoder (huggingface.co/atom-jepa/atom-jepa). arXiv:2610.08400
  2. Banaszewski, B.; Fitzgibbon, A. W. Monroe: A Molecular Foundation Model for In-Context Probabilistic Inference. Preprint, 2026. The frozen encoder in the strongest arm of the source comparison. arXiv:2608.18982
  3. Grinsztajn, L.; Flöge, K.; Key, O.; et al. TabPFN-3: Technical Report. Preprint, 2026. The head of the Monroe arm and of the frozen Atom-JEPA arm. arXiv:2605.13986
  4. Burns, J. W.; Zalte, A. S.; Abreu, C. R. A.; et al. Deep Learning Foundation Models for Low-Data Regimes from Classical Molecular Descriptors. J. Chem. Inf. Model. 2026, articles ASAP. The pre-trained encoder of the other fine-tuned arm. 10.1021/acs.jcim.6c01546
  5. Graff, D. E.; Morgan, N. K.; Burns, J. W.; et al. Chemprop v2: An Efficient, Modular Machine Learning Package for Chemical Property Prediction. J. Chem. Inf. Model. 2026, 66 (1), 28–33. 10.1021/acs.jcim.5c02332
  6. Rogers, D.; Hahn, M. Extended-Connectivity Fingerprints. J. Chem. Inf. Model. 2010, 50 (5), 742–754. The LightGBM baseline's representation. 10.1021/ci100050t
  7. OpenADMET; Expansion Therapeutics. OpenADMET–ExpansionRx Blind Challenge Data. Hugging Face, 2026, CC BY 4.0. 10.57967/hf/9687
  8. Fang, C.; Wang, Y.; Grater, R.; et al. Prospective Validation of Machine Learning Algorithms for Absorption, Distribution, Metabolism, and Excretion Prediction: An Industrial Perspective. J. Chem. Inf. Model. 2023, 63 (11), 3263–3274. 10.1021/acs.jcim.3c00160
  9. Ash, J. R.; Wognum, C.; Rodríguez-Pérez, R.; et al. Practically Significant Method Comparison Protocols for Machine Learning in Small Molecule Drug Discovery. J. Chem. Inf. Model. 2025, 65 (18), 9398–9411. 10.1021/acs.jcim.5c01609