Alphafold3本地部署
前言
AlphaFold 3(https://github.com/google-deepmind/alphafold3 )是 DeepMind 与 Isomorphic Labs 于2024 年 5 月发布的 AI 模型,是 AlphaFold 2 的全面升级,可原子精度预测蛋白质、DNA、RNA、小分子、离子及其复合物的三维结构。
AlphaFlod3 提供了在线试用的路径——https://alphafoldserver.com/
AlphaFlod3 也支持本地部署——alphafold3/docs/installation.md at main · google-deepmind/alphafold3 · GitHub
安装步骤
在运行软件前,首先要准备好三个前提条件: 镜像构建、数据集获取、模型参数获取
镜像构建
# 下载项目
git clone https://github.com/google-deepmind/alphafold3
# 设置docker的http_proxy
cat /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
systemctl restart docker
# 打包镜像
cd alphaflod3
docker build -t alphafold3 -f docker/Dockerfile .
打包出来的镜像笔者上传至: ccr.ccs.tencentyun.com/bio-tech/alphafold:3-latest (对应的commitId: b712a3d )
数据集获取
# 设置proxy
export http_proxy="http://127.0.0.1:7890"
export https_proxy="http://127.0.0.1:7890"
# 在 alphaflod3 项目根目录下执行
bash fetch_databases.sh
留意磁盘使用情况 !!!

模型参数获取
AlphaFold 3 的代码开源,但模型权重(参数)不开源,官方必须向 Google DeepMind 单独申请,且仅限非商业用途。一般需要用非商业机构邮箱申请。

已经工作的同学,可以在找在学校的朋友帮忙,或者到小红书等平台上找好心人。
运行镜像
运行镜像时通过“--volume”参数,将模型文件、数据库、要输入的序列等文件 挂载进容器。
docker run -it \
--volume $HOME/af_input:/root/af_input \
--volume $HOME/af_output:/root/af_output \
--volume <MODEL_PARAMETERS_DIR>:/root/models \
--volume <DB_DIR>:/root/public_databases \
--gpus all \
alphafold3 \
python run_alphafold.py \
--json_path=/root/af_input/fold_input.json \
--model_dir=/root/models \
--output_dir=/root/af_output

如果所使用的显示不是第 8 代 CUDA 架构的(如T4是7代的),需要给容器指定 XLA_FLAGS 环境变量。
--env XLA_FLAGS="--xla_disable_hlo_passes=custom-kernel-fusion-rewriter"
如果类似报错:“Allocator (GPU_0_bfc) ran out of memory trying to allocate 1.50GiB (rounded to 1610612736)requested by op”,可尝试指定 TF_GPU_ALLOCATOR 进行解决。
--env TF_GPU_ALLOCATOR="cuda_malloc_async"
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)