字节跳动 Seed 旗下 AI for Science(AI4S)团队核心成员顾全全在 X 平台宣布离职,结束了在字节三年的工作。他在告别帖中提到,过去三年同时深耕两个前沿——药物发现的人工智能,以及前沿大语言模型的开发——这段经历让他既参与了治愈疾病的探索,又参与了智能系统的构建。
这条消息本身是人事变动,但背后牵出的问题更值得技术人关注:AI4S 到底在做什么?药物发现 + 大模型的组合路线走到哪一步了?一个核心成员离开,对这条路线意味着什么?
AI4S 不是"拿模型跑数据"那么简单
AI for Science 的核心命题是用 AI 方法加速科学发现循环——从假设生成、实验设计、数据分析到理论验证。和传统"拿模型跑数据集"的区别在于:科学问题本身的结构决定了方法的边界。
药物发现是 AI4S 最典型的落地场景之一。一个小分子从靶点识别到临床候选,传统流程动辄十年、耗资数十亿。AI 能压缩的环节主要集中在:
- 靶点-配体结合预测:用深度学习替代物理模拟,把 docking 计算从小时级压到秒级
- 分子生成与优化:基于扩散模型或强化学习,在化学空间中定向搜索满足多约束的候选分子
- ADMET 性质预测:用图神经网络提前筛选药代动力学和毒性风险
顾全全在字节 Seed 期间的工作,正是围绕这些环节展开,同时叠加了大语言模型的能力——用 LLM 做科学文献理解、实验方案推理、甚至分子设计的语义引导。
大模型 + 药物发现:两条线的交叉点
顾全全特别提到"同时致力于治愈疾病和构建智能系统",这不是两个独立项目,而是有交叉的技术路线。交叉点至少有三处:
1. 科学文献驱动的靶点挖掘。LLM 能从海量论文中提取疾病-基因-蛋白的关联链路,为下游分子设计提供结构化的生物学假设。
2. 分子语言的统一表示。SMILES、SELFIES 等字符串表示让分子可以进入 LLM 的 token 空间,实现"用自然语言描述分子属性 → 模型生成对应结构"的闭环。
3. 实验反馈的闭环学习。LLM 解析实验结果,生成下一轮假设;分子模型根据反馈调整生成策略。整个科学发现循环被压缩成模型迭代循环。
下面用一个可运行的示例,展示这条交叉路线中最基础的一环——用开源工具做分子属性预测和 SMILES 表示处理:
# 依赖安装:pip install rdkit-pypi torch
# 本示例用 RDKit 处理分子表示,用极简 MLP 预测分子极性(LogP)
# 实际生产中会替换为图神经网络(如 GIN、SchNet)
from rdkit import Chem
from rdkit.Chem import Descriptors
import torch
import torch.nn as nn
# ---- 第一步:从 SMILES 提取分子特征 ----
def mol_to_features(smiles: str) -> torch.Tensor:
"""将 SMILES 转为 RDKit 分子对象,提取基础描述符作为特征向量"""
mol = Chem.MolFromSmiles(smiles)
if mol is None:
raise ValueError(f"无法解析 SMILES: {smiles}")
features = [
Descriptors.MolWt(mol), # 分子量
Descriptors.NumHDonors(mol), # 氢键供体数
Descriptors.NumHAcceptors(mol), # 氢键受体数
Descriptors.TPSA(mol), # 极性表面积
Descriptors.NumRotatableBonds(mol), # 可旋转键数
Descriptors.RingCount(mol), # 环数
]
return torch.tensor(features, dtype=torch.float32)
# ---- 第二步:极简预测模型 ----
class MolPropertyPredictor(nn.Module):
"""6 维特征 → LogP 预测的 MLP,仅作演示"""
def __init__(self):
super().__init__()
self.net = nn.Sequential(
nn.Linear(6, 32),
nn.ReLU(),
nn.Linear(32, 16),
nn.ReLU(),
nn.Linear(16, 1),
)
def forward(self, x: torch.Tensor) -> torch.Tensor:
return self.net(x)
# ---- 第三步:跑一个真实分子 ----
model = MolPropertyPredictor()
model.eval()
# 阿司匹林的 SMILES
aspirin_smiles = "CC(=O)OC1=CC=CC=C1C(=O)O"
features = mol_to_features(aspirin_smiles)
with torch.no_grad():
predicted_logp = model(features)
# 用 RDKit 的真实值做对照
true_logp = Descriptors.MolLogP(Chem.MolFromSmiles(aspirin_smiles))
print(f"阿司匹林 SMILES: {aspirin_smiles}")
print(f"提取特征向量: {features.tolist()}")
print(f"模型预测 LogP: {predicted_logp.item():.2f}")
print(f"RDKit 计算真实 LogP: {true_logp:.2f}")
print(f"(模型未训练,预测值无意义;训练后应逼近真实值)")
运行前只需 pip install rdkit-pypi torch。这个示例的核心意图是展示 AI4S 的数据管线起点——SMILES 进、特征出、模型预测。在实际的药物发现管线中,这一步会被图神经网络替代,特征维度从 6 维扩展到数百维,预测目标从 LogP 扩展到 IC50、溶解度、毒性等多任务。
核心成员离开,路线怎么走?
顾全全的离职对字节 Seed AI4S 团队的影响,取决于几个层面:
知识连续性。药物发现管线中大量隐性知识——哪些靶点验证策略有效、哪些分子生成约束组合能避开毒性陷阱——往往存在于核心成员的经验中。文档和代码能留下显性部分,但判断力的传递需要时间。
模型资产。如果团队已经积累了预训练的分子模型、靶点-配体数据管线、LLM-分子对齐模型,这些资产不会随人员离开而消失。但后续迭代速度取决于新团队对这些资产的理解深度。
行业信号。AI4S 在国内仍处于早期。核心成员的流动本身就是行业成熟度的指示器——人往资源更集中、路线更清晰的方向走。对关注这个领域的技术人来说,值得追踪的不是谁去了哪里,而是哪条技术路线在持续产出可验证的科学结果。
给想进入 AI4S 的技术人的实操建议
如果你对 AI4S 有兴趣,无论是药物发现还是材料设计,以下是一个最低成本的切入路径:
# 1. 搭建基础环境(以 conda 为例)
conda create -n ai4s python=3.10
conda activate ai4s
pip install rdkit-pypi torch dgllife # dgllife 是 DGL 的生命科学工具包
# 2. 获取公开分子数据集(MoleculeNet 是标准基准)
# 下载数据集后用 dgl 的内置 loader 读取
python -c "
from dgllife.data import MoleculeNet
dataset = MoleculeNet('ESOL') # 水溶性预测数据集
print(f'样本数: {len(dataset)}')
print(f'第一个样本: SMILES={dataset[0][0]}, 标签={dataset[0][1]}')
"
# 3. 跑一个图神经网络基线(约 30 分钟可完成训练)
# 参考 dgllife 官方 example:graph_predictor.py
# 修改数据集名称为 ESOL 或 HIV,即可得到可运行的基线模型
更完整的起步清单:
- 读论文:从 GraphAF(分子生成)、ChemBERTa(分子 LLM)入手,理解分子表示从图到序列的演进
- 跑基线:用 MoleculeNet 的 ESOL/HIV/BBBP 三个数据集各跑一个 GNN 基线,建立对任务难度的直觉
- 接 LLM:尝试用开源 LLM(如 LLaMA 系列)对分子 SMILES 做 few-shot 属性预测,对比 GNN 基线,感受两条路线的精度差距和互补空间
- 关注验证闭环:AI4S 的真正瓶颈不在模型精度,而在实验验证的反馈速度。能接入真实实验数据的团队,才有迭代优势
AI4S 的价值不取决于某个人的去留,而取决于这条路线能否持续产出被实验验证的结果。顾全全的三年经历证明了两条前沿线可以交叉运行;接下来要看的是,交叉点上的产出能不能从论文走向管线。