sathyae commited on
Commit
3d8c7f7
·
verified ·
1 Parent(s): 7837eec

Upload folder using huggingface_hub

Browse files
alm-gen/README.md ADDED
@@ -0,0 +1,85 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ tags:
4
+ - materials
5
+ - diffusion
6
+ - crystal-generation
7
+ - mattergen
8
+ ---
9
+ # ALM Gen · de-novo crystal generation
10
+
11
+ **ALM Gen** turns a natural-language description into a novel crystal by steering the
12
+ **`mattergen_base`** diffusion decoder with classifier-free guidance. The K=8 `[atoms_i]`
13
+ soft tokens feed a **consumer-only** bridge (a per-token projection whose output is read
14
+ by the cross-attention consumer inside the decoder); there is no learnable-query producer.
15
+
16
+ Contents: `atoms_mapper.pt` (consumer-only bridge, optimizer stripped) + `lora_adapter/`
17
+ (r=8 LLM bridge LoRA) + `projector_and_state.pt`. The base decoder is fetched separately
18
+ (`mattergen_base`, via `external/setup_mattergen.sh`); pass this repo subdir as
19
+ `--alm_checkpoint` (the r8 adapter applies directly).
20
+
21
+ *De novo* generation against the MP-20 hull: stability S is E_hull ≤ 0.016 eV/atom,
22
+ structures pre-relaxed, N=10×1000 (95% CIs in the paper):
23
+
24
+ | Method | E_hull (eV)↓ | U (%)↑ | V_struct (%)↑ | V_chem (%)↑ | **SUN** (%)↑ |
25
+ |---|--:|--:|--:|--:|--:|
26
+ | CrystalTextLLM | 0.61 | 47.40 | 90.01 | 91.59 | 0.38 |
27
+ | PLAID++ Wyckoff | 0.57 | 40.70 | 89.06 | 91.59 | 0.50 |
28
+ | CrysReas-Base (SFT) | 0.58 | 35.25 | 84.03 | 90.36 | 0.57 |
29
+ | CrysReas-Thinking | 0.52 | 38.64 | 91.29 | 91.72 | 0.59 |
30
+ | CrysReas-RL | 0.53 | 82.49 | 89.85 | 91.10 | 1.23 |
31
+ | CrysReas | 0.45 | 87.23 | 94.92 | **91.78** | 1.70 |
32
+ | MatterGen (Base, g=0) | **0.079** | 93.50 | **100.00** | 86.50 | 5.53 |
33
+ | **ALM Gen** (g=0.5) | 0.085 | **98.90** | **100.00** | 83.20 | **7.80** |
34
+ | ALM Gen + FK-stoich | 0.086 | 73.80 | **100.00** | 84.50 | 5.21 |
35
+
36
+ Steering the base decoder with language at g=0.5 *improves* SUN over the g=0 MatterGen base
37
+ (5.53 → **7.80**), SoTA on this protocol.
38
+
39
+ *De novo* generation on LeMat-GenBench (N=2500): strict stability is Ē_hull < 0,
40
+ metastability E_hull < 0.1; E_f / E_hull / RMSD scored by 3 MLIPs:
41
+
42
+ | Model | Valid↑ | Unique↑ | Novel↑ | E_f↓ | Ē_hull↓ | RMSD↓ | Stable↑ | SUN↑ | Meta↑ | **MSUN**↑ |
43
+ |---|--:|--:|--:|--:|--:|--:|--:|--:|--:|--:|
44
+ | MatterGen | 95.7 | 95.1 | **70.5** | -0.70 | 0.18 | 0.39 | 2.0 | 0.2 | 33.4 | 15.0 |
45
+ | PLaID++ | 96.0 | 77.8 | 24.2 | -0.50 | 0.09 | 0.13 | 12.4 | **1.0** | 60.7 | 7.6 |
46
+ | WyFormer | 93.4 | 93.0 | 66.4 | -0.43 | 0.50 | 0.81 | 0.5 | 0.1 | 15.7 | 1.9 |
47
+ | WyFormer-DFT | 95.2 | 95.0 | 66.4 | -0.67 | 0.27 | 0.42 | 3.7 | 0.4 | 24.8 | 7.8 |
48
+ | MCFlow-S | 97.2 | **96.3** | 52.2 | -0.85 | 0.10 | 0.16 | 11.7 | 0.7 | 49.5 | 18.9 |
49
+ | MCFlow-B | 97.7 | 95.5 | 25.4 | -0.91 | 0.05 | 0.08 | 17.6 | 0.7 | 64.3 | 11.9 |
50
+ | MCFlow-L | **98.6** | 95.2 | 18.6 | **-0.93** | **0.04** | **0.06** | **18.8** | 0.5 | **68.3** | 9.3 |
51
+ | **ALM Gen** | 92.2 | 91.3 | 61.5 | -0.44 | 0.09 | 0.20 | 3.6 | 0.8 | 58.7 | **35.2** |
52
+
53
+ Tops the field on metastable yield (**MSUN 35.2**); second to the *de novo*-specialist flow
54
+ models at strict SUN.
55
+
56
+ **Generate structures from a description (inference):**
57
+ ```bash
58
+ alm-generate generate --alm_checkpoint alm-gen \
59
+ --atoms_mapper alm-gen/atoms_mapper.pt --mattergen_pretrained mattergen_base \
60
+ --prompt "A cubic rock-salt oxide of magnesium." --num_samples 8 \
61
+ --guidance_factor 0.5 --out_dir gen_out
62
+ ```
63
+
64
+ **Evaluate (de-novo S/U/N/SUN/MSUN):**
65
+ ```bash
66
+ alm-eval-dng --alm_checkpoint alm-gen \
67
+ --atoms_mapper alm-gen/atoms_mapper.pt --mattergen_pretrained mattergen_base \
68
+ --guidance_factor 0.5 --num_samples 1000 --out_root out --run_id dng
69
+ ```
70
+
71
+ ## Links
72
+ Paper: [arXiv](https://arxiv.org/abs/2606.21395) · [HuggingFace](https://huggingface.co/papers/2606.21395) · Code: [GitHub](https://github.com/learningmatter-mit/alm)
73
+
74
+ ## License
75
+ Apache-2.0.
76
+
77
+ ## Citation
78
+ ```bibtex
79
+ @article{edamadaka2026atomistic,
80
+ title = {Atomistic Language Models Understand and Generate Materials},
81
+ author = {Edamadaka, Sathya and Ramesh, Krithik and Li, Ju and G\'omez-Bombarelli, Rafael},
82
+ journal = {arXiv preprint arXiv:2606.21395},
83
+ year = {2026}
84
+ }
85
+ ```
alm-gen/atoms_mapper.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:368ee928a432b9e4363f851fae9306e26c6980700f7ee2587db03ab58ccfd430
3
+ size 172252735
alm-gen/lora_adapter/README.md ADDED
@@ -0,0 +1,207 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: Qwen/Qwen3-8B
3
+ library_name: peft
4
+ pipeline_tag: text-generation
5
+ tags:
6
+ - base_model:adapter:Qwen/Qwen3-8B
7
+ - lora
8
+ - transformers
9
+ ---
10
+
11
+ # Model Card for Model ID
12
+
13
+ <!-- Provide a quick summary of what the model is/does. -->
14
+
15
+
16
+
17
+ ## Model Details
18
+
19
+ ### Model Description
20
+
21
+ <!-- Provide a longer summary of what this model is. -->
22
+
23
+
24
+
25
+ - **Developed by:** [More Information Needed]
26
+ - **Funded by [optional]:** [More Information Needed]
27
+ - **Shared by [optional]:** [More Information Needed]
28
+ - **Model type:** [More Information Needed]
29
+ - **Language(s) (NLP):** [More Information Needed]
30
+ - **License:** [More Information Needed]
31
+ - **Finetuned from model [optional]:** [More Information Needed]
32
+
33
+ ### Model Sources [optional]
34
+
35
+ <!-- Provide the basic links for the model. -->
36
+
37
+ - **Repository:** [More Information Needed]
38
+ - **Paper [optional]:** [More Information Needed]
39
+ - **Demo [optional]:** [More Information Needed]
40
+
41
+ ## Uses
42
+
43
+ <!-- Address questions around how the model is intended to be used, including the foreseeable users of the model and those affected by the model. -->
44
+
45
+ ### Direct Use
46
+
47
+ <!-- This section is for the model use without fine-tuning or plugging into a larger ecosystem/app. -->
48
+
49
+ [More Information Needed]
50
+
51
+ ### Downstream Use [optional]
52
+
53
+ <!-- This section is for the model use when fine-tuned for a task, or when plugged into a larger ecosystem/app -->
54
+
55
+ [More Information Needed]
56
+
57
+ ### Out-of-Scope Use
58
+
59
+ <!-- This section addresses misuse, malicious use, and uses that the model will not work well for. -->
60
+
61
+ [More Information Needed]
62
+
63
+ ## Bias, Risks, and Limitations
64
+
65
+ <!-- This section is meant to convey both technical and sociotechnical limitations. -->
66
+
67
+ [More Information Needed]
68
+
69
+ ### Recommendations
70
+
71
+ <!-- This section is meant to convey recommendations with respect to the bias, risk, and technical limitations. -->
72
+
73
+ Users (both direct and downstream) should be made aware of the risks, biases and limitations of the model. More information needed for further recommendations.
74
+
75
+ ## How to Get Started with the Model
76
+
77
+ Use the code below to get started with the model.
78
+
79
+ [More Information Needed]
80
+
81
+ ## Training Details
82
+
83
+ ### Training Data
84
+
85
+ <!-- This should link to a Dataset Card, perhaps with a short stub of information on what the training data is all about as well as documentation related to data pre-processing or additional filtering. -->
86
+
87
+ [More Information Needed]
88
+
89
+ ### Training Procedure
90
+
91
+ <!-- This relates heavily to the Technical Specifications. Content here should link to that section when it is relevant to the training procedure. -->
92
+
93
+ #### Preprocessing [optional]
94
+
95
+ [More Information Needed]
96
+
97
+
98
+ #### Training Hyperparameters
99
+
100
+ - **Training regime:** [More Information Needed] <!--fp32, fp16 mixed precision, bf16 mixed precision, bf16 non-mixed precision, fp16 non-mixed precision, fp8 mixed precision -->
101
+
102
+ #### Speeds, Sizes, Times [optional]
103
+
104
+ <!-- This section provides information about throughput, start/end time, checkpoint size if relevant, etc. -->
105
+
106
+ [More Information Needed]
107
+
108
+ ## Evaluation
109
+
110
+ <!-- This section describes the evaluation protocols and provides the results. -->
111
+
112
+ ### Testing Data, Factors & Metrics
113
+
114
+ #### Testing Data
115
+
116
+ <!-- This should link to a Dataset Card if possible. -->
117
+
118
+ [More Information Needed]
119
+
120
+ #### Factors
121
+
122
+ <!-- These are the things the evaluation is disaggregating by, e.g., subpopulations or domains. -->
123
+
124
+ [More Information Needed]
125
+
126
+ #### Metrics
127
+
128
+ <!-- These are the evaluation metrics being used, ideally with a description of why. -->
129
+
130
+ [More Information Needed]
131
+
132
+ ### Results
133
+
134
+ [More Information Needed]
135
+
136
+ #### Summary
137
+
138
+
139
+
140
+ ## Model Examination [optional]
141
+
142
+ <!-- Relevant interpretability work for the model goes here -->
143
+
144
+ [More Information Needed]
145
+
146
+ ## Environmental Impact
147
+
148
+ <!-- Total emissions (in grams of CO2eq) and additional considerations, such as electricity usage, go here. Edit the suggested text below accordingly -->
149
+
150
+ Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700).
151
+
152
+ - **Hardware Type:** [More Information Needed]
153
+ - **Hours used:** [More Information Needed]
154
+ - **Cloud Provider:** [More Information Needed]
155
+ - **Compute Region:** [More Information Needed]
156
+ - **Carbon Emitted:** [More Information Needed]
157
+
158
+ ## Technical Specifications [optional]
159
+
160
+ ### Model Architecture and Objective
161
+
162
+ [More Information Needed]
163
+
164
+ ### Compute Infrastructure
165
+
166
+ [More Information Needed]
167
+
168
+ #### Hardware
169
+
170
+ [More Information Needed]
171
+
172
+ #### Software
173
+
174
+ [More Information Needed]
175
+
176
+ ## Citation [optional]
177
+
178
+ <!-- If there is a paper or blog post introducing the model, the APA and Bibtex information for that should go in this section. -->
179
+
180
+ **BibTeX:**
181
+
182
+ [More Information Needed]
183
+
184
+ **APA:**
185
+
186
+ [More Information Needed]
187
+
188
+ ## Glossary [optional]
189
+
190
+ <!-- If relevant, include terms and calculations in this section that can help readers understand the model or model card. -->
191
+
192
+ [More Information Needed]
193
+
194
+ ## More Information [optional]
195
+
196
+ [More Information Needed]
197
+
198
+ ## Model Card Authors [optional]
199
+
200
+ [More Information Needed]
201
+
202
+ ## Model Card Contact
203
+
204
+ [More Information Needed]
205
+ ### Framework versions
206
+
207
+ - PEFT 0.19.1
alm-gen/lora_adapter/adapter_config.json ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "alora_invocation_tokens": null,
3
+ "alpha_pattern": {},
4
+ "arrow_config": null,
5
+ "auto_mapping": null,
6
+ "base_model_name_or_path": "Qwen/Qwen3-8B",
7
+ "bias": "none",
8
+ "corda_config": null,
9
+ "ensure_weight_tying": false,
10
+ "eva_config": null,
11
+ "exclude_modules": null,
12
+ "fan_in_fan_out": false,
13
+ "inference_mode": true,
14
+ "init_lora_weights": true,
15
+ "layer_replication": null,
16
+ "layers_pattern": null,
17
+ "layers_to_transform": null,
18
+ "loftq_config": {},
19
+ "lora_alpha": 16,
20
+ "lora_bias": false,
21
+ "lora_dropout": 0.0,
22
+ "lora_ga_config": null,
23
+ "megatron_config": null,
24
+ "megatron_core": "megatron.core",
25
+ "modules_to_save": null,
26
+ "peft_type": "LORA",
27
+ "peft_version": "0.19.1",
28
+ "qalora_group_size": 16,
29
+ "r": 8,
30
+ "rank_pattern": {},
31
+ "revision": null,
32
+ "target_modules": [
33
+ "q_proj",
34
+ "v_proj",
35
+ "gate_proj",
36
+ "k_proj",
37
+ "o_proj",
38
+ "down_proj",
39
+ "up_proj"
40
+ ],
41
+ "target_parameters": null,
42
+ "task_type": "CAUSAL_LM",
43
+ "trainable_token_indices": null,
44
+ "use_bdlora": null,
45
+ "use_dora": false,
46
+ "use_qalora": false,
47
+ "use_rslora": false
48
+ }
alm-gen/lora_adapter/adapter_model.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:016c1ee64cb352a97c2c32d87ac9cd33f6ce33e8a42feb23b746e213486da90f
3
+ size 87360584
alm-gen/projector_and_state.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d54c727d8dd4a68bf3cd0ccd6156a6874f0b4d1e4c6910256ffc078b57d2102a
3
+ size 71338453