5003.大模型-架构-RFdiffusion3-0.架构与训练全景

RFdiffusion3(RFD3;Butcher et al., bioRxiv 2025,DOI 10.1101/2025.09.18.676967)是华盛顿大学蛋白质设计所(IPD)发布的全原子扩散设计模型:扩散基本单位是原子坐标,可在配体、核酸等非蛋白原子语境下生成蛋白。它与 RFdiffusion / RFdiffusion2 无共享代码,骨架更接近「去掉 AF3 重型序列 trunk、保留轻量 Pairformer + AF3 式扩散模块」的倒置 AF3。官方开源在 RosettaCommons Foundrymodels/rfd3),约 1.68×10⁸ 可训参数;预印本称相对 RFD2 约 10× 加速。

段末注释EDM(Elucidating the Design Space of Diffusion-Based Generative Models)是 Karras 等提出的连续噪声尺度扩散训练/采样配方;Pairformer 源自 AlphaFold3,处理单轨 (s_i) 与对轨 (z_{ij});AtomWorks 是 Foundry 的结构解析/批处理公共框架。

前置阅读Diffusion-0 全景Diffusion-5 结构生成实践(RFD1 骨架扩散对照)、ProteinMPNN(下游常用序列设计)

插图目录5003.大模型-架构-RFdiffusion3-0.架构与训练/
代码RosettaCommons/foundry · models/rfd3
输入规范docs/input.md


0. 先建立全局心智模型

问题 RFD3 的答案
生成什么? 蛋白(及可选伴随链)的全体坐标 (X \in \mathbb{R}^{L\times 3})((L)=原子数)+ 可选残基类型 logits
条件是什么? 不是 MSA/序列 trunk,而是 motif 原子坐标/序列固定掩码、配体/DNA、氢键标签、热点、COM、对称噪声、SASA/rasa 等设计约束
噪声加在哪? 原子 3D 坐标上(EDM);固定原子 (\sigma=0),去噪步保证复现
网络长什么样? TokenInitializer(轻量条件编码)→ DiffusionModule(U-Net:atom 下采样 ↔ token 主干 ↔ atom 上采样)
训练谁? 端到端全部 RFD3 权重(TokenInitializer + DiffusionModule + sequence head);推理用 EMA shadow
下游还要什么? 多数任务仍用 ProteinMPNN / LigandMPNN 重设计序列 → AF3 自洽筛选

图 1 噪声原子 → U-Net 双轨 → 去噪全原子结构(科普示意)

生物学直觉:传统小分子抑制剂抢占 ATP 口袋;蛋白设计常需要原子级的几何化学约束(氢键供受体几何、酶活性位点尖端原子、DNA 碱基特异接触)。残基级骨架扩散(RFD1)看不到侧链与配体细节;RFD2 用「tip-atom 条件 + 残基扩散」折中;RFD3 直接扩散 全侧链原子,使「约束」与「被生成自由度」落在同一原子坐标系。


1. 最上游:输入信息包含什么、如何获取

1.1 三条来源管道

