File size: 2,496 Bytes
89c389f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
f89d4c1
89c389f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
---
tags:
  - protein-structure-prediction
  - alphafold3
  - deepfold3
---

# DeepFold3

Weights for DeepFold3, a PyTorch biomolecular complex structure predictor architecturally equivalent to AlphaFold 3.
Each `.safetensors` file embeds its architectural `ModelConfig` as JSON in the header (`model_cfg_json`), so
`deepfold3 inference` rebuilds the trained architecture without a sidecar config.

## Checkpoints

| File | Run | Step | Snapshot | Params | SHA-256 |
| --- | --- | --- | --- | --- | --- |
| `df3-stage1-r19/checkpoint_120000.safetensors` | df3-stage1-r19 | 120,000 | EMA shadow (decay 0.999) | 310,190,170 (fp32) | `aef0468336c0a0ed7ecdadbb5397cfbfe3de0c552b72957dc77b6d1fea29ba2e` |

## df3-stage1-r19 @ 120k

**Architecture (r19).** The trunk has no triangle attention and no single track: each PairFormer block is
TriMulOutgoing + TriMulIncoming (plain AF3 TriangleMul) + FFN. Diffusion conditioning does not consume the trunk single (`conditioning_use_trunk_single: false`).
The confidence-head and template PairFormers are unchanged from AF3.

| | |
| --- | --- |
| pair / single / MSA channels | 256 / 384 / 128 |
| PairFormer layers | 48 |
| MSA module layers | 4 |
| Diffusion transformer blocks | 24 |
| Confidence PairFormer layers | 4 |
| Recycles | 10 |

**Training.**

- Stage 0 from scratch (`configs/df3-stage0-r19.yaml`) to step 71,000, then stage 1 (`configs/stage1.yaml`:
  512-token crop, bond loss on, shape-complementarity loss 0.03) resumed from that checkpoint.
- AdamW, lr 9e-4, EMA decay 0.999, 112 GPUs.
- Dataset mix (weights at step 120k): OpenFold3 `pdb_training_set` 0.5, OF3 long monomers 0.2, AFDB (NVIDIA)
  0.15, TEDdymer 0.1, OF3 short monomers 0.05. The weighted PDB set was `patchr` until step 20,000.
- Step 120,000 is the optimizer step (`effective_step`). The checkpoint's `global_step` is 169,000 because stage 1
  accumulates 2 micro-batches per step.

**Export.** `deepfold3 export --snapshot auto` from `runs/df3-stage1-r19/checkpoint_120000.pt` (commit `131baf6`).
The run is AdamW + EMA, so `auto` selects the EMA shadow (the deployment snapshot used by inference and eval).
Verified bitwise-identical to the checkpoint's shadow overlay; loads into `DeepFold3` with no missing or
unexpected keys.

## Usage

```bash
hf download vv137/deepfold3 df3-stage1-r19/checkpoint_120000.safetensors --local-dir weights/
deepfold3 inference --json input.json --output out/ \
    --params weights/df3-stage1-r19/checkpoint_120000.safetensors
```