论文:https://arxiv.org/abs/2406.01032
摘要
- 分子数据包括GNN无法处理好的文本和视觉信息
- 目标:使用多模态分子数据从LLM中提取洞见
- 方法:GALLON(基于LLM蒸馏的图学习)
背景
相关工作
AI整理,仅供参考QvQ
第一类:用于图数据的大语言模型(LLMs for Graphs)
代表性工作与方法
研究工作 | 核心方法 | 应用场景/贡献 |
---|---|---|
TAPE(2023) | 用LLM为图中节点生成自然语言解释,将解释作为“增强特征”输入GNN训练 | 提升GNN对节点语义的理解,比如在分子节点标注中,让GNN结合LLM的文本解释学习特征 |
GraphLLM(2023) | 将图结构编码成文本(如“节点A通过单键连接节点B”),让LLM基于文本预测图任务 | 首次实现“图→文本→LLM”的端到端流程,适配LLM的文本输入习惯 |
Das et al.(2023) | 探索图的多模态(文本、子图图像、节点特征)对LLM的影响,发现子图图像能提升LLM预测能力 | 为“分子多模态输入LLM”提供思路(本文分子图+SMILES+分子图像的设计受此启发) |
CaR(2023) | 用分子SMILES字符串让LLM生成分子描述(caption),再用另一个语言模型微调描述文本 | 实现“分子文本→LLM生成→二次微调”的 pipeline,提升分子文本的任务适配性 |
综述类(Li et al., 2024;Chen et al., 2024) | 将LLM在图任务中的角色分为“增强器”(辅助GNN)、“预测器”(直接处理图)、“对齐器”(跨模态匹配) | 系统归纳领域研究范式,为后续研究提供分类框架 |
第二类:图知识蒸馏(Graph Knowledge Distillation)
- 核心研究方向
该方向旨在“将大模型(如复杂GNN)的知识传递给小模型(如简单GNN、MLP)”,在保留性能的同时降低模型尺寸与推理成本,核心是“对齐师生模型的特征或预测分布”。
- 代表性工作与方法
研究工作 | 核心方法 | 应用场景/局限 |
---|---|---|
LSP(2020) | 最小化教师GNN与学生GNN的“局部结构距离”(如节点邻居分布差异),让学生学习图的局部拓扑 | 仅适用于“GNN→GNN”蒸馏,无法处理LLM等跨模态教师模型 |
T2GNN(2023) | 用MLP做“特征教师”、GNN做“结构教师”,让学生GNN同时学习特征与结构知识 | 聚焦“多教师→单学生GNN”,但未涉及分子多模态数据 |
NOSMOG(2022);GLNN(2023) | 证明“经蒸馏的MLP”可超越GNN,通过对齐GNN的节点/图表示,让MLP学习图结构信息 | 首次验证MLP处理图任务的潜力,但仅蒸馏GNN知识,未结合LLM的多模态能力 |
第三类:分子多模态学习(Multimodal Learning for Molecules)
- 核心研究方向
该方向针对分子的“多模态特性”(1D文本如SMILES、2D图结构、3D几何、文本描述),探索“如何融合多模态信息提升分子任务性能”,是本文分子预测任务的直接背景。
- 代表性工作与方法
研究工作 | 核心方法 | 模态融合方式/局限 |
---|---|---|
ChemBERTa(2020) | 将分子SMILES字符串视为文本,用BERT预训练语言模型学习分子表示 | 仅单模态(文本),无法利用分子图结构信息 |
传统GNN方法(2019-2022) | 用GNN融合原子特征与图结构,学习分子的结构表示(如GIN、GraphSAGE) | 仅单模态(图),无法处理文本、视觉等其他模态 |
MolT5(2022) | 在SMILES字符串与分子描述文本上预训练编码器-解码器模型,实现“分子-文本互译” | 融合文本与SMILES,但未涉及分子图结构,且模型规模大、推理成本高 |
MoMu(2022) | 通过对比学习,让分子图特征与自然语言特征在同一空间对齐 | 首次实现“图-文本跨模态对齐”,但仅用于分子检索,未适配预测任务 |
MolFM(2023) | 融合分子图、文本描述、知识图谱(如分子-靶点关系),构建多模态分子基础模型 | 模态融合全面,但依赖复杂知识图谱,数据获取成本高,且未优化推理效率 |
本文工作
问题:GNN的应用在遇到非图结构形式的分子数据时显现出局限性
分子有多种表示:SMILES,分子图…
需求:强调需要能够从各个方面理解分子模态并学习有效表征的模型
目标:整合来自大型语言模型的知识,并在处理不同模式时使大型语言模型和GNN互补
方式:将LLM和GNN蒸馏到一个模型(小的MLP)
困难1
- LLM在直接的分子性质预测方面存在困难
- 原因:LLM缺乏特定领域训练
- 解决:调整了一个较小的语言模型(LM)作为大型语言模型输出的编码器
困难2
-
大多数蒸馏方法关注于分类任务(目标是对齐学生模型和教师模型的分类分布),而图回归难以直接从标签蒸馏
-
原因:标签是一个标量,与分类任务中的标签分布相比,它提供的信息较少
-
解决:使用映射函数将教师和学生模型的嵌入映射到潜在空间,在其中执行蒸馏
-
方法:
- 1利用分子数据中的多模态信息(SMILES字符串、分子图、图结构和节点特征),查询大语言模型,获得分子的详细描述
- 2这个描述将作为提炼成更小的MLP模型的知识库
3个主要贡献
- 利用多模态分子数据来学习表征,通过LLM提取关于它们的先验知识
- 提出协同LLM和GNN的框架,将两者优势蒸馏到一个MLP
- 实验,结果很好
方法
overview
-
将多模态信息输入到LLM并提取知识
-
微调小LM对LLM输出进行编码;预训练GNN
-
蒸馏LM编码信息和GNN编码信息到一个MLP
局限:
- 我们要把 GNN 和 LLM 的知识蒸馏到 MLP(目标);
- 但 MLP 没有图结构就分不清同分异构体(问题);
- 好在分子的节点特征里藏了结构信息(如手性、环结构),MLP 可以靠这些特征间接区分分子结构,不用直接依赖图(解决办法)
stage1:从大型语言模型中提取知识
多模态信息
- 使用SMILES查询LLM并提取先验知识
- 将分子图纳入多模态提示词,并使用视觉LLM处理
- 将分子的拓扑图信息(邻接矩阵)喂给LLM
提示词构建
- 1通用提示词:身份,指令,给予SMILES和邻接矩阵信息
- 2特定数据集信息:数据集特性,要预测的具体性质(如水合自由能)
- 3分子信息:SMILES,分子图,图结构(拓扑)(用文本描述)
使用提示词和相关信息查询大模型:
R i = L L M ( P i , E i , S i , I i ) \mathcal {R}_{i}=LLM(\mathcal {P}_{i},\mathcal {E}_{i},\mathcal {S}_{i},\mathcal {I}_{i}) Ri=LLM(Pi,Ei,Si,Ii)
说明:输入包含提示( P i \mathcal{P}_i Pi)、图结构( E i \mathcal{E}_i Ei)、SMILES 字符串( S i \mathcal{S}_i Si)和分子图( I i \mathcal{I}_i Ii),LLM 输出分子的解释与描述( R i \mathcal{R}_i Ri)。
stage2:预训练和微调
LM:
微调一个LM用于将LLM的输出编码为可以用于蒸馏到MLP的文本特征向量
-
微调一个LM,输入 R i R_i Ri, S i S_i Si,输出 H H H维向量:
h i L M = L M ( R i , S i ) ∈ R H h_{i}^{LM}=LM\left( \mathcal{R}_{i}, \mathcal{S}_{i}\right) \in \mathbb {R}^{H} hiLM=LM(Ri,Si)∈RH
说明:将 LLM 的输出( R i \mathcal{R}_i Ri)和 SMILES 字符串( S i \mathcal{S}_i Si)输入小型 LM,得到维度为 H H H的分子表示( h i L M h_i^{LM} hiLM)。
-
使用转换器对齐下游任务(回归/分类):
y ^ i L M = T L M ( h i L M ) ∈ R d \hat{y}_{i}^{LM}=\mathcal{T}_{LM}\left(h_{i}^{LM}\right) \in \mathbb{R}^{d} y^iLM=TLM(hiLM)∈Rd
说明:通过变换函数( T L M \mathcal{T}_{LM} TLM)将 LM 表示( h i L M h_i^{LM} hiLM)映射为预测结果( y ^ i L M \hat{y}_i^{LM} y^iLM), d d d为输出维度(分类任务对应类别数,回归任务为 1)。
GNN:
-
预训练一个GNN(GCN,3层32维隐藏层):
h i G N N = G N N ( X i , E i ) ∈ R H h_{i}^{GNN}=GNN(X_{i}, \mathcal{E}_{i})\in \mathbb {R}^{H} hiGNN=GNN(Xi,Ei)∈RH
说明:输入节点特征( X i X_i Xi)和图边结构( E i \mathcal{E}_i Ei),GNN 输出维度为 H H H的分子图表示( h i G N N h_i^{GNN} hiGNN)。
-
转换器对齐下游任务:
y ^ i G N N = T G N N ( h i G N N ) ∈ R d \hat{y}_{i}^{GNN}=\mathcal{T}_{GNN}\left(h_{i}^{GNN}\right) \in \mathbb{R}^{d} y^iGNN=TGNN(hiGNN)∈Rd
说明:通过变换函数( T G N N \mathcal{T}_{GNN} TGNN)将 GNN 表示( h i G N N h_i^{GNN} hiGNN)映射为预测结果( y ^ i G N N \hat{y}_i^{GNN} y^iGNN)。
转换器:
- 分类:线性层+softmax;交叉熵损失
- 回归:线性层;均方根误差
stage3:将知识蒸馏到MLP
愿因:
- 直接用LLM对每个分子进行查询开销太大;
- 很多研究表明,经过有效蒸馏,MLP的表现能媲美GNN,同时减少推理时间
方法:
-
标签蒸馏(分类任务)
-
特征蒸馏(回归任务)
尤其针对标量结果,使学生模型学到的特征与教师模型的特征表示对齐
问题:直接对齐,存在特征空间不匹配的问题
解决:把他们转移到共同的潜在空间
整个训练过程为:降低预测/回归loss的同时,把LM和GNN的特征空间拉到MLP
详细过程
- MLP提取分子表示:
Z i M L P = σ L ( W L ( . . . σ 1 ( W 1 X i ) . . . ) ) ∈ R n i × H , h i M L P = P o o l i n g ( Z i M L P ) ∈ R H Z_{i}^{MLP}=\sigma_{L}\left(W_{L}\left(... \sigma_{1}\left(W_{1} X_{i}\right) ...\right)\right) \in \mathbb{R}^{n_{i} × H}, \quad h_{i}^{MLP}=Pooling\left(Z_{i}^{MLP}\right) \in \mathbb{R}^{H} ZiMLP=σL(WL(...σ1(W1Xi)...))∈Rni×H,hiMLP=Pooling(ZiMLP)∈RH
说明:节点特征(
X
i
X_i
Xi)经
L
L
L层 MLP(含激活函数
σ
\sigma
σ和权重
W
W
W)处理得到中间特征(
Z
i
M
L
P
Z_i^{MLP}
ZiMLP),再通过池化操作得到维度为
H
H
H的分子表示(
h
i
M
L
P
h_i^{MLP}
hiMLP),
n
i
n_i
ni为分子的原子数。
2. 基于 MLP 表示的分子性质预测:
y ^ i M L P = T M L P ( h i M L P ) ∈ R d \hat{y}_{i}^{MLP}=\mathcal{T}_{MLP}\left(h_{i}^{MLP}\right) \in \mathbb{R}^{d} y^iMLP=TMLP(hiMLP)∈Rd
说明:通过变换函数( T M L P \mathcal{T}_{MLP} TMLP)将 MLP 表示( h i M L P h_i^{MLP} hiMLP)映射为预测结果( y ^ i M L P \hat{y}_i^{MLP} y^iMLP)。
- MLP 的预测损失:
L 0 = L p r e d ( y ^ M L P , y ) \mathcal{L}_{0}=\mathcal{L}_{pred }\left(\hat{y}^{MLP}, y\right) L0=Lpred(y^MLP,y)
说明:计算 MLP 预测结果( y ^ M L P \hat{y}^{MLP} y^MLP)与真实标签( y y y)的损失,分类任务用交叉熵,回归任务用 RMSE。
- 标签蒸馏损失:
L L D = α L L M L D ( y ^ M L P , y ^ L M ) + β L G N N L D ( y ^ M L P , y ^ G N N ) \mathcal{L}^{L D}=\alpha \mathcal{L}_{L M}^{L D}\left(\hat{y}^{MLP}, \hat{y}^{LM}\right)+\beta \mathcal{L}_{G N N}^{L D}\left(\hat{y}^{MLP}, \hat{y}^{GNN}\right) LLD=αLLMLD(y^MLP,y^LM)+βLGNNLD(y^MLP,y^GNN)
说明:结合 LM 和 GNN 的预测结果( y ^ L M \hat{y}^{LM} y^LM、 y ^ G N N \hat{y}^{GNN} y^GNN)与 MLP 预测结果的蒸馏损失, α \alpha α和 β \beta β为权重超参数;分类任务用 KL 散度,回归任务用 RMSE。
- 表示蒸馏损失:
L R D = α L L M R D ( U M L P ( h M L P ) , U L M ( h L M ) ) + β L G N N R D ( U M L P ( h M L P ) , U G N N ( h G N N ) ) \mathcal{L}^{R D}=\alpha \mathcal{L}_{L M}^{R D}\left(\mathcal{U}_{MLP}\left(h^{MLP}\right), \mathcal{U}_{LM}\left(h^{LM}\right)\right)+\beta \mathcal{L}_{G N N}^{R D}\left(\mathcal{U}_{MLP}\left(h^{MLP}\right), \mathcal{U}_{GNN}\left(h^{GNN}\right)\right) LRD=αLLMRD(UMLP(hMLP),ULM(hLM))+βLGNNRD(UMLP(hMLP),UGNN(hGNN))
说明:将 MLP、LM、GNN 的表示( h M L P h^{MLP} hMLP、 h L M h^{LM} hLM、 h G N N h^{GNN} hGNN)通过映射函数( U \mathcal{U} U)转换到共同 latent 空间后,计算蒸馏损失,均用 RMSE。
- 最终训练损失:
L c l a s s = L 0 + L L D , L r e g = L 0 + L R D \mathcal{L}^{class }=\mathcal{L}^{0}+\mathcal{L}^{L D}, \quad \mathcal{L}^{reg }=\mathcal{L}^{0}+\mathcal{L}^{R D} Lclass=L0+LLD,Lreg=L0+LRD
说明:分类任务( L c l a s s \mathcal{L}^{class} Lclass)结合预测损失和标签蒸馏损失;回归任务( L r e g \mathcal{L}^{reg} Lreg)结合预测损失和表示蒸馏损失。
实验
解决问题:
- RQ1:与GNN和NLP模型相比,提出的GALLON框架表现如何?
- RQ2:GNN和LLM是否都对最终结果有所贡献?
- RQ3:不同大模型对性能有何影响?
准备:
-
数据集:来自MoleculeNet,4个分类集,3个回归集;使用ROCAUC/RMSE作为衡量
Moleculenet
是一个广泛使用的分子机器学习基准数据集,由斯坦福大学的 DeepChem 团队创建,旨在推动化学和材料科学中的机器学习研究。
-
基线:GNN模型&NLP模型
基线模型
基线模型相关也是由AI整理,仅供参考
- GNN类模型(5种):仅以“分子图结构”为输入,代表“图结构建模”的主流方法;
- NLP/传统分子特征类模型(5种):以“分子文本(SMILES)”或“人工设计特征”为输入,代表“文本/特征建模”的主流方法。
第一类:GNN类基线模型(图结构建模)
这类模型均基于“分子=图(原子为节点,化学键为边)”的核心假设,通过“邻居聚合”提取图特征,是分子性质预测的传统强基线。
模型名称 | 核心架构与创新点 | 适用场景 | 局限性 |
---|---|---|---|
GCN(Graph Convolutional Network) | 1. 基于“图卷积”的经典GNN,通过“局部邻居平均聚合”更新节点特征; 2. 简化了传统图信号处理的复杂度,是GNN领域的“入门级基准”。 | 适用于分子结构相对简单的预测任务(如基础物理化学性质) | 1. 对长距离依赖关系捕捉能力弱; 2. 过度平滑(层数加深后节点特征趋同)。 |
ChebNet(Chebyshev Graph Convolutional Network) | 1. 基于“切比雪夫多项式”近似图卷积核,支持“k阶邻居”特征聚合; 2. 是GCN的泛化形式,可灵活控制感受野大小。 | 适用于需要捕捉“多跳结构依赖”的分子(如含复杂环结构的分子) | 1. 多项式阶数k需手动调优,选择不当会导致性能下降; 2. 计算复杂度高于GCN。 |
GraphSAGE(Graph Sample and Aggregate) | 1. 采用“采样+聚合”策略:对每个节点采样固定数量的邻居,再通过Mean/Max等函数聚合; 2. 解决了传统GNN“全图依赖”的问题,支持大规模图的 inductive 学习(预测未见过的分子)。 | 适用于大规模分子数据集(如HIV数据集,4万+化合物) | 1. 采样过程引入随机性,可能丢失关键邻居信息; 2. 聚合函数相对简单,对复杂特征的融合能力有限。 |
GIN(Graph Isomorphism Network) | 1. 基于“图同构测试”理论设计,通过“ injective 聚合函数”(如Sum+MLP)区分不同图结构; 2. 被证明是“表达能力最强”的GNN之一,能识别GCN/GraphSAGE无法区分的分子结构(如同分异构体)。 | 适用于对“结构敏感性要求高”的任务(如分子毒性预测,微小结构差异会导致毒性变化) | 1. 对噪声特征敏感,训练时易过拟合; 2. 计算成本较高,推理速度慢于GCN。 |
Mole-BERT | 1. 专为分子设计的“自监督预训练GNN”,借鉴NLP的BERT思想; 2. 提出两大预训练任务: - 节点级:Masked Atoms Modeling(随机掩盖原子,预测原子类型); - 图级:Triplet Masked Contrastive Learning(对比学习分子语义相似性)。 | 适用于标注数据较少的分子任务(通过预训练提升下游性能) | 1. 预训练过程需大量无标注分子数据,成本高; 2. 对简单分子任务(如ESOL溶解度预测)优势不明显。 |
第二类:NLP/传统分子特征类基线模型(文本/特征建模)
这类模型不依赖图结构,而是将分子转化为“文本字符串”或“人工设计特征”,代表“非图建模”的主流思路。
模型名称 | 核心架构与创新点 | 输入模态 | 局限性 |
---|---|---|---|
ECFP4-MLP | 1. 基于“人工设计分子指纹”的传统方法: - ECFP4(Extended-Connectivity Fingerprint):将分子拆解为“直径≤4的子结构”,用二进制向量表示(存在某子结构为1,否则为0); 2. 用MLP对ECFP4指纹进行分类/回归。 | 分子指纹(人工设计特征) | 1. 指纹维度固定(通常1024/2048维),无法捕捉未预设的子结构; 2. 丢失分子的全局结构信息(如原子连接顺序)。 |
ChemBERTa | 1. 基于RoBERTa架构的“分子文本预训练模型”; 2. 将SMILES字符串(如“CCO”代表乙醇)视为“化学语言”,在7700万条PubChem SMILES数据上预训练; 3. 支持分子性质预测、反应生成等下游任务。 | SMILES字符串(文本) | 1. 对SMILES的“语法错误”敏感(如字符顺序错误会导致预测偏差); 2. 无法直接捕捉分子的空间结构信息(如环的空间构型)。 |
SMILES-Transformer | 1. 基于Transformer架构的“SMILES序列模型”; 2. 采用4层Transformer块,每层4个注意力头,专注于捕捉SMILES字符串的“局部依赖”(如相邻字符的化学意义)。 | SMILES字符串(文本) | 1. 模型层数少,对长SMILES(复杂分子)的全局依赖捕捉能力弱; 2. 预训练数据规模小于ChemBERTa,泛化能力有限。 |
MolBERT | 1. 借鉴BERT的“掩码语言模型”思想,专为分子SMILES设计; 2. 预训练任务包括“掩码SMILES字符预测”和“分子属性预测”,同时学习文本语义和化学性质关联。 | SMILES字符串(文本) | 1. 对分子的“结构细节”(如化学键类型)建模不足; 2. 推理速度慢于MLP类模型,不适合大规模筛选。 |
MolT5 | 1. 基于T5(Text-to-Text Transfer Transformer)的“分子-文本互译模型”; 2. 预训练任务为“SMILES字符串↔分子描述文本”(如“乙醇”↔“CCO”),擅长跨模态语义对齐。 | SMILES字符串+分子描述文本(双文本) | 1. 模型参数规模大( billions级),推理成本高; 2. 专注于“生成/翻译”任务,在分类/回归预测上优势不明显。 |
基线模型与GALLON的核心差异
GALLON通过“多模态融合+知识蒸馏”,弥补了两类基线模型的固有缺陷,具体差异如下表所示:
对比维度 | GNN类基线 | NLP类基线 | GALLON |
---|---|---|---|
输入模态 | 仅分子图结构 | 仅文本/人工特征 | 图+文本+分子图像(多模态) |
核心优势 | 捕捉原子连接关系 | 理解化学语义描述 | 兼顾结构+语义+视觉信息 |
推理效率 | 中等(GCN快,GIN慢) | 低(Transformer类模型参数多) | 高(蒸馏到MLP,参数少、速度快) |
泛化能力 | 受限于图结构,无法利用文本知识 | 受限于文本,无法利用结构知识 | 多模态知识互补,泛化能力强 |
回答三个问题
-
RQ1:与GNN和NLP模型相比,提出的GALLON框架表现如何?
GALLON 框架优于多数 GNN 和 NLP 模型,兼顾性能与效率
-
RQ2:GNN和LLM是否都对最终结果有所贡献?
GNN 和 LLM 均对最终结果有贡献,二者协同效果最优
-
RQ3:不同大模型对性能有何影响?
不同 LLM 对性能有影响但差异不大,模型容量与数据集适配性是关键
补充知识
训练准备中用到的划分方法:
scaffold splitting: 将数据集中的分子依据化学支架(可理解为分子的核心结构框架)进行分类,共享一个或多个支架的分子被划分到同一子集(train/val/test)。
例如,具有相似环状结构或特定原子连接方式的分子会被归为一组 。其目的是测试模型在与训练数据不同的化学空间区域上的表现,判断模型对不同结构分子的泛化能力。