Efradeca commited on
Commit
9969798
·
verified ·
1 Parent(s): 83e0e43

Upload folder using huggingface_hub

Browse files
Files changed (2) hide show
  1. README.md +17 -11
  2. stress_operator/seeds.py +4 -5
README.md CHANGED
@@ -142,13 +142,17 @@ method (`torch.compile`); the baseline reproduces the published 0.0064 on its go
142
  | LinearNO, M=256 (this work) | 0.00635 | 0.00622 ± 0.0007 | 3 | 765,313 |
143
  | **+ equilibrium regularizer (this model)** | 0.00653 | 0.00668 ± 0.0006 | 3 | 582,275 |
144
 
145
- **Controlled comparison.** Under identical conditions, LinearNO attains a **lower median and mean
146
- error than our reproduced Transolver baseline, at fewer parameters and with lower variance / fewer
147
- outlier seeds** (1/8 vs. 2/6). This is consistent with LinearNO removing the slice self-attention,
148
- which is the numerically least stable part of the baseline. We do **not** claim to beat the *published*
149
- Transolver: both reproduce ~0.0064 on their best seeds, and the baseline's inflated mean reflects
150
- `torch.compile` run-to-run variance, to which LinearNO is more robust. The single best LinearNO run
151
- (M=256) reaches **0.00529**, approaching the paper's 0.0046–0.0050.
 
 
 
 
152
 
153
  **Physical consistency.** The regularizer reduces the discrete equilibrium residual ‖∇·σ‖² by
154
  **~360×** (6.1e6 → 1.7e4) at no measured accuracy cost, and this consistency is maintained
@@ -159,10 +163,12 @@ out-of-distribution (OOD residual 1.73e4 vs. in-distribution 1.61e4).
159
 
160
  #### Summary
161
 
162
- Over 6–8 seeds under identical conditions, LinearNO is more numerically robust than the reproduced
163
- Transolver baseline and attains a lower median error at fewer parameters; the equilibrium-regularized
164
- model (this checkpoint) preserves that accuracy while making the predicted stress field satisfy
165
- discrete static equilibrium (∇·σ ≈ 0), a property maintained under geometric covariate shift.
 
 
166
 
167
  ## Technical Specifications
168
 
 
142
  | LinearNO, M=256 (this work) | 0.00635 | 0.00622 ± 0.0007 | 3 | 765,313 |
143
  | **+ equilibrium regularizer (this model)** | 0.00653 | 0.00668 ± 0.0006 | 3 | 582,275 |
144
 
145
+ **Controlled comparison (with appropriate caution).** In this sample, LinearNO's median error
146
+ (0.00606) is lower than our reproduced baseline's (0.00766) at fewer parameters, and LinearNO reaches
147
+ the published LinearNO/Transolver level on its good seeds (best run, M=256: **0.00529**). However, both
148
+ models show **high run-to-run variance** (`torch.compile` non-determinism on a 1000-sample dataset),
149
+ and the baseline's higher mean is driven by 2 outlier seeds. We **do not** claim LinearNO "beats" the
150
+ baseline or is "more robust": with these seed counts (6 vs. 8) the difference may partly reflect
151
+ sampling noise, and an attempted mechanistic explanation (degenerate slice assignments in the
152
+ baseline's slice self-attention) was **empirically tested and refuted** — the outlier seed is a generic
153
+ poor-generalization minimum (healthy train loss, worse test loss), not a slice-attention failure. The
154
+ honest reading is that LinearNO is **comparable to** the baseline at ≤ its parameters, both reproducing
155
+ ~0.0064 on good seeds.
156
 
157
  **Physical consistency.** The regularizer reduces the discrete equilibrium residual ‖∇·σ‖² by
158
  **~360×** (6.1e6 → 1.7e4) at no measured accuracy cost, and this consistency is maintained
 
163
 
164
  #### Summary
165
 
166
+ Over 6–8 seeds under identical conditions, LinearNO is **comparable to** the reproduced Transolver
167
+ baseline (lower median in this sample, but within the high run-to-run variance), at ≤ its parameter
168
+ count. The original contribution of this checkpoint is physical consistency: the equilibrium
169
+ regularizer makes the predicted stress field satisfy discrete static equilibrium (∇·σ ≈ 0) at no
170
+ measured accuracy cost — a property maintained under geometric covariate shift and verified node-by-node
171
+ against FEM (R² = 0.9999).
172
 
173
  ## Technical Specifications
174
 
stress_operator/seeds.py CHANGED
@@ -24,8 +24,7 @@ def set_seed(seed: int, deterministic: bool = True) -> None:
24
  if deterministic:
25
  torch.backends.cudnn.deterministic = True
26
  torch.backends.cudnn.benchmark = False
27
- # NOTE: torch.use_deterministic_algorithms(True) was tried but it markedly DEGRADED
28
- # convergence of the Physics-Attention baseline (slice self-attention) on GPU (baseline
29
- # eager landed ~0.0090 vs ~0.0068 without it), while leaving LinearNO unaffected. We
30
- # therefore do not force it; reproducibility is handled by averaging seeds and disclosing
31
- # run-to-run variance (README + model card). See docs/RECONCILIATION.md / PART 6 caveat 6.
 
24
  if deterministic:
25
  torch.backends.cudnn.deterministic = True
26
  torch.backends.cudnn.benchmark = False
27
+ # NOTE: torch.use_deterministic_algorithms(True) was tried but it coincided with a worse
28
+ # Transolver-baseline result on GPU (baseline eager ~0.0090 vs ~0.0068 without it); we did
29
+ # not isolate the cause and do not force it. Reproducibility is handled by averaging seeds
30
+ # and disclosing run-to-run variance (README + model card). See PART 6 caveat 6.