AlphaFold3重磅开源,诺奖级AI颠覆世界!GitHub斩获1.8k星,本地即可部署

OpenCV学堂 2024-11-14 21:59



点击上方↑↑↑OpenCV学堂”关注我

来源:公众号 新智元 授权


【导读】六个月的争议后,诺奖级AI AlphaFold3开源了。这个在蛋白质结构预测领域掀起波澜的AI——期待它的开源推动更多科学家的大量创新。文后附有安装和运行步骤详解哦!

AlphaFold3源码终于开放了!

六个月前,AlphaFold3横空出世震撼了整个学术界。AlphaFold的开发人也凭借它在上个月赢得了诺贝尔化学奖。

然而,这个诺奖级AI的「不开源」一直引起学界的不满。谷歌DeepMind只推出了一个免费研究平台「AlphaFold Server」,而且该服务有每日的次数限制。相比于开源的AlphaFold2来说,这种使用方式缺失了很多自由度。

好在它现在终于开源了!开源后,生化医药的科学家们可以在本地部署AlphaFold3,极大地缩短了新药、疫苗等研发进程。

现在,任何人都可以下载AlphaFold3软件代码并进行非商业使用,但目前只有学术背景的科学家可申请访问训练权重。

GitHub上的AlphaFold3开源项目代码目前已斩获1.8k星。

开源项目:https://github.com/google-deepmind/alphafold3

AlphaFold3的「效仿者」们

在过去的几个月中,不少公司都依靠AlphaFold3论文中的伪代码,争相发布了各自受到AlphaFold3启发的类似模型。

比如,获得OpenAI投资的AI生物初创Chai Discovery,就在9月发布了用于分子结构预测的新型多模态基础模型Chai-1,并附带了一份技术报告,比较了Chai-1与AlphaFold等模型的性能。

官网地址:https://www.chaidiscovery.com/

另一家位于美国旧金山的公司Ligo Biosciences则发布了一个无使用限制的AlphaFold3版本。但它尚未具备完整的功能,比如模拟药物和蛋白质以外分子的能力。

项目地址:https://github.com/Ligo-Biosciences/AlphaFold3

其他团队也正在开发没有使用限制的AlphaFold3版本:AlQuraishi希望在年底前推出一个名为OpenFold3的完全开源模型。这将使制药公司能够使用专有数据(例如结合不同药物的蛋白质结构)重新训练模型,从而有可能提高性能。

开源的重要性


过去一年里,许多公司发布了新的生物AI模型,这些公司对开放性采取了不同的态度。

威斯康星大学麦迪逊分校的计算生物学家Anthony Gitter对盈利性公司加入他的领域没有异议——只要他们在期刊和预印本服务器上分享工作时遵循科学界的标准。

「我和其他人希望盈利性公司们也分享关于如何进行预测的信息,并以我们可以审查的方式发布AI模型和代码,」Gitter补充道,「我的团队不会基于无法审查的工具进行构建和使用。」

DeepMind科学AI负责人Pushmeet Kohli表示,几种AlphaFold3复制品的出现表明,即使没有开源代码,该模型也是可复现的。

他补充说,未来他希望看到更多关于出版规范的讨论,因为这一领域越来越多地由学术界和企业研究人员共同参与。

此前,AlphaFold2的开源推动了其他科学家的大量创新。

例如,最近一次蛋白质设计竞赛的获胜者使用该AI工具设计出能够结合癌症靶标的新蛋白质。

AlphaFold项目的负责人Jumper最喜欢的一个AlphaFold2创新,是一个团队使用该工具识别出一种帮助精子附着在卵细胞上的关键蛋白。

Jumper迫不及待地想看到在分享AlphaFold3后出现这样的惊喜。

安装和运行

安装AlphaFold3需要一台运行Linux的机器;AlphaFold3不支持其他操作系统。

完整安装需要多达1TB的磁盘空间来存储基因数据库(建议使用SSD存储)以及一块具有计算能力8.0或更高的 NVIDIA GPU(具有更多内存的GPU可以预测更大的蛋白质结构)。

经过验证,单个NVIDIA A100 80 GB或NVIDIA H100 80 GB可以适配最多5120个token的输入。在NVIDIA A100和H100 GPU上的数值准确性也已被验证。

尤其是对于较长的目标,基因搜索阶段可能会消耗大量RAM——建议至少使用64GB的RAM运行。

配置步骤:
1. 在GCP上配置机器
2. 安装Docker
3. 为A100安装NVIDIA驱动程序
4. 获取基因数据库
5. 获取模型参数

6. 构建AlphaFold3 Docker容器或Singularity镜像