管道 你拿到什么 如何获取
A. 结构文件 PDB/mmCIF 原子坐标、占有率、链 ID、残基名、配体 CCD RCSB 镜像;训练需 PDB + CCD(见 AtomWorks mirrors)
B. 设计 JSON/YAML contig、热点、固定原子、配体名、对称、长度等 手写或复制 Foundry docs/examples/*.json;推理 rfd3 design inputs=...
C. AtomWorks / transforms 统一 AtomArrayf 特征字典、扩散掩码 Foundry 训练/推理 pipeline 自动解析;自定义集合同样走 AtomWorks

推理入口字段(InputSpecification,节选):

字段 含义
input PDB/CIF 路径(含靶标/motif)
contig 索引 motif:如 "A1-80,10,/0,B5-12"(固定区 + 设计长度)
unindex 非索引 motif:序列位置未定、坐标条件给定(酶 tip-atom 常用)
length 设计总长度 "min-max" 或定长
ligand 按 CCD 名或索引选配体
select_fixed_atoms 坐标固定原子子集
select_unfixed_sequence 哪些区域序列可改(默认输入区序列固定)

段末注释contig 来自 RFdiffusion 家族:把「保留 motif」与「插入设计段」写成一串;unindexed 指不暴露该残基在全序列中的全局索引,只给 3D 约束,利于酶活性位点脚手架的多样性。

1.2 模型真正「吃」的特征张量(f / ({f^*}))

TokenInitializer / DiffusionModule 不直接读原始 PDB 字符串,而是读 AtomWorks 产出的特征字典。按轨分类:

(1)原子级 1D(atom_1d_features,发布配置)

特征 维度意图 生物学/几何含义
ref_atom_name_chars 原子名编码 区分 N/CA/C/O、侧链原子槽;虚拟原子名编码消歧 Cys/Ser
ref_element 元素类型 C/N/O/S/P 等化学种类
ref_charge 形式电荷 配体/离子电化学
ref_mask / has_zero_occupancy 有效/占有 PDB 未解析原子不入损
ref_is_motif_atom_with_fixed_coord 坐标固定掩码 motif 约束;对应 EDM 中 (t=0) 通道置零
ref_is_motif_atom_unindexed 非索引 tip/侧链约束 酶设计「尖端原子」
ref_pos 参考坐标 固定原子 / 参考构象种子
ref_atomwise_rasa 相对溶剂可及性 掩埋/暴露控制(配体埋藏)
active_donor / active_acceptor 氢键供/受体标注 HBPLUS 几何;引导 H-bond 网络
is_atom_level_hotspot 原子级热点 PPI 接触面,细于残基热点

(2)令牌级 1D(token_1d_features

特征 含义
restype 32 类残基类型(标准 AA + 其它槽)
ref_motif_token_type motif 类型标签
ref_plddt 蒸馏结构全局可信度开关(训练常 pLDDT>80
is_non_loopy 非环含量条件(抑制过度无序骨架)

(3)几何与配对

  • 相对位置编码 (r_{\max}=32,s_{\max}=2):链内/链间相对索引;非索引用特殊 UNK bin(无全局偏移)。
  • 原子对 / 令牌对:距离嵌入、motif 位置正弦嵌入、键合信息线性嵌入。
  • 映射atom_to_token_map(哪个原子属哪个 token)。

(4)训练态动态构造(transforms,非推理必填)

条件采样器 干什么 生物学任务对应
tipatom 采侧链连通子图为 tip 约束 酶活性位点、官能团几何
island 若干连续残基「岛」作 motif 通用脚手架 / partial motif
ppi 整条 binder 链 + 空间裁剪 + 热点 蛋白–蛋白界面
sequence_design 更接近逆折叠式(固定更多坐标) 与 MPNN 任务衔接
unconditional 几乎无 motif 无条件骨架生成
dna_condition + DNA Contact Crop 接触处扩蛋白+短 DNA 序列特异 DNA binder

氢键训练:crop 后用 HBPLUS(H–A ≤3 Å,D–A ≤3.5 Å);仅 (p=0.2) 算氢键,再 (p=0.5) 子采样,防过拟合。

1.3 Atom14 填充:为何「所有残基都是 14 原子」

挑战:色氨酸侧链最重,其余 AA 原子数不同 → 张量不规则
方法:每残基固定 4 骨架 + 10 侧链槽 = Atom14;不足槽位在 (Gly 在 Cα)放虚拟原子。网络靠 原子名 embedding 知道「这是填充槽」;Cys 与 Ser 靠虚拟原子名置换区分,并故意避免「按真实邻居数泄漏残基身份」的局部注意力泄漏。

生物学:侧链 χ 角与骨架耦合决定功能几何;统一 Atom14 让扩散在同一张 track 上同时摆骨架与侧链,无需 RFD2 式「残基帧 + tip 混合」。

核酸、配体、修饰残基:按 token/按原子不同规则(配体常 per-atom tokenize)。


2. 中间处理:从输入到扩散模块的数据流

发布配置通道宽(rfd3_net.yaml):

符号 维数 角色
(c_s) 384 令牌条件单轨
(c_z) 128 令牌对 / 进入原子对投影
(c_{\mathrm{atom}}) 128 原子单轨
(c_{\mathrm{atompair}}) 16 原子对
(c_{\mathrm{token}}) 768 扩散主干令牌轨(更宽)
(c_{t}) 256 时间 Fourier 嵌入

整体两段:

1
2
3
4
结构/约束 → AtomWorks featurize → TokenInitializer
→ (s_i, z_ij, q_init, c_L, P_LL)
→ DiffusionModule(X_noisy, σ)
→ X̂_0 , sequence_logits

2.1 TokenInitializer(轻量「条件 trunk」)

为什么比 AF3 轻? AF3 有几十层 Pairformer + 三角更新,从 MSA/序列提距离信息;设计问题输入是「长度、靶标、motif」,不需要那套进化通道。RFD3 把 Pairformer 砍到 2 层,并关闭 triangle attention / triangle multiplicative

主步骤(概念):

  1. 1D 嵌入:原子/令牌标量与类别特征 → (c_s) / (c_{\mathrm{atom}});
  2. Downcast:原子特征按 atom_to_token_map 交叉注意池化到令牌(替代纯均值池化);
  3. 初始化 (z_{ij}):(s_i) 外积式线性、相对位置编码、键、参考构象对距离嵌入;
  4. 2× PairformerBlock:更新 (s_i,z_{ij})(无三角更新);
  5. AtomInitializer 侧:从令牌轨扩回原子对 (P_{LL})、原子条件 (c_L)、初始原子态 (q_{\mathrm{init}})。

对应源码rfd3.model.layers.encoders.TokenInitializern_pairformer_blocks: 2

2.2 DiffusionModule:U-Net 式 atom ↔ token

与 AF3 扩散模块同构思想:原子精细轨 ↔ 令牌粗轨,中间用可学习 cross-attention down/up-pool(SI Algorithm,Fig. S12)。

![图 1 复用:atom encoder → token transformer → atom decoder]

(A)尺度归一(EDM)

[
r_{\ell}^{\mathrm{noisy}} = \frac{x_{\ell}^{\mathrm{noisy}}}{\sqrt{\sigma^2+\sigma_{\mathrm{data}}^2}},\quad
\sigma_{\mathrm{data}}=16.
]

固定坐标原子:(t_L\leftarrow 0)(掩码 is_motif_atom_with_fixed_coord),保证 (t=0) 时输入原样复现。

源码:scale_positions_in / scale_positions_outf_pred: edm

(B)Atom Encoder(下采样支)

  • LocalAtomTransformer / SparseTransformer,默认 3 blocks
  • SL² attention(sequence-and-structure local):
    1. 先保证 序列邻域整 token 的所有原子(Atom14 整组)进入 keys;
    2. 再按噪声空间(或 recycle 自条件结构)Euclidean 最近原子填满 key 预算(配置默认 n_attn_keys=128)。

生物学:氢键、盐桥、范德华为短程;稀疏近邻逼近物理局域性,又防全原子注意力过拟合。

(C)Downcast → Token 轨

原子特征 (q_L) 经 cross-attention pooling 进入令牌态 (a_i)(维度 (c_{\mathrm{token}}=768))。

(D)DiffusionTokenEncoder + LocalTokenTransformer(主干)

  • DiffusionTokenEncoder:把噪声 Cα distogram + 自条件(recycle)预测 distogram(1–30 Å、65 bins)拼进 (z_{ij}),再经 2 层轻量 Pairformer 混合;
  • LocalTokenTransformer18 blocks,带 pair-bias 的稀疏/局部注意力 + ConditionedTransition;dropout 0.10

这是参数与算力最大头——等价于 U-Net 瓶颈处的「高语义结构推理」。

(E)Atom Decoder(上采样支)

  • CompactStreamingDecoder3 blocks,交织 Upcast(token → atom cross-attn broadcast)与原子稀疏注意力;
  • 最终 (q_L \xrightarrow{\mathrm{RMSNorm}+Linear} r_{\ell}^{\mathrm{update}}\in\mathbb{R}^3);
  • EDM 合成去噪坐标:

[
\hat x_0

\frac{\sigma_{\mathrm{data}}^{2}}{\sigma_{\mathrm{data}}^{2}+\sigma^{2}},x_{\mathrm{noisy}}
+
\frac{\sigma_{\mathrm{data}},\sigma}{\sqrt{\sigma_{\mathrm{data}}^{2}+\sigma^{2}}},r^{\mathrm{update}}.
]

(F)序列头(辅助输出)

LinearSequenceHead(A_I)sequence_logits_I(32 类)与 sequence_indices_I
扩散轨迹终点也常再跑 ProteinMPNN;序列头可作副任务/低噪声恢复。

(G)Recycling

训练/推理对主干做 (n_{\mathrm{recycle}})(配置默认训练调度上限相关,模块默认 2):除最后一轮外 no_grad;自条件回传的是 Cα distogram回收全原子特征(省显存)。第二次 recycle 的稀疏索引可基于模型自己的预测几何而非噪声云。

2.3 推理采样环(与训练单步对照)

训练:对一条结构采样一个 (\sigma),单次(或多 recycle)预测 (\hat x_0),算损失。
推理:约 200 步噪声日程

[
\sigma(t)=\sigma_{\mathrm{data}}\Big(s_{\max}^{1/\rho}+t,(s_{\min}^{1/\rho}-s_{\max}^{1/\rho})\Big)^{\rho},
]

(s_{\min}=4\times10^{-4},;s_{\max}=160,;\rho=7);含 AF3 风格 γ/η 噪声调制。固定原子每步不再加噪。
CFG:原子级 classifier-free guidance(条件/无条件两次前向插值),强化约束服从、牺牲多样性。
对称:对输出坐标周期性对称化(默认前 ~90% 步强制对称)。


3. 从中间表示到输出层(端到端「扩展」路径)

用一次 recycle 内部前向串起来(对应 SI Algorithm 5 / 源码 process_):

张量 操作
1 (X_{\mathrm{noisy}}\in\mathbb{R}^{D\times L\times 3}) EDM 缩放到 (r)
2 (r\to q_L) process_r 加到 (q_{\mathrm{init}});时间 Fourier → (c_L,s_I)
3 (q_L) Atom Encoder 稀疏自注意(3)
4 (q_L\to a_I) Cross-attn Downcast
5 (s_I,z_{IJ}) TokenEncoder + distogram/self-cond(2 Pairformer)
6 (a_I) Token Transformer(18
7 (a_I\to q_L) Decoder Upcast + 原子稀疏注意(3)
8a (q_L\to r^{\mathrm{update}}\to\hat X_0) 坐标输出头(主任务)
8b (a_I\to \mathrm{logits}) 序列输出头(辅任务)

参数规模直觉

  • TokenInitializer:2 Pairformer((c_s{=}384,c_z{=}128))+ 嵌入 MLP;
  • DiffusionModule:3+18+3 Transformer 栈 + 双轨 cross-attn pool;
  • 合计 ~168M(相对 AF3 ~350M);无三角更新是关键减参/减慢因。

4. 训练数据采用哪些信息

4.1 数据集组成(SI Table S3)

数据集 约例数 内容 Stage1 采样 Stage2 采样
PDB(至 2024-12) (6.95\times10^6) 量级元数据行 pn_units + interfaces(加权约 20%/80%) 0.2 0.2
AFDB 单体蒸馏 (7.6\times10^6) Hsu 等高置信 AF2 0.7 0.5
域–域蒸馏 (5.85\times10^5) AFDB 域界面 0.1 0.1
DNA 蒸馏复合物 (3.83\times10^4) 高置信蛋白–DNA 0 0.14
PDB DNA interfaces (2.71\times10^4) 实验界面子集 0 0.04
Free DNA (1.64\times10^4) DeepDNAshape+X3DNA 重建六聚体 0 0.01

分层训练:Stage1 广谱防过拟合;Stage2 上采样 DNA / PPI 强化相互作用。

4.2 单条样本里写进监督的「信息」

对每个 crop((n_{\mathrm{crop}}{\le}384) token,(n_{\mathrm{atoms}}{\le}5000);开源配置示例可更小):

  1. 真实坐标 (X^{\mathrm{gt}})(旋转增强 + COM 扰动);
  2. 若干条件(Table S1/S2):哪些原子/token 固定序列、固定坐标、是否 unindex、是否 tip 子图、是否热点/氢键/rasa;
  3. 非索引、配体等加权掩码;
  4. 小分子参考构象:CCD/RDKit ETKDGv3 预计算 30 个构象中均匀采样。

生物学:crop + DNA contact crop 人为制造「短 DNA 特异结合」统计,贴近 binder 任务;PPI full-binder crop 保留完整结合链,贴近接口设计。


5. 损失如何量化、谁在回传梯度

5.1 主损失:坐标 EDM-MSE(+ 平滑 lDDT)

SI 式 (1):

[
\mathcal{L}_{\mathrm{diff}}

\alpha(\sigma),
\frac{1}{3,|w|}
\sum_{\ell}
w_{\ell},\big|\hat x_{0,\ell}-x^{\mathrm{gt}}{0,\ell}\big|{2}^{2}
;+;
\alpha_{\mathrm{lddt}},\mathcal{L}_{\mathrm{smooth_lddt}},
]

[
\alpha(\sigma)=\frac{\sigma^2+\sigma_{\mathrm{data}}^2}{(\sigma,\sigma_{\mathrm{data}})^2},\quad
\sigma_{\mathrm{data}}=16,\quad
\alpha_{\mathrm{lddt}}=0.25.
]

噪声采样:(\sigma=\sigma_{\mathrm{data}}\exp(-1.2+1.5,\mathcal{N}(0,1)))。

权重 (w_\ell)(与 DiffusionLoss 一致):

类别 处理
未解析原子 (w=0)(crd_mask
配体原子 (\times 10)(alpha_ligand: 10
虚拟原子 与真实原子等权(alpha_virtual_atom: 1
非索引相关原子 用 (\alpha(\gamma\sigma)/\alpha(\sigma)) 换尺度,(\gamma=0.75),强调低噪声下 tip 对齐
极性原子 配置可再乘 alpha_polar_residues

注意:与 AF3 不同,RFD3 不对每步预测做最优叠加对齐再算损失(no-align MSE,在输入帧下直接比)。

lddt_weight: 0.25:平滑 lDDT 推局部距离分布,核酸对阈值可用到 30 Å、蛋白 15 Å(见 smoothed_lddt_loss)。

配置总包络:DiffusionLoss.weight: 4.0(标量乘在总扩散损上)。

5.2 辅损失:序列交叉熵

SequenceLoss:对 sequence_logits_I 与真残基索引做 token CE;仅在 (t\in[\mathrm{min}_t,\mathrm{max}_t))(默认 max_t: 1,偏向低噪声)计入;weight: 0.1;CE clamp 上限 4。

5.3 优化器与正则

设置
优化器 Adam / AdamW,(\beta=(0.9,0.95)),lr 1.8×10⁻³(线性 1000 step warmup)
EMA decay 0.999推理只用 shadow
Dropout 多数 attention/transition 输出 10%;原子编码早期 SparseTransformer 除外
硬件 预印本:16× H200 ≈ 7 天 训完公开配方
训练步形态 每例采样 (t),n_recycle 按 schedule;仅最后一轮 recycle 反传

5.4 「参与训练的参数」对应哪些层

结论:默认全部可训——没有像「冻住 AF3 trunk 只训头」的拆分;FabricTrainermodel.parameters() 整体优化 + EMA。

模块(源码类) 层块 主要参数
TokenInitializer 1D embedding、RPE、2× PairformerBlock、pair MLP、downcast/cross-attn 条件编码
RFD3DiffusionModule LocalAtomTransformer×3、DiffusionTokenEncoder2 Pairformer)、LocalTokenTransformer×18CompactStreamingDecoder×3 主力
to_r_update(原子→Δxyz)、LinearSequenceHead 输出
辅助 FourierEmbedding 权重(时间)、各类 LinearNoBias / RMSNorm / Transition 贯通两轨

不参与学习、但影响前向:噪声日程常数、稀疏索引选择启发式、固定原子掩码、HBPLUS 预标注、参考构象采样;EMA 为优化镜像,非独立架构。

重构时对齐检查清单:

  1. Atom14 + 虚拟原子名置换方案;
  2. EDM (\sigma_{\mathrm{data}}=16) 与 (\alpha(\sigma));
  3. 无三角更新的 2+2 Pairformer + 18 token blocks;
  4. SL² sparse attention key 预算;
  5. cross-attn 池化而非纯 mean pool;
  6. 损失:no-align MSE + ligand×10 + unindexed (\gamma) + 0.25 smooth-lDDT + 弱序列 CE。

6. 最小复现 / 自训路径(工程)

1
2
3
4
5
6
7
8
9
# 安装
pip install rc-foundry[rfd3]
foundry install rfd3 --checkpoint-dir ~/.foundry/checkpoints

# 推理
rfd3 design out_dir=outs/demo inputs=models/rfd3/docs/examples/demo.json

# 训练(需 PDB/CCD 镜像 + path configs)
uv run python models/rfd3/src/rfd3/train.py experiment=pretrain ckpt_path=null logger=wandb

DDP:按 EFFECTIVE_BATCH_SIZEgrad_accum_steps;公开配方 diffusion batch 常以 16 为有效目标。微调:任意 AtomWorks 兼容结构集挂进 Hydra datasets;调 training_conditions 频率即等于调任务混合比。

下游建议RFD3 → ProteinMPNN/LigandMPNN → AF3;designability 仍用 scRMSD / ipTM 等标准过滤。


7. 与 RFD1 / RFD2 / AF3 对照(选型)

RFD1 RFD2 RFD3 AF3
扩散对象 残基骨架/帧 帧 + 少量 tip 全原子坐标 全原子(预测)
条件输入 contig/热点 tip + 残基 原子级约束统一 MSA/序列
Trunk RF 结构模块 专用 2 层 Pairformer 48 层级 Pairformer
参数量级 较小专模 ~168M ~350M
代码血缘 RF 独立演进 全新 / Foundry DeepMind
主用途 骨架/binder 酶 tip 统一多任务设计 结构预测

8. 小结(给「要能重构」的人)

  1. 输入:AtomWorks 把 PDB + JSON 约束变成 Atom14 原子/令牌特征 + 固定掩码;训练再随机「出题」(tip/island/ppi/dna…)。
  2. 中间:轻量 TokenInitializer 编码条件 → U-Net 式 DiffusionModule(原子稀疏注意 ↔ 令牌 18 层主干 ↔ 原子解码);EDM 尺度与固定原子 (t=0)。
  3. 输出:(\hat X_0) 全原子坐标为主;序列 logits 为辅;推理 200 步采样 (+CFG/对称)。
  4. 数据:PDB(至 2024-12)+ AF2/DNA 蒸馏,两阶段上采样相互作用。
  5. 损失:加权 EDM-MSE(配体×10、非索引 (\gamma))+ 0.25 smooth-lDDT + 弱 CE;全网络端到端 + EMA

能复现这五条,就抓住了 RFD3 的可重构骨架;细部以 Foundry rfd3_net.yaml + SI Algorithms 1–17 为准。

段末注释designability 指生成骨架经序列设计与折叠预测后仍回到原结构的成功率;RFD3 虽出侧链,公开评估仍常 MPNN 重设计——侧链直接作最终序列身份时需另做 recovery/实验验证。


9. 参考文献

  1. Butcher J. et al. De novo Design of All-atom Biomolecular Interactions with RFdiffusion3. bioRxiv (2025). doi:10.1101/2025.09.18.676967
  2. RosettaCommons Foundry — models/rfd3
  3. Karras T. et al. EDM — NeurIPS 2022
  4. Abramson J. et al. AlphaFold3 — Nature 2024
  5. Watson J.L. et al. RFdiffusion — Nature 2023
  6. Ahern W. et al. RFdiffusion2 — bioRxiv 2025
  7. Dauparas J. et al. ProteinMPNN / LigandMPNN
-------------本文结束感谢您的阅读-------------