作者丨小舟

来源丨机器之心

AlphaFold2 是 2021 年 AI for Science 领域最耀眼的一颗星。现在,有人在 PyTorch 中复现了它,并已在 GitHub 上开源。这一复现在性能上媲美原版 AlphaFold2,且在算力、存储方面的要求对于大众来说更加友好。

刚刚,哥伦比亚大学系统生物学助理教授 Mohammed AlQuraishi 在推特上宣布,他们从头训练了一个名为 OpenFold 的模型,该模型是 AlphaFold2 的可训练 PyTorch 复现版本。Mohammed AlQuraishi 还表示,这是第一个大众可用的 AlphaFold2 复现。

AlphaFold2 可以周期性地以原子精度预测蛋白质结构,在技术上利用多序列对齐和深度学习算法设计,并结合关于蛋白质结构的物理和生物学知识提升了预测效果。它实现了 2/3 蛋白质结构预测的卓越成绩并在去年登上了《自然》杂志。更令人惊喜的是,DeepMind 团队不仅开源了模型,还将 AlphaFold2 预测数据做成了免费开放的数据集。

然而,开源并不意味着能用、好用。其实,AlphaFold2 软件系统的部署难度极大,并且对硬件的要求高、数据集下载周期长、占用空间大,每一条都让普通开发者望而却步。因此,开源社区一直在努力实现 AlphaFold2 的可用版本。

这次哥伦比亚大学 Mohammed AlQuraishi 教授等人实现的 OpenFold 总训练时间大约为 100000 A100 小时,但在大约 3000 小时内就达到了 90% 的准确率。

OpenFold 与原版 AlphaFold2 的准确率相当,甚至略胜一筹,可能因为 OpenFold 的训练集更大一点:

OpenFold 的主要优势是推理速度显著提升,对于较短的蛋白质序列,OpenFold 的推理速度可以达到 AlphaFold2 的两倍。另外,由于使用自定义的 CUDA 内核,OpenFold 使用更少的内存就能推理更长的蛋白质序列。

OpenFold 介绍

OpenFold 几乎再现了原始开源推理代码 (v2.0.1) 的所有功能,除了已趋于被淘汰的「模型集成」功能,该功能在 DeepMind 自己的消融测试中就表现不佳。

无论是否有 DeepSpeed,OpenFold 都能以全精度或 bfloat16 进行训练。为了实现 AlphaFold2 的原始性能,该团队从头开始训练 OpenFold,现已公开发布了模型权重和训练数据。其中,训练数据包含大约 400000 份 MSA 和 PDB70 模板文件。OpenFold 还支持使用 AlphaFold 的官方参数进行蛋白质推理。

与其他实现相比,OpenFold 具有以下优点:

  • 短序列推理:加快了在 GPU 上推理少于 1500 个氨基酸残基的链的速度;

  • 长序列推理:通过该研究实现的低记忆注意力(low-memory attention)对极长链进行推理,OpenFold 可以在单个 A100 上预测 超过 4000 个残基的序列结构,借助 CPU offload 甚至可以预测更长的序列;

  • 内存高效在训练和推理期间,在 FastFold 内核基础上修改的自定义 CUDA 注意力内核,使用的 GPU 内存分别比等效的 FastFold 和现有的 PyTorch 实现少 4 倍和 5 倍;

  • 高效对齐脚本:该团队使用原始 AlphaFold HHblits/JackHMMER pipeline 或带有 MMseqs2 的 ColabFold,已经生成了数百万个对齐。

Linux 系统下的安装与使用

开发团队提供了一个在本地安装 Miniconda、创建 conda 虚拟环境、安装所有 Python 依赖项并下载有用资源的脚本,包括两组模型参数。

运行以下命令:

scripts/install_third_party_dependencies.sh

使用如下命令激活环境:

source scripts/activate_conda_env.sh

停用命令:

source scripts/deactivate_conda_env.sh

在激活环境下,编译 OpenFold 的 CUDA 内核

python3 setup.py install

在 / usr/bin 路径下安装 HH-suite:

# scripts/install_hh_suite.sh

使用如下命令可以下载用于训练 OpenFold 和 AlphaFold 的数据库:

bash scripts/download_data.sh data/

如果要使用一组 DeepMind 的预训练参数对一个或多个序列进行推理,可以运行如下代码:

python3 run_pretrained_openfold.py \fasta_dir \data/pdb_mmcif/mmcif_files/ \--uniref90_database_path data/uniref90/uniref90.fasta \--mgnify_database_path data/mgnify/mgy_clusters_2018_12.fa \--pdb70_database_path data/pdb70/pdb70 \--uniclust30_database_path data/uniclust30/uniclust30_2018_08/uniclust30_2018_08 \--output_dir ./ \--bfd_database_path data/bfd/bfd_metaclust_clu_complete_id30_c90_final_seq.sorted_opt \--model_device "cuda:0" \--jackhmmer_binary_path lib/conda/envs/openfold_venv/bin/jackhmmer \--hhblits_binary_path lib/conda/envs/openfold_venv/bin/hhblits \--hhsearch_binary_path lib/conda/envs/openfold_venv/bin/hhsearch \--kalign_binary_path lib/conda/envs/openfold_venv/bin/kalign--config_preset "model_1_ptm"--openfold_checkpoint_path openfold/resources/openfold_params/finetuning_2_ptm.pt