获取AlphaFold3源代码

通过git下载AlphaFold3的代码库:

git clone https://github.com/google-deepmind/alphafold3.git

获取基因数据库

此步骤需要「curl」和「zstd」。

AlphaFold3需要多个基因(序列)蛋白质和RNA数据库来运行:
- BFD small
- MGnify
- PDB(mmCIF格式的结构)
- PDB seqres
- UniProt
- UniRef90
- NT
- RFam

- RNACentral

Python程序「fetch_databases.py」可以用来下载和设置所有这些数据库。

建议在「screen」或「tmux」会话中运行以下命令,因为下载和解压数据库需要一些时间。完整数据库的总下载大小约为252GB,解压后的总大小为630GB。

cd alphafold3  # Navigate to the directory with cloned AlphaFold3 repository.python3 fetch_databases.py --download_destination=
该脚本从托管在GCS上的镜像下载数据库,所有版本与AlphaFold3论文中使用的相同。

脚本完成后,应该有以下目录结构:

pdb_2022_09_28_mmcif_files.tar  # ~200k PDB mmCIF files in this tar.bfd-first_non_consensus_sequences.fastamgy_clusters_2022_05.fant_rna_2023_02_23_clust_seq_id_90_cov_80_rep_seq.fastapdb_seqres_2022_09_28.fastarfam_14_9_clust_seq_id_90_cov_80_rep_seq.fastarnacentral_active_seq_id_90_cov_80_linclust.fastauniprot_all_2021_04.fauniref90_2022_05.fa

获取模型参数

访问AlphaFold3模型参数需要向Google DeepMind申请并获得授权。

数据管线

数据管线的运行时间(即基因序列搜索和模板搜索)可能会因输入的大小、找到的同源序列数量以及可用的硬件(磁盘速度尤其会影响基因搜索的速度)而显著变化。

如果想提高性能,建议提高磁盘速度(例如通过利用基于RAM的文件系统),或增加可用的CPU核心并增加并行处理。

此外,请注意,对于具有深度MSA的序列,Jackhmmer或Nhmmer可能需要超出推荐的64 GB RAM的大量内存。

模型推理

AlphaFold3论文的补充信息中的表8提供了在配置为运行在16个NVIDIA A100上时的AlphaFold3的无需编译的推理时间,每个设备具有40GB的内存。

相比之下,该存储库支持在单个NVIDIA A100上运行AlphaFold3,具有80GB内存,并在配置上进行了优化以最大化吞吐量。

下表中使用GPU秒(即使用16个A100时乘以16)比较了这两种设置的无需编译的推理时间。该存储库中的设置在所有token大小上效率更高(提高至少2倍),表明其适合高吞吐量应用。

硬件要求

AlphaFold3正式支持以下配置,并已对其进行了广泛的数值准确性和吞吐量效率测试:
- 1 NVIDIA A100(80GB)

- 1 NVIDIA H100(80GB)

通过以下配置更改,AlphaFold3可以在单个NVIDIA A100 (40GB) 上运行:
1. 启用统一内存。

2. 调整model_config.py中的pair_transition_shard_spec:

pair_transition_shard_spec: Sequence[_Shape2DType] = (      (2048, None),      (3072, 1024),      (None, 512),  )
虽然数值上准确,但由于可用内存较少,因此与NVIDIA A100 (80GB) 的设置相比,该配置的吞吐量会较低。

虽然也可以在单个NVIDIA V100上使用run_alphafold.py中的--flash_attention_implementation=xla来运行长度最多为1280 token的AlphaFold3,但此配置尚未经过数值准确性或吞吐量效率的测试,因此请谨慎操作。

参考资料:
https://www.nature.com/articles/d41586-024-03708-4

OpenCV4系统化学习


深度学习系统化学习

推荐阅读

OpenCV4.8+YOLOv8对象检测C++推理演示

ZXING+OpenCV打造开源条码检测应用

攻略 | 学习深度学习只需要三个月的好方法

三行代码实现 TensorRT8.6 C++ 深度学习模型部署

实战 | YOLOv8+OpenCV 实现DM码定位检测与解析

对象检测边界框损失 – 从IOU到ProbIOU

初学者必看 | 学习深度学习的五个误区


OpenCV学堂 专注计算机视觉开发技术分享,技术框架使用,包括OpenCV,Tensorflow,Pytorch教程与案例,相关算法详解,最新CV方向论文,硬核代码干货与代码案例详解!作者在CV工程化方面深度耕耘15年,感谢您的关注!
评论
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 87浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 99浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 143浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 134浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 65浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 114浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 77浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 170浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 54浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 104浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 94浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