做 AI 蛋白组学时,很多人先问“模型能不能装上”,真正开跑后才发现:GPU 只是其中一环。数百万张 MS/MS 谱图要反复解析、随机读取、组批、推理和写回结果;如果数据仍散落在大量 mzML、MGF 或仪器原始文件里,训练卡常常在等磁盘,显存再大也吃不满。
2026 年 10 月,《Nature Methods》发表 MassNet:它汇总 648 个项目、27,643 次 LC–MS/MS 运行和 35 个物种,共 15.4 亿张二级质谱图。数据源约 30 TB,经统一搜索、质控和张量化整理后形成 4.45 TB 的 AI-ready 语料。研究团队再用其中 1 亿条 PSM 训练 XuanjiNovo,用于从谱图直接预测肽段序列。

这篇论文的重点,不只是“数据更大”
MassNet 不是把公共数据简单堆在一起。团队用 FragPipe 和 Sage 分别搜索,在 1% FDR 下获得候选结果,再统一元数据、谱峰、肽段、电荷和仪器信息。按运行统计,去重后有 5.48 亿条目标 PSM;进一步做全局 FDR 与去重后,保留约 5.01 亿条 PSM、204 万条独特肽段和 122,056 个蛋白。
更值得注意的是数据形态。作者提出 MSDT:逻辑层使用 Parquet 保存结构化谱图与鉴定信息,训练前还能转成 LMDB 内存映射数据库。这样模型可随机读取需要的样本,不必每个 epoch 都重新扫描文本文件。对大规模训练而言,高速 NVMe、内存映射和数据分片与 GPU 数量同样重要。
XuanjiNovo 使用非自回归 Transformer、课程学习和精确质量控制模块。论文分别比较 3000 万、6500 万和 1 亿 PSM 训练规模;1 亿版本的氨基酸级召回约 0.82,肽段级召回约 0.68,高于 3000 万版本约 0.75 和 0.54。不过,数据更大并不自动解决跨平台偏移:在部分旧平台或外部数据上,基础模型并非始终最优,随后还需用 MassIVE-KB 数据微调。
先判断你需要推理、微调,还是从头训练
| 任务层级 | 典型输入 | 主要瓶颈 | 合理起点 |
|---|---|---|---|
| 复用预训练模型 | MGF 或 MSDT,单批项目 | CUDA 环境、批大小、谱图读取 | 单 GPU 先跑 1 万张谱图,记录显存与吞吐 |
| 多批次正式推理 | 多文件、数十万至千万谱图 | NVMe I/O、任务切分、结果合并 | 多 GPU 队列;每卡独立分片与日志 |
| 平台或物种微调 | 带可靠标签的本地数据 | 训练稳定性、验证集隔离、检查点 | 先做小规模对照,再决定 GPU 数和训练轮次 |
| 重建大语料训练 | 3000 万—1 亿 PSM | 多 GPU 通信、TB 级存储、长期任务 | 分布式训练、断点续跑与版本化数据集 |
这张表最关键的判断是:多数课题组并不需要复刻 1 亿 PSM 训练。若目标只是给自己的 DDA 数据做 de novo 测序,先用官方检查点推理更合理;只有当仪器平台、碎裂方式或物种差异造成稳定偏移,才值得设计微调。直接从头训练既耗资源,也容易把数据泄漏、错误标签和批次偏差放大。
为什么服务器比临时工作站更适合
第一,依赖链复杂。官方仓库要求 Python 3.10、PyTorch 2.1.0,并涉及 CUDA、CuPy、CTC 解码扩展和 GCC 兼容;macOS 因 CUDA 依赖不受支持。仓库同时提供 CUDA 11 与 CUDA 12 的 Docker 镜像。把驱动、容器、模型权重和数据目录固定下来,比在个人电脑反复重装更容易复现。
第二,资源需要分层。预处理与 MSDT 转换更偏 CPU、内存和磁盘,训练与推理依赖 GPU,结果汇总又回到 CPU/I/O。服务器可把转换、训练、评估拆成队列,避免一个进程占满整机。官方说明显存需求受 batch_size 和 n_beams 共同影响,默认建议 n_beams=40、refine_iters=3、保留 800 个峰;盲目增大 beam 会直接增加计算量。
第三,大任务必须可恢复。模型、输入分片、配置、校验和、日志和检查点都应独立保存。论文级结果还要记录软件版本、FDR 规则、数据拆分和外部验证,不能只留下一个预测表。
存储也不应只按“输入文件有多大”购买。一个稳妥的项目至少分三层:原始文件只读保存;MSDT、LMDB 和训练分片放在高速工作盘;结果、日志和检查点进入长期目录。转换期间原始数据与新格式会同时存在,多轮实验还会产生多个检查点和预测版本,因此工作盘必须预留冗余,并定期核对文件校验和。若多张 GPU 共用一个低速网络盘,增加显卡未必加速,反而可能让所有进程同时等待 I/O。
多 GPU 也不是把单卡时间直接除以卡数。需要先确认数据能否均匀切分、每个进程是否重复缓存、通信是否经过高速互联,以及失败后能否从最近检查点继续。对新项目更实用的做法是先固定一批代表谱图,分别用 1 卡和 2 卡跑相同配置;只有吞吐、GPU 利用率和结果一致性都符合预期,再扩大到 4 卡或更多。
以下是项目排队的起点,不是论文给出的硬件门槛或速度保证:预训练推理可先用 1 张 24–48 GB GPU、16 CPU、64 GB 内存和 1 TB NVMe;多批次或微调可从 2—4 张 GPU、32 CPU、128 GB 内存起测。若要处理 TB 级 MSDT 或训练数千万 PSM,应按一次小样实测的 GPU 利用率、峰值显存和读写带宽再扩容。
可执行的最小推理路径
官方仓库提供 CUDA 12 镜像、模型和 1 万张谱图测试文件。先跑通小样并保存校验和,再替换为自己的数据。
git clone https://github.com/guomics-lab/MassNet-DDA.git
cd MassNet-DDA
docker pull guomics2017/massnet-dda:cuda12_v1.1
python download_data.py --prefer-mirror \
--files XuanjiNovo_100M_massnet.ckpt bacillus.10k.mgf
sha256sum XuanjiNovo_100M_massnet.ckpt
python -m XuanjiNovo.XuanjiNovo \
--mode=denovo \
--peak_path=./bacillus.10k.mgf \
--model=./XuanjiNovo_100M_massnet.ckpt \
--output=./demo_output
正式上量前记录四项:谱图数、每秒处理量、峰值显存、输入盘读取速度。官方仓库报告在 NVIDIA H200 上约“280 spectra per GPU”,但没有在这句中明确时间单位,因此不能直接换算你的工期;仪器、峰数、beam、精修次数和存储都会改变吞吐。
适用边界:AI 预测不是数据库搜索的替代声明
XuanjiNovo 的优势来自论文设定下的基准,不代表所有仪器和样本都同样提升。跨平台数据可能需要微调;训练集与测试集必须按肽段序列隔离,避免看似高分的泄漏。de novo 预测还应结合质量误差、FDR、数据库搜索或合成肽验证,不能把模型输出直接写成新蛋白发现或机制证据。
把谱图规模带来,先判断哪一层值得投入
如果你准备部署 XuanjiNovo、转换 MSDT,或评估是否值得微调,可先提供仪器与碎裂方式、文件格式、谱图数量、样本批次、目标物种、现有 GPU/存储和希望得到的结果;首次沟通不必传完整敏感原始数据。
云生信可先协助判断是预训练推理、平台微调还是大规模训练,并据此拆分 CUDA 环境、GPU、CPU、内存和 NVMe 工作盘。后续可选择在云端服务器部署并交接环境、租用服务器自行运行,或在确认数据与交付范围后委托分析,避免一开始就为不必要的全量训练付出时间。
参考资料:
