Skip to content

perf: accuracy improvement roadmap for 40Q+ CAS (28.8 mHa gap vs SCI) #35

@thc1006

Description

@thc1006

當前狀態(2026-04-02 最終更新)

HI-NQS IBM 結果

系統 能量 (Ha) 組態數 時間 Solver
H₂O 14Q -75.0129 333 4.7s IBM
NH₃ 16Q -55.5192 905 5.2s IBM
C₂H₂ 24Q(5K samples) -76.0245738 5,432 456s IBM
N₂ 40Q(5K samples) -109.1844 6,868 1,173s IBM

SCI (CIPSI) vs HI-NQS 對比(Numba + IBM solver,充足參數)

C2H2 24Q — HI-NQS 贏:

方法 能量 (Ha) 組態數 時間
SCI(自然收斂) -76.0245276 7,406 1,088s
HI-NQS IBM -76.0245738 5,432 456s

HI-NQS 低 0.46 mHa,快 2.4 倍。

N₂ 40Q — SCI 能量更低但代價巨大:

方法 能量 (Ha) 組態數 時間 RAM
SCI(50K 上限,未收斂) -109.2132 50,000 3h45m 60 GB
HI-NQS IBM -109.1844 6,868 20 min ~2 GB

SCI 低 28.8 mHa,但 11.5x 時間、30x 記憶體、仍未收斂。

改善路線

Tier 1:縮小 40Q 的 28.8 mHa 差距

# 技術 預期改善 實作複雜度 來源
1 H-connection expansion(SHCI/ASCI 模式):從高 |c_i|² 的 determinants 生成 S+D excitations,PT2 篩選後加入 basis 10-20 mHa SHCI, ASCI, HAAR-SCI
2 E_PT2 能量修正E_PT2 = Σ |⟨x|H|Φ⟩|² / (E₀ - H_xx) 5-15 mHa 所有 SCI 方法的標準做法
3 增大 basis(增加 n_samples_per_iter) 2-5 mHa C2H2 從 2K→5K 改善 1.6 mHa

Tier 2:進一步逼近化學精度

# 技術 預期改善 來源
4 保持高溫取樣(T≥1.5)延長探索期 1-3 mHa arXiv:2603.24728
5 Curriculum learning(從小 CAS 預訓練再遷移到大 CAS) 加速收斂 arXiv:2505.00233

Tier 3:長期

# 技術 來源
6 自己實作 factored-space Davidson solver(不依賴 IBM) 減少 optional dep
7 GPU 加速 PT2 scoring(torch.searchsorted 取代 Python dict) Issue #32
8 r-ccs-cms/sbd 整合(ADR-003 Phase 2 nanobind) 40x 加速

關鍵文獻

  • NQS-SC (arXiv:2602.12993, 2026):驗證 NQS+SCI 方法,H₂O/6-31G 化學精度只需 2K configs
  • HAAR-SCI (JCTC 2025):Transformer + H-connection + Gumbel top-k
  • IBM SQD (Science Advances 2025):58Q N₂,16M configs/batch,tens of mHa
  • SHCI (Sharma et al. 2017):N₂/cc-pVTZ 189K dets, 14 秒
  • GTNN-SCI (JCTC 2025):Generative Transformer SCI,[2Fe-2S] 化學精度

實作順序

  1. Tier 1 refactor: SKQD naming fix, NQS interop, logging, CI (ADR-001) #2(E_PT2 correction) — 最低成本最高效益
  2. Tier 1 Bug: config_loader._get_explicit_cli_args fails with positional and store_true arguments #1(H-connection expansion) — 整合已有的 SelectedCIExpander 到 HI-NQS loop
  3. Tier 1 fix: resolve two ValueError bugs in config_loader._get_explicit_cli_args #3(增大 basis) — 調參數 + 驗證 sparse diag 在 50K 上的效能

相關

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions