3D_LLM_Diffusion / README.md
Yangfan78's picture
Translate model card to English
5d7313f verified
|
Raw
History Blame Contribute Delete
4.18 kB
---
license: other
tags:
- materials-science
- crystal-generation
- diffusion
- lora
---
# 3D_LLM_Diffusion β€” Model Weights
Weights only. Code and usage documentation: https://github.com/Richardyangfan78/3D_LLM_Diffusion
```bash
hf download Yangfan78/3D_LLM_Diffusion --local-dir weights
```
Three independent weight sets.
---
## `generator_v41/` β€” Conditional crystal generator
| File | Size | Description |
|---|---:|---|
| `best.pt` | 378.9 MB | All generator weights, backbone included |
| `priors/train.csv` | 75.2 MB | Read at sampling time: atom-count prior + allowed element set |
| `priors/val.csv` | 25.0 MB | Validation split |
| `eval/` | β€” | Evaluation records |
| Property | Value |
|---|---|
| Architecture ID | `mattergen-spacegroup-hhi-qwen-crossattention-crystalite-v8` |
| Parameters | 94.63 M (777 tensors) |
| Dimensions | d_model 512 / 14 layers / 16 heads |
| Training step | 6000 |
| Atom type encoding | `subatomic_tokenizer_pca_16` (16-d continuous) |
| Lattice representation | `ltri` |
| SHA-256 | `cd67729bd862537be9113146ebdf48db81f86a53a4a32cd99c751bba0e06fa4a` |
Eight condition channels: `chemical_system`, `space_group`, `dft_band_gap`, `dft_bulk_modulus`, `dft_mag_density`, `energy_above_hull`, `hhi_score`, `ml_bulk_modulus`.
The inference policy and sampler settings are stored inside the checkpoint and apply automatically:
```
guidance global 1.0 | band_gap 1.5 | e_above_hull 2.0 | element+hull joint 2.25
sampler 150 steps, sigma 0.002 to 80, rho 7, S_churn 60
```
---
## `text_conditioning/` β€” Text condition vectors and encoders
| File | Size | Description |
|---|---:|---|
| `val_text_xrd_z.pt` | 22.1 MB | 18,094 pre-encoded vectors, 256-d each |
| `trimodal_best.pt` | 51.4 MB | Crystal-text-XRD tri-modal encoder |
| `qwen_latent_adapter_best.pt` | 9.5 MB | Qwen hidden states to 256-d vector adapter |
| `val_text_xrd_z.pt.meta.json` | β€” | Provenance metadata |
`val_text_xrd_z.pt` is a dict keyed as:
```
mp-865981__text text modality vector
mp-865981__xrd XRD modality vector
```
Conditioning on these pre-encoded vectors requires no language model. Encoding new text requires Qwen3.6-35B-A3B (revision `995ad96eacd98c81ed38be0c5b274b04031597b0`) together with the other two files.
Tri-modal encoder SHA-256: `fa5dbe01af4d733022ab2d2a1db0e425414e2148154254931a1acb290029ea94`
---
## `3D_Property/` β€” Property prediction (LoRA)
Adapter weights on top of Qwen3.6-35B-A3B. The base model is neither included here nor modified.
| File | Size | Description |
|---|---:|---|
| `step_6500/lora_adapter/` | 613.5 MB | LoRA weights, PEFT standard format |
| `step_6500/projector.pt` | 18.9 MB | Per-atom features to Qwen embedding space |
| `step_6500/trainer_state.pt` | 1265.1 MB | Optimizer moments, LR schedule, RNG, sampler state |
| `step_6500/checkpoint_metadata.json` | β€” | Training metadata |
| `stage1_projector.pt` | 18.9 MB | Stage-1 projector |
| Property | Value |
|---|---|
| Base model | Qwen3.6-35B-A3B @ `995ad96eacd98c81ed38be0c5b274b04031597b0` |
| LoRA | r=128, alpha=256, dropout=0.05 |
| Attached to | 250 linear layers (`q/k/v/o_proj`, `gate/up/down_proj`, `in_proj_qkv`, `in_proj_z`, `out_proj`) |
| Trainable parameters | 153,354,240 (~0.44% of base) |
| Progress | step 6500 / 12000 |
| Reference environment | H200 single GPU, ~105.7 GB VRAM, effective batch 256 |
```python
from peft import PeftModel
from transformers import AutoModelForCausalLM
base = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3.6-35B-A3B",
revision="995ad96eacd98c81ed38be0c5b274b04031597b0",
)
model = PeftModel.from_pretrained(base, "weights/3D_Property/step_6500/lora_adapter")
```
`projector.pt` is loaded separately to produce the per-atom soft tokens. `trainer_state.pt` is only needed to resume training and can be skipped for inference.
---
## License
The denoising trunk inside `generator_v41/best.pt` derives from the Crystalite research backbone, MIT License, Copyright (c) 2026 Joshua Rosenthal. The `3D_Property/` LoRA weights derive from Qwen3.6-35B-A3B (Apache-2.0). Full third-party attribution is in the `NOTICE` file of the code repository.