V20 β€” V16 configuration with fp32 / 1022-window ESM2-35M layer-6 features, runtime guard, V14 fallback

Official competition data only (release a18f8d542c1849507ff1711b970b48b72a998c8c, 42,524 rows). No leaderboard score is claimed.

Model

  • Primary path (V20): frozen ESM2-35M cut to its first 6 layers (final layer norm dropped), fp32, every sequence covered by consecutive 1022-residue windows, mean and population-std pooling over non-special residues. Four tree members: A (handcrafted protein/chemistry features + 35M-L6 mean + exact-substrate prior), B (+ enzyme-neighbour statistics on the 35M-L6 mean), C (+ similar-substrate statistics), D_std (A's columns + the std block); each member = 50% LightGBM per target + 50% multi-output ExtraTrees; LightGBM rounds chosen per member/target by early stopping on a cluster holdout inside the training rows; equal mean of the four members, then blended 0.8 trees + 0.2 MLP (3 seeds, V15 recipe).
  • Fallback path (V14): the packaged V14 three-member ensemble on ESM2-8M. A runtime guard projects the end-to-end time after 25% of the length-sorted encoder windows; if the projection exceeds 470 s the WHOLE input runs on the V14 path (never mixed within one run) and the chosen path is logged to stderr (PATH V20 / PATH V14_fallback). The 35M fp32 encoder is about 2.5x slower than the 8M encoder, so inputs with many distinct long proteins (such as the 1,901-distinct-protein stress workload) take the fallback; an input of about 850 distinct proteins stays on the V20 path on a machine like ours.

Local evidence (V14 partitions, official data only; paired matched-draw M2 gain vs V14)

Mean SCC inner / development / confirmation: V14 0.5314 / 0.5346 / 0.5988; V20 configuration 0.5473 / 0.5576 / 0.6242 (paired gains +0.015 [-0.016, +0.047], +0.021 [-0.001, +0.043], +0.027 [+0.010, +0.048]). The unmodified aura6 reference code scored 0.5467 / 0.5571 / 0.6182 on the same partitions. Splits were reused during development; gains are small and mostly statistically unresolved; a leaderboard run has about +-0.02 noise.

Credit and what is ours

Layer truncation, std pooling and whole-sequence 1022-residue windows are ideas from the supplied aura6 reference (see NOTICE.md). The softmax-kNN statistics of that reference are not used. All code in this package is our own; no aura6 code, weights or predictions are copied.

Interface

predict.py --input in.parquet --output out.csv; input columns id, smiles, sequence; output exactly id,log10_kcat,log10_km, one row per ID, finite values. Offline, CPU-only (2 threads). Exact duplicate (smiles, sequence) pairs are encoded once; no input-specific embedding or prediction cache.

Limitations

The V20 path needs roughly 2x the encoder time of V14; the guard falls back to V14 on slow machines or encoder-heavy inputs, in which case the result is V14's. Embeddings are fp32 and deterministic for identical inputs; tiny floating-point differences versus the training-time embeddings are expected (checked: see tests in the project).

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