模型高性能优化 | 两步数据预处理让Alphafold 提速一倍

本文介绍了如何通过特征预处理和特征裁切优化Alphafold的输入数据,以提高模型训练效率。通过特征预处理,解决了CPU计算瓶颈,而特征裁切针对长序列的MSA和Template特征,减少了处理时间,从而显著提升了GPU利用率,实现了训练性能的大幅提升。
摘要由CSDN通过智能技术生成

实验|Daylight       算力支持|幻方萤火 

若说2021年人工智能学术界最令人振奋的成果,那么Alphafold可谓当之无愧。Alphafold2在CASP14 蛋白质预测挑战上取得了远远超出同类模型的准确率,并首次将蛋白质结构预测的精度提高到了原子级别——已经接近了实验测量的水准。

幻方AI团队在Alphafold2推出不久就在萤火二号成功将Alphafold2训练运行了起来,详情如我们上一期文章。然而,由于Alphafold2本身模型的复杂性和开源代码的缺陷,并且幻方AI的训练平台也比较特殊,使得一开始复现资源利用效率非常低下,训练成本不可接受。


为了提高Alphafold的训练效率,帮助科研人员与开发者们降低研究门槛,幻方AI团队对Alphafold2模型进行了大量优化,大幅提高了模型训练的效率。我们的工作可以被概括为以下三点: 

1. 重构代码,解决开源版本中无法多机多卡训练的问题,利用数据并行大幅提高Alphafold2训练效率,降低复现门槛;

2. 优化数据处理逻辑,大幅增加GPU的利用率,从40%左右提升到了90%以上;

3. 利用hfai高性能工具改造模型,将Alphafold2深度融合进幻方萤火二号中,大幅提高训练性能。

本次文章先和大家聊聊,如何优化蛋白质数据的处理,以获得高效的训练性能。


输入优化

Alphafold的输入特征可以分为这样三类: 

1. 蛋白质序列本身 

2. Multi-Sequence Alignment(MSA)多序列对齐特征 

3. Template蛋白质模板特征

它们在不同的蛋白质序列长度之间差异非常大,处理所需时间可以从几秒到上千秒不等,这会极大的影响模型训练的效率。例如在一次20分钟的训练过程中,单个长样本的处理就可能阻塞整体训练10几分钟。而在多机多卡大批次场景下,每个批次内有部分数据的处理时间极长几乎成了必然事件。

如上图所示,在训练Alphafold的初始阶段,输入的特征是通过序列数据库搜索,生物学工具(JackHmmer/HHSearch/...)计算而得出,需要依赖大量的CPU计算能力支持。在整个Alphafold模型训练的过程中,CPU算力往往成为了阻碍Alphafold训练性能提升的重要瓶颈。

针对上述问题,幻方AI采用特征预处理特征裁切两种方案对输入进行优化。简单来说,特

05-10 1053
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻方AI小编

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值