您尚未登录/注册
首页>科学
从24小时到61秒!华人团队首次将万亿次药物虚拟筛选推进分钟级
DeepTech深科技 2026-11-08 14:01:58

五亿分子、两万余个蛋白口袋,61 秒全部检索完毕,一项新的研究把药物虚拟筛选的时间门槛从 24 小时直接降到了一分钟。

寻找作用于疾病相关蛋白的小分子化合物,是药物发现的早期环节。蛋白质上供小分子结合的局部区域称为“蛋白口袋”。面对成亿规模的化合物库,研究者需先挑出可能与蛋白口袋结合的候选小分子,再开展后续计算与实验。

传统的虚拟筛选需要逐一模拟化合物与口袋的相互作用,耗时巨大。2023 年,清华大学团队提出 DrugCLIP,通过对比学习,分别将蛋白质口袋和小分子映射到同一向量空间,再依据向量相似度检索候选分子。分子向量可以预先计算,供不同口袋重复查询,从而减少逐一进行分子对接的计算负担。

2026 年发表于 Science 的后续研究,将这一方法推进到全基因组规模筛选。团队用八张 A100 GPU,针对约一万个人类蛋白的两万多个口袋,检索五亿多个类药分子,在约 24 小时内完成超过十万亿组口袋与分子的匹配计算。但对需要反复调整靶点、比较口袋的研究者,一天的检索等待仍然不短。

近日,亚利桑那州立大学曹志超团队提出的 SweepANN,进一步加速了这一过程中的大规模向量检索。在论文的主实验中,约五亿个分子的向量被预先存入四张 GPU。针对两万六千余个蛋白质口袋,系统成功为每一个口袋提取出得分排名前 50 万的候选分子。整个检索耗时仅约 61 秒,平均召回率高达 99.63%。

曹志超本科毕业于清华大学,现任亚利桑那州立大学计算与增强智能学院(SCAI)助理教授。他曾任 Meta RocksDB 团队研究科学家,获美国国家科学基金会 CAREER 奖,以及多个顶级会议 best paper 等。他主持的智能数据基础设施实验室(ASU-IDI)聚焦 AI 基础设施、存储、和数据基础设施的设计与优化。SweepANN 成果已在 arXiv 以预印本形式发布。

SweepANN 的工作建立在 DrugCLIP 之上。DrugCLIP 通过双塔分别将蛋白质口袋与小分子映射到同一高维向量空间,按匹配分数排序。SweepANN 沿用公开模型生成的向量和打分方式,重点改进向量库在 GPU 中的存储、批量检索计算,以及大规模候选名单的维护。

通过系统层面的改进,SweepANN 让虚拟筛选从一次性大规模计算转变为研究者可频繁交互的探索工具。曹志超认为,一条科学路径先回答“能不能”,系统研究随后回答“能做多快、成本能降到什么程度”。

24 小时筛选,还不够快

过去,研究者常用分子对接软件,模拟化合物进入蛋白质口袋时的结合构象及相互作用,再依据计算结果挑选候选。每个分子都要单独进行分子对接(docking)计算。但分子库扩大到数亿规模后,逐一处理便会耗费大量时间。

DrugCLIP 改变了这项初筛的计算方式。团队利用已知的口袋与分子关系训练两个编码器,分别处理蛋白质口袋和小分子,将两者转成同一高维空间中的向量。可能匹配的对象由此获得较高分数,研究者再按分数筛出一批候选分子。

在 2026 年发表于 Science 的研究中,DrugCLIP 团队用八张 A100 GPU,在约 24 小时内完成了超过五亿个分子与两万多个蛋白质口袋的向量检索。团队为每个口袋保留约 10 万个分子,再进行聚类和分子对接,使原本规模极大的初筛任务可以在一台计算节点上运行。

图|基于 DrugCLIP 的超高速全基因组虚拟筛选(来源:清华大学官网)

出于系统研究者特有的“算账”直觉,曹志超团队第一次看到这组数据,便按口袋数量粗略估算了检索速度。基于向量搜索研究的经验,他们发现平均每个口袋仍需等待数秒,认为 24 小时“还是不够快”,筛选速度仍有提升空间。

分子库的规模也在增长。目前,面向药物虚拟筛选的公开化合物数据库 ZINC-22 已收录超过 370 亿个可购买化合物,其中超过 45 亿个有可直接对接的三维结构。为了维持初筛的覆盖范围,则需要按固定比例保留候选。这意味着,分子库越大,每个口袋要留下的前 K 个分子也越多。

一次 24 小时的检索看似可以接受,但靶点、口袋和研究重点可能改变。另外,每提出一批新的口袋,或分子库加入新化合物,都会带来更多的工作量。

面对不断扩大的分子库和候选名单,团队首先考察了向量搜索常用的加速办法。这类方法通常借助索引减少需要读取的数据,其中图索引预先记录向量之间较近的关系,倒排索引则先将向量分组,查询时优先查看更可能相关的部分。

曹志超将这种思路比作“寻找邻居”:如果只找最近的十个人,就没有必要逐个比较所有人。若查询只需返回前十或前一百个结果,这条路径通常有效。

但 SweepANN 面对的名单长得多。在主实验中,系统需要为每个口袋从五亿个分子中取出排名前 50 万的候选,并尽量保留精确计算所选出的分子。

团队测试发现,要把如此长的名单尽量找全,索引需要查看更多分组或节点,导致其优势缩小。同时,建立和保存索引、维护候选名单本身都要耗费大量算力资源。

面对这一困境,团队也比较了 CPU 与 GPU 路线,发现 CPU 的并行计算能力相对有限,处理如此规模的口袋与分子匹配需要更多时间。最终,团队决定用 GPU 扫描分子库,为每个口袋计算与所有分子的匹配分数。

SweepANN 怎样让全量扫描更高效

DrugCLIP 为 SweepANN 提供了前置模型,将蛋白质口袋和小分子转成向量,并按两者的匹配程度打分。基于此,团队将工作集中在分子向量的存放、GPU 的批量打分和候选名单的维护上。

整个检索过程可以分为以下环节:分子库要先放进 GPU,随后在查询蛋白质口袋时读取分子向量、计算匹配分数;得到分数后,系统还要从海量结果中选出并记录每个口袋排名前 50 万的分子。

图|SweepANN 候选分子检索流程(来源:受访者)

首先需要应对的是存储压力。SweepANN 使用的每个分子向量有 768 个维度,如果每个数都按 32 位浮点格式(FP32)保存,五亿条向量将占用约 1.54 TB,超过实验所用四张 GPU 的显存总量,对存储提出了较高的要求。

因此,团队采用量化方法,每 256 个维度共用一个缩放系数,向量中的数值改用占 1 字节的 INT8 保存。五亿条向量由此缩至约 387 GB,分片存入四张 GPU。计算时,系统按缩放系数转换当前读入的数据并直接打分,无须事先恢复整个分子库。

分子库留在显存后,更换口袋便可直接再次查询。曹志超解释,量化虽会损失少量数值精度,但分数变化主要影响排名靠近第 50 万名边界的分子,使它们进出候选名单,靠前的结果则较为稳定。与未压缩向量算出的精确名单相比,最终名单质量基本不受影响。

解决了存储问题,下一步便是打分。若一次只处理一个口袋,GPU 每换一个口袋,就得再读一遍分子数据。为减少这种重复读取,SweepANN 改为批量处理口袋,让一次读取服务更多查询。

团队据此将 64 个口袋组成一批。四张 GPU 各存放约 1.25 亿个分子,接收同一批口袋,并将各自负责的分子数据分块读取。每读入一块,就通过矩阵乘法同时为整批口袋计算匹配分数。压缩数据在打分过程中按需还原,无须另存一份解压后的分子库。

所有口袋与分子的组合仍会被计算,但一次读取的数据服务了更多口袋,计算单元等待数据的时间也随之减少。单卡测试中,批量从 1 个口袋增至 64 个,吞吐量由每秒 18.2 个查询升至 453.3 个。

打分完成后,新的压力落在候选名单上。四张 GPU 各自保存一部分分子,而每个口袋最终都需要全库得分最高的 50 万个结果。如果保存一批口袋对所有分子的分数,再统一排序,分数矩阵会占用大量显存;如果每处理一小块分子就筛选一次,又要反复整理和合并长名单。

团队因此设计了全分数、逐块、分组和窗口四种维护名单的方案,依据剩余显存与任务规模,选择能够运行且实测速度更快的方案。

主实验最终选择了“窗口计划”,先设定门槛,再筛选需要保留的候选分子。具体而言,系统先处理少量选出的“种子”数据块,从中为每个口袋选出暂时排在前 50 万名的分子,并以名单中的最低分作为筛选门槛。

接下来扫描其他数据块时,每个分子仍会得到分数,但低于门槛的分子无须进入候选缓冲区,高于门槛的结果则暂时留下。

图|候选名单越长,窗口方案的速度优势越明显(来源:受访者)

其中,种子数据块的选择将决定筛选分数线的高低,但不会影响按压缩后分数得到的最终名单。种子块已选出 50 万个分子,得分低于名单末位的分子不会进入全库前 50 万名。因此,种子选得不理想,只会增加后续整理候选的时间。

另外,为减少反复发起计算的开销,团队还采用 CUDA Graphs 回放,将一批查询中反复执行的 GPU 操作预先记录下来,供后续批次重复执行。

经过这些环节的配合,分子库载入显存后,SweepANN 用四张 RTX PRO 6000 Blackwell GPU,在 61.04 秒内完成两万六千余个口袋的检索。同样硬件和数据下,团队早期的逐块方案耗时 360.56 秒。

从 24 小时到 1 分钟,能改变什么

相较于 DrugCLIP 报告的约 24 小时,SweepANN 将同量级的大规模向量检索推进到分钟级。同样面对约五亿个分子和两万多个蛋白质口袋,前者使用八张 A100 GPU,后者使用四张 RTX PRO 6000 Blackwell GPU,进一步压缩了(关于卡的使用的评价)。

论文中的约 61 秒指 GPU 驻留检索时间,从压缩后的分子库已经载入显存开始计时,到全部口袋的查询结果生成并留在显存中结束。此前对分子库进行量化并将其载入显存,另耗时约 502 秒。

在实际研发中,只要分子库无需重新编码,已载入显存的向量就能供多批口袋反复查询,量化和加载所花的时间将由后续的多次高频检索分摊,曹志超补充。

在这项任务中,SweepANN 的平均召回率达到 99.63%。这意味着,与用未压缩向量逐个口袋扫描全库后选出的精确前 50 万名相比,SweepANN 的候选名单平均保留了其中 99.63% 的分子,即排名靠前的高分化合物几乎不会出现遗漏。

从虚拟筛选到实验验证,候选分子还要经过更细致的计算,以及细胞、动物实验。物理世界的实验周期难以跨越,一次失败往往意味着回到前期步骤重新筛选,因此前期判断的准确性与迭代效率显得极为重要。

曹志超认为,速度的提升也有望改变研究者与 AI 协作提出、检验假设的节奏。研究者可以针对一种疾病尝试不同靶点或口袋,迅速取得候选,再交给分子对接等后续计算。如果结果不理想,就及时调整方向并重新检索,让一次大型筛选逐渐变成可以反复进行的探索。

SweepANN 瞄准的是整条虚拟筛选流水线中的中间一环。团队认为,上游的向量编码和下游的分子对接也有提速空间,几个环节更快衔接,才能让初筛提速更充分地作用于整个探索过程。

此外,作为面向大结果集的向量检索方案,这套方法的适用范围并不局限于药物筛选。论文除了在药物相关模型上验证,还测试了公开的图像与文本向量数据。曹志超判断,若一项任务同样需要从庞大数据集中一次找出几万乃至几十万个相似对象,其处理大结果集的思路便有借鉴价值。

一条科学路径先回答“能不能做”,系统研究随后回答“能做多快、成本能降到什么程度”。未来,团队还将在更大规模的分子库及上下游计算环节中进一步追问,如何用更少资源、更短时间完成湿实验前的探索。

亚利桑那州立大学计算机系博士生张振宇是本论文第一作者,合作者包括该系博士生林奇,以及药物研发专家张楠。

参考资料:

1、 https://arxiv.org/abs/2610.27306

2、 https://openreview.net/forum?id=lAbCgNcxm7

3、 https://search.asu.edu/profile/4082902

4、 https://asu-idi.github.io/

【版权声明】本文内容来源于DeepTech深科技,版权归原作者及原媒体所有。本站仅作信息分享,不构成任何商业用途;如涉版权问题,请联系本站删除。

发布时间:2026-11-08 13:09:12


(第1/1页/共8375字/4阅)
首页>科学
相关科学:
陕西安康18头野猪凌晨排队横穿城区,为何会出现这么多头野猪列队进城?
都是瓶装水,纯净水和矿泉水有啥区别?
太阳突然消失后的地球命运:宇宙中的假设
江西一只乌鸦求助人类帮喝水
大熊猫“花花”出现口吐白沫等刻板行为,成都熊猫基地工作人员:密切关注花花的行为表现,并积极进行干预
*邀请有奖励,推荐得礼包!长期有效!
网友评论:
更多评论(0)
您的评论:

[热点科学]
前三季度盈利回正,叶国富让永辉的路走深了
​金健米业前三季度营收增长近三成,油脂板块毛利收窄
连续16年顾客满意度第一,这家日本药妆店凭什么?
阿斯利康怀揣800亿美元梦想,已制定方案扭转股价颓势
淡水泉宏观主题投资负责人彭皓:情绪超调打开布局窗口 中国核心资产有望迎来价值重估
[精彩推荐]
8000家幸运咖,向蜜雪总部喊话求援|深氪
谁见了不想逗逗这只超萌小土狗,太可爱了
举重世锦赛:加拿大壮汉 把159KG杠铃扔向了主裁
台胞:B站成台湾人最喜欢的视频平台之一,非常有教育意义!
IMF上门催收9亿美元,泽连斯基伤心了:我凭什么还?拿什么还?