更多细节请参见 GitHub:https://github.com/aqlaboratory/openfold

扩展阅读:

  • 高效预测几乎所有人类蛋白质结构,AlphaFold 再登 Nature,数据库全部免费开放

  • 生物计算专家超细致解读 AlphaFold2 论文:模型架构及应用

  • DeepMind 开源的 AlphaFold 怎么用?打开 Colab 就能在线用

参考链接:

https://cloud.tencent.com/developer/article/1861192

https://twitter.com/MoAlQuraishi

本文仅做学术分享,如有侵权,请联系删文。

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

计算机视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~ 

首个大众可用PyTorch版AlphaFold2复现,哥大开源OpenFold,star量破千相关推荐

  1. 一天star量破千,300行代码,特斯拉AI总监Karpathy写了个GPT的Pytorch训练库

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理:公众号@机器之心 本文仅做学术分享,如有侵权,请联系删除. 如果说 GPT 模型是所向披靡的战舰 ...

  2. Koordinator 1.0 正式发布:业界首个生产可用、面向规模场景的开源混部系统

    作者:Koordinator 团队 Koordinator 从 2022 年 4 月发布以来,迄今一共迭代发布了 8 个版本.项目经历的大半年发展过程中,Koordinator 社区吸纳了包括阿里巴巴 ...

  3. PyTorch 版 EfficientDet 比官方 TF 实现快 25 倍?这个 GitHub 项目数天狂揽千星

    来源:机器之心 本文约3646字,建议阅读8分钟. 本文介绍在 Github 项目中,开发者 zylo117 开源了 PyTorch 版本的 EfficientDet,速度比原版高 20 余倍.如今, ...

  4. PyTorch版EfficientDet比官方TF实现快25倍?这个GitHub项目数天狂揽千星

    点上方蓝字视学算法获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :机器之心 EfficientDe ...

  5. 全网第一SoTA成绩却朴实无华的PyTorch版EfficientDet

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文作者:Zylo117 https://zhuanlan.zhih ...

  6. gorm 密码字段隐藏_【财富密码】第1期:《LSTM大战上证指数-PyTorch版》

    前言: Hello大家好,我是瑟林洞仙人!这里是[财富密码]系列第1期:<LSTM大战上证指数-PyTorch版>.在这里,我将用我的"意识流"代码,手把手教会大家如何 ...

  7. 史上最详细的Pytorch版yolov3代码中文注释详解(四)

    史上最详细的Pytorch版yolov3代码中文注释详解(一):https://blog.csdn.net/qq_34199326/article/details/84072505 史上最详细的Pyt ...

  8. 使用pytorch版faster-rcnn训练自己数据集

    使用pytorch版faster-rcnn训练自己数据集 引言 faster-rcnn pytorch代码下载 训练自己数据集 接下来工作 参考文献 引言 最近在复现目标检测代码(师兄强烈推荐FPN, ...

  9. 《动手学深度学习》(PyTorch版)代码注释 - 26 【GoogLeNet_Learning】

    目录 说明 配置环境 此节说明 代码 说明 本博客代码来自开源项目:<动手学深度学习>(PyTorch版) 并且在博主学习的理解上对代码进行了大量注释,方便理解各个函数的原理和用途 配置环 ...

最新文章

  1. 用它5分钟以后,我放弃用了四年的 Flask
  2. Python 基础篇-正斜杠(/)和反斜杠(\)的用法
  3. 全球及中国汽车后视镜行业供需分析与需求前景预测报告2022-2027年
  4. win10 mysql root密码_win10 mysql5.7root密码多少
  5. 误删除了Oracle的dbf文件后的解决方法
  6. (渝粤教育)网络教育远程教育统考计算机应用基础复习题
  7. Sublime Text 3 配置C语言运行环境
  8. 细说 AppbarLayout,如何理解可折叠 Toolbar 的定制
  9. 卡在DSMOS has arrived的解决办法
  10. 软件测试————第二章
  11. 计算机考研地域重要还是学校,考研选城市还是选大学?想知道考研学校重要还是地域重要...
  12. 数据采集中的 全量采集,增量采集,差异采集
  13. 加入域时出现“不能访问网络位置”错误信息
  14. 最全16套vue.js入门和项目实战+素材+源码
  15. 198. House Robber 的递归与动态规划实现方法(Python)
  16. 超市地址选取的c语言程序设计,c语言程序设计 超 市 管 理 系 统
  17. 数据库存储与文件存储
  18. python选手的最后得分_用Python进行体育竞技分析(预测球队成绩)!身家都下注了!...
  19. 开始搞WinCE-------关于定制WinCE操作系统的大概步骤
  20. java eventbus 原理_EventBus原理解析

热门文章

  1. JavaScript:赋值运算符以及运算符优先级
  2. micropython支持的单片机,MicroPython技术及应用定义
  3. 网易云登入、关注、评论协议
  4. 电动力学专题:光子晶体
  5. 最小编辑距离(Minimum Edit Distance)
  6. 深入了解parentNode,parentElement,childNodes,children的区别,一看就懂
  7. jeesite解决跨域问题
  8. 设置html前导符,css 控制first-letter伪类的背景
  9. python刷红包_程序员小伙使用Python刷短视频自动领红包,好嗨哟
  10. 安装nvm 后npm不是内部或外部命令,也不是可运行的程序的处理方法