[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Ligo-Biosciences--AlphaFold3":3,"tool-Ligo-Biosciences--AlphaFold3":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,2,"2026-04-05T10:45:23",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74913,"2026-04-05T10:44:17",[19,13,20,18],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[20,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65628,"2026-04-05T10:10:46",[20,18,14],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":22},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[20,14,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":81,"owner_email":81,"owner_twitter":81,"owner_website":81,"owner_url":82,"languages":83,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":104,"env_os":105,"env_gpu":106,"env_ram":105,"env_deps":107,"category_tags":116,"github_topics":81,"view_count":10,"oss_zip_url":81,"oss_zip_packed_at":81,"status":22,"created_at":117,"updated_at":118,"faqs":119,"releases":135},2706,"Ligo-Biosciences\u002FAlphaFold3","AlphaFold3","Open source implementation of AlphaFold3","AlphaFold3 是由 Ligo 团队推出的开源项目，旨在复现并开放 Google DeepMind 革命性的生物分子结构预测模型。它核心解决了如何高精度预测蛋白质及其与其他分子（如配体、核酸）复合体三维结构的难题，为药物研发和基础生物学研究提供关键工具。\n\n目前，该项目处于早期活跃研发阶段，优先发布了单链蛋白质的预测与完整训练代码，后续将逐步支持更复杂的复合物预测。由于包含完整的训练流程且尚未达到生产级稳定状态，AlphaFold3 主要面向人工智能研究人员、生物计算开发者以及希望深入探索结构预测算法的科研团队，普通用户建议等待后续成熟版本。\n\n在技术亮点上，AlphaFold3 不仅复用了 OpenFold 的核心模块和 ProteinFlow 的高效数据管道，还引入了由社区贡献者优化的 Triton 内核。这一改进使得多序列比对（MSA）处理的内存效率比原生 PyTorch 实现提升了十倍以上，有效突破了长序列训练的瓶颈。此外，团队修正了原论文伪代码中模块顺序的逻辑缺陷，确保所有计算块都能有效贡献于最终的结构预测结果。作为一个致力于推动生物技术社区自由创新的开源项目，Alph","AlphaFold3 是由 Ligo 团队推出的开源项目，旨在复现并开放 Google DeepMind 革命性的生物分子结构预测模型。它核心解决了如何高精度预测蛋白质及其与其他分子（如配体、核酸）复合体三维结构的难题，为药物研发和基础生物学研究提供关键工具。\n\n目前，该项目处于早期活跃研发阶段，优先发布了单链蛋白质的预测与完整训练代码，后续将逐步支持更复杂的复合物预测。由于包含完整的训练流程且尚未达到生产级稳定状态，AlphaFold3 主要面向人工智能研究人员、生物计算开发者以及希望深入探索结构预测算法的科研团队，普通用户建议等待后续成熟版本。\n\n在技术亮点上，AlphaFold3 不仅复用了 OpenFold 的核心模块和 ProteinFlow 的高效数据管道，还引入了由社区贡献者优化的 Triton 内核。这一改进使得多序列比对（MSA）处理的内存效率比原生 PyTorch 实现提升了十倍以上，有效突破了长序列训练的瓶颈。此外，团队修正了原论文伪代码中模块顺序的逻辑缺陷，确保所有计算块都能有效贡献于最终的结构预测结果。作为一个致力于推动生物技术社区自由创新的开源项目，AlphaFold3 正通过公开测试不断迭代完善。","\n# AlphaFold3 Open-Source Implementation\n\n## Introduction\nThis is Ligo's open-source implementation of AlphaFold3, an ongoing research project aimed at advancing open-source biomolecular structure prediction. This release implements the full AlphaFold3 model along with the training code. We are releasing the single chain prediction capability first and we will add ligand, multimer, and nucleic acid prediction capabilities once they are trained. [Sign up for beta testing here](https:\u002F\u002Fform.fillout.com\u002Ft\u002Fct1BWM5QWqus). \n\nThis repository is intended to accelerate progress towards a faithful, fully open-source implementation of AlphaFold3 for the entire biotech community to use freely.\n\n## Demo Video\n\nWe find that the model training dynamics are quite fast. The following video is a sample from a model trained for 4,000 steps on 8 A100 GPUs for 10 hours without templates. \n\n![AlphaFold3 Sample](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLigo-Biosciences_AlphaFold3_readme_b66b0b6193d1.gif)\n\nAnimation credits: [Matthew Clark](https:\u002F\u002Fbatisio.co.uk\u002F)\n\n## Acknowledgments\nThis project would not have been possible without the contributions of the following projects and individuals:\n\n- The AlphaFold3 team at Google DeepMind for their groundbreaking work and publishing the core algorithms.\n\n- The OpenFold project (https:\u002F\u002Fgithub.com\u002Faqlaboratory\u002Fopenfold), which laid the foundation for open-source protein structure prediction. We reuse many of their core modules, such as triangular attention and multiplicative update, as well as their data processing pipelines.\n\n- The ProteinFlow library (https:\u002F\u002Fgithub.com\u002Fadaptyvbio\u002FProteinFlow), especially the architect of ProteinFlow, Liza Kozlova ([@elkoz](https:\u002F\u002Fgithub.com\u002Felkoz)), who has been an absolute hero throughout this process. We trained most of our prototype models on ProteinFlow, since it provides a clean and well-documented data pipeline for working with protein data. We have partnered with AdaptyvBio to build the data pipeline of AlphaFold3 based on ProteinFlow that includes full ligand and nucleic acid support. [@elkoz](https:\u002F\u002Fgithub.com\u002Felkoz) and [@igor-krawczuk](https:\u002F\u002Fgithub.com\u002Figor-krawczuk) are building the next release of ProteinFlow to include full support for these data modalities.\n\n- [@alexzhang13](https:\u002F\u002Fgithub.com\u002Falexzhang13) for his custom MSA pair weighted averaging kernel in Triton, which is over 10x more memory efficient than the PyTorch implementation for longer sequences. This removes a critical scaling bottleneck for training on larger sequences. A huge thank you to Alex for his contributions to this project!\n\n\n## Project Status\n\nThis is an active research project in its early phases. We are working to prepare a stable release for the community. While we are excited about the potential of this work, we want to emphasise that this is not yet a production-ready tool.\nWe trained a version of AlphaFold3 on single-chain proteins to test the implementation -- the next release will include full ligand and nucleic acid support. \nWe are accepting a small number of beta testers to help us test the implementation and provide feedback. If you are interested in beta testing, please [join our waitlist](https:\u002F\u002Fform.fillout.com\u002Ft\u002Fct1BWM5QWqus).\n\n\n## Discrepancies from AlphaFold3's Pseudocode\nWhile working on this project, we discovered a few properties of the algorithms described in the AlphaFold3 supplementary information that were not consistent with surrounding deep learning literature. \nWe discuss these below:\n\n- **MSA Module Order**: In the Supplementary Information, the MSA module communication step occurs before the MSA stack. This results in the MSA stack of the last block not contributing to the structure prediction, since all information flows out through the pair representation. With the order in the pseudocode, the MSA stack in the last block does not have an opportunity to update the pair representation. We swap the OuterProductMean operation and the MSA stack to ensure all blocks contribute to the structure prediction. It is important to note this correction is consistent with the order of operations in the ExtraMSAStack of AlphaFold2. DeepMind mentions these MSA module blocks are \"homogeneous\". It is unclear whether this means shared weights or same architecture across blocks. If the layers are shared, then gradients will flow through all of them but the final calculation of the MSA stack is idle - this can be safely skipped (not mentioned in the pseudocode). We will resolve this ambiguity in light of DeepMind's response. \n\n- **Loss scaling**: The loss scaling factor described in the Supplementary Information does not give unit-loss at initialization. Unit-loss at initialization is one of the properties that Karras et al. (2022) set as a desirable property of the loss function when training diffusion models, and Max Jaderberg mentions this as one of the properties for why they chose the framework of Karras et al. in this talk [here](https:\u002F\u002Fyoutu.be\u002FAE35XCN5NuU?si=S_9-i3hupk3i9GDR). We think this is a simple typo in the Supplementary info that is due to an addition being typed as a multiplication -- in our implementation, we use the loss scaling factor consistent with Karras et al. (2022). Our measurements show that this gives unit MSE loss at initialization, whilst the scaling in the Supplementary Information is two to three orders of magnitude larger at initialization. Additionally, the loss scaling factor in the paper has a local minimum at t = 16.0, but then it increases with increasing noise level. This is not in line with the properties of the loss function that Karras et al. (2022) proposed, which emphasises the importance of downweighting the loss at higher noise levels. We add a Jupyter notebook to the repository showing our experiments. \n\n- **DiT block design**: The design of the AttentionPairBias and the DiffusionTransformer blocks seem to closely follow the DiT block design introduced by Peebles & Xie (2022) [here](https:\u002F\u002Farxiv.org\u002Fabs\u002F2212.09748). However, the residual connections are missing. It is not explained in the paper why DeepMind chose to omit them. We experiment with both and find that (within the range of steps we trained our models on) the DiT block with residual connections gives much faster convergence and better gradient flow through the network. Note that this is the discrepancy we are the least sure about, and it can be changed in a couple lines in our code if the original implementation does not use the residual connections.\n\nThese are noted here for transparency and to invite community input on the best approaches to resolve them.\n\n\n## Model Efficiency\n\nA significant focus of this implementation has been on optimising the model components for speed and memory efficiency. AlphaFold3 has many transformer-like components, but efficient hardware-aware attention implementations like FlashAttention2 do not integrate out-of-the-box with these modules due to pair biasing in AlphaFold3. All of the attention operations project a pair bias from the pairwise representation that is added after the key-query dot product, and the bias requires a gradient to be backpropagated. This is not out of scope for FlashAttention2, since the bias gradient would have the same gradient as the scaled QK^T dot product, but the current implementation does not support this. More recent attention implementations like [FlexAttention](https:\u002F\u002Fpytorch.org\u002Fblog\u002Fflexattention\u002F) are very promising, but they also do not support a bias gradient for now since broadcasting operations of the bias tensor during the forward pass become reductions in the backward pass, and this functionality is not implemented in the first release of FlexAttention. \n\n- We reuse battle-tested components such as TriangularAttention and TriangularMultiplicativeUpdate from the OpenFold project wherever we can. The modular design of the OpenFold project allows us to easily import these modules into our codebase. We are working on improving the efficiency of these modules with Triton, fusing operations to increase performance and reduce intermediate tensor allocation. \n\n- We observed that a naive implementation of the Diffusion Module in PyTorch frequently ran out of memory since the Diffusion Module is replicated 48 times per batch. To solve this issue, we re-purpose the MSARowAttentionWithPairBias kernel from Deepspeed4Science to implement a memory-efficient version of the Diffusion Module, treating the batch replicas with different noise levels as an additional batch dimension. For the AtomAttentionEncoder and AtomAttentionDecoder modules, we experimented with a custom PyTorch-native implementation to reduce the memory footprint from quadratic to linear, but the benefits were not that significant compared to a naive re-purposing of the AttentionPairBias kernel. We include both implementations in the repository, but use the naive implementation for the sake of reducing clutter.\nDespite these optimisations, our profiling experiments show that over 60% of the model's operations are memory-bound. We are working on a far more efficient and scalable implementation using the ideas of [ScaleFold](https:\u002F\u002Fpaperswithcode.com\u002Fpaper\u002Fscalefold-reducing-alphafold-initial-training), which will allow us to reach the training scale of the original AlphaFold3. \n### MSA Pair Averaging Efficiency\n\n[@alexzhang13](https:\u002F\u002Fgithub.com\u002Falexzhang13) implemented a custom MSA pair weighted averaging kernel in Triton that is fast and memory-efficient. \n\n- We had observed that one of the key memory bottlenecks is the MSA pair weighted averaging operation. The AlphaFold3 paper states that this operation replaces the MSARowAttentionWithPairBias operation with a \"cheaper\" pair weighted averaging, but implementing this naively in PyTorch results in 4x increase in memory usage compared to the Deepspeed4Science MSARowAttentionWithPairBias kernel. We hypothesized that this was due to the memory efficiency gains from the tiling and recomputation tricks in FlashAttention, which is also incorporated into the Deepspeed4Science MSARowAttentionWithPairBias kernel. \n- A naive implementation of the pair weighted averaging allocates a (*, N_seq, N_res, N_res, heads, c_hidden) intermediate tensor, which is too large to fit in GPU memory for even moderately long sequences. \n- Alex's kernel allows scaling the network to thousands of tokens on a single GPU!\n\n#### PyTorch vs. Triton Kernel Memory Usage\n![MSA Triton Kernel Memory](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLigo-Biosciences_AlphaFold3_readme_14d377842d89.png)\n\n#### PyTorch vs. Triton Kernel Runtime\n![MSA Triton Kernel Runtime](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLigo-Biosciences_AlphaFold3_readme_f4a0437ce600.jpg)\n\n\n\n## Getting Started\n\nWe do not yet provide sampling code since the ligand-protein and nucleic acid prediction capabilities are yet to be trained. The checkpoint weights can be loaded with PyTorch Lightning's checkpoint loading for experimentation and model surgery. The current model only predicts single-chain proteins, which is the same functionality as the original AlphaFold2. The model components are written to be reusable and modular so that researchers can easily incorporate them into their own projects.\nFor beta testing of ligand-protein and nucleic acid prediction: [Join our Waitlist](https:\u002F\u002Fform.fillout.com\u002Ft\u002Fct1BWM5QWqus)\n\n\n## Usage\n\nFor now, the primary use of this repository is for research and development. We will include more user-facing functionality in the future once the ligand-protein and nucleic acid prediction capabilities are ready.\n\n\n## Contributing\n\nWe welcome contributions from the community! There are likely numerous bugs and subtle implementation errors in our code. Deep learning training often fails silently, where the errors still allow the network to converge but make it work slightly worse. If you're interested in contributing, you can raise a Github issue with a bug description or fork the repository, create a new branch with your corrections and submit a pull request with a clear description of your changes. \n\nFor any other comments or suggestions please contact us via email at alphafold3@ligo.bio.\n\n## Citations\n\nIf you use this code in your research, please cite the following papers:\n```bibtex\n@article{Abramson2024-fj,\n  title    = \"Accurate structure prediction of biomolecular interactions with\n              {AlphaFold} 3\",\n  author   = \"Abramson, Josh and Adler, Jonas and Dunger, Jack and Evans,\n              Richard and Green, Tim and Pritzel, Alexander and Ronneberger,\n              Olaf and Willmore, Lindsay and Ballard, Andrew J and Bambrick,\n              Joshua and Bodenstein, Sebastian W and Evans, David A and Hung,\n              Chia-Chun and O'Neill, Michael and Reiman, David and\n              Tunyasuvunakool, Kathryn and Wu, Zachary and {\\v Z}emgulyt{\\.e},\n              Akvil{\\.e} and Arvaniti, Eirini and Beattie, Charles and\n              Bertolli, Ottavia and Bridgland, Alex and Cherepanov, Alexey and\n              Congreve, Miles and Cowen-Rivers, Alexander I and Cowie, Andrew\n              and Figurnov, Michael and Fuchs, Fabian B and Gladman, Hannah and\n              Jain, Rishub and Khan, Yousuf A and Low, Caroline M R and Perlin,\n              Kuba and Potapenko, Anna and Savy, Pascal and Singh, Sukhdeep and\n              Stecula, Adrian and Thillaisundaram, Ashok and Tong, Catherine\n              and Yakneen, Sergei and Zhong, Ellen D and Zielinski, Michal and\n              {\\v Z}{\\'\\i}dek, Augustin and Bapst, Victor and Kohli, Pushmeet\n              and Jaderberg, Max and Hassabis, Demis and Jumper, John M\",\n  journal  = \"Nature\",\n  month    = \"May\",\n  year     =  2024\n}\n```\n\n```bibtex\n@article {Ahdritz2022.11.20.517210,\n\tauthor = {Ahdritz, Gustaf and Bouatta, Nazim and Floristean, Christina and Kadyan, Sachin and Xia, Qinghui and Gerecke, William and O{\\textquoteright}Donnell, Timothy J and Berenberg, Daniel and Fisk, Ian and Zanichelli, Niccolò and Zhang, Bo and Nowaczynski, Arkadiusz and Wang, Bei and Stepniewska-Dziubinska, Marta M and Zhang, Shang and Ojewole, Adegoke and Guney, Murat Efe and Biderman, Stella and Watkins, Andrew M and Ra, Stephen and Lorenzo, Pablo Ribalta and Nivon, Lucas and Weitzner, Brian and Ban, Yih-En Andrew and Sorger, Peter K and Mostaque, Emad and Zhang, Zhao and Bonneau, Richard and AlQuraishi, Mohammed},\n\ttitle = {{O}pen{F}old: {R}etraining {A}lpha{F}old2 yields new insights into its learning mechanisms and capacity for generalization},\n\telocation-id = {2022.11.20.517210},\n\tyear = {2022},\n\tdoi = {10.1101\u002F2022.11.20.517210},\n\tpublisher = {Cold Spring Harbor Laboratory},\n\tURL = {https:\u002F\u002Fwww.biorxiv.org\u002Fcontent\u002F10.1101\u002F2022.11.20.517210},\n\teprint = {https:\u002F\u002Fwww.biorxiv.org\u002Fcontent\u002Fearly\u002F2022\u002F11\u002F22\u002F2022.11.20.517210.full.pdf},\n\tjournal = {bioRxiv}\n}\n```\n\n```bibtex\n@article{kozlova_2023_proteinflow,\n  author = {Kozlova, Elizaveta and Valentin, Arthur and Khadhraoui, Aous and Gutierrez, Daniel Nakhaee-Zadeh},\n  month = {09},\n  title = {ProteinFlow: a Python Library to Pre-Process Protein Structure Data for Deep Learning Applications},\n  doi = {https:\u002F\u002Fdoi.org\u002F10.1101\u002F2023.09.25.559346},\n  year = {2023},\n  journal = {bioRxiv}\n}\n```\n\n```bibtex\n@misc{ahdritz2023openproteinset,\n      title={{O}pen{P}rotein{S}et: {T}raining data for structural biology at scale}, \n      author={Gustaf Ahdritz and Nazim Bouatta and Sachin Kadyan and Lukas Jarosch and Daniel Berenberg and Ian Fisk and Andrew M. Watkins and Stephen Ra and Richard Bonneau and Mohammed AlQuraishi},\n      year={2023},\n      eprint={2308.05326},\n      archivePrefix={arXiv},\n      primaryClass={q-bio.BM}\n}\n```\n```bibtex\n@article{Peebles2022DiT,\n  title={Scalable Diffusion Models with Transformers},\n  author={William Peebles and Saining Xie},\n  year={2022},\n  journal={arXiv preprint arXiv:2212.09748},\n}\n```\n\n```bibtex\n@inproceedings{Karras2022edm,\n  author    = {Tero Karras and Miika Aittala and Timo Aila and Samuli Laine},\n  title     = {Elucidating the Design Space of Diffusion-Based Generative Models},\n  booktitle = {Proc. NeurIPS},\n  year      = {2022}\n}\n```\n\n\n\n## License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](https:\u002F\u002Fgithub.com\u002FLigo-Biosciences\u002FAlphaFold3\u002Fblob\u002Fmain\u002FLICENSE.txt) file for details.\n","# AlphaFold3 开源实现\n\n## 简介\n这是 Ligo 对 AlphaFold3 的开源实现，是一项持续进行的研究项目，旨在推动开源生物分子结构预测的发展。本次发布实现了完整的 AlphaFold3 模型及其训练代码。我们首先开放单链预测功能，待配体、多聚体和核酸预测功能训练完成后，将陆续加入。[在此报名参与测试](https:\u002F\u002Fform.fillout.com\u002Ft\u002Fct1BWM5QWqus)。\n\n本仓库旨在加速构建忠实且完全开源的 AlphaFold3 实现，供整个生物科技社区免费使用。\n\n## 演示视频\n我们发现该模型的训练动态非常迅速。以下视频展示的是在 8 张 A100 GPU 上无模板条件下训练了 4,000 步、历时 10 小时的模型输出示例。\n\n![AlphaFold3 示例](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLigo-Biosciences_AlphaFold3_readme_b66b0b6193d1.gif)\n\n动画制作：[Matthew Clark](https:\u002F\u002Fbatisio.co.uk\u002F)\n\n## 致谢\n本项目离不开以下项目及个人的贡献：\n\n- Google DeepMind 的 AlphaFold3 团队，感谢他们开创性的研究工作以及核心算法的公开。\n\n- OpenFold 项目（https:\u002F\u002Fgithub.com\u002Faqlaboratory\u002Fopenfold），该项目为开源蛋白质结构预测奠定了基础。我们复用了其许多核心模块，如三角注意力机制和乘法更新机制，以及数据处理流程。\n\n- ProteinFlow 库（https:\u002F\u002Fgithub.com\u002Fadaptyvbio\u002FProteinFlow），尤其是 ProteinFlow 的架构师 Liza Kozlova（[@elkoz](https:\u002F\u002Fgithub.com\u002Felkoz)），她在整个过程中发挥了至关重要的作用。我们的大部分原型模型都是基于 ProteinFlow 进行训练的，因为它提供了一个简洁且文档完善的蛋白质数据处理管道。我们已与 AdaptyvBio 合作，基于 ProteinFlow 构建了支持完整配体和核酸的 AlphaFold3 数据管道。目前，[@elkoz](https:\u002F\u002Fgithub.com\u002Felkoz) 和 [@igor-krawczuk](https:\u002F\u002Fgithub.com\u002Figor-krawczuk) 正在开发 ProteinFlow 的下一个版本，以全面支持这些数据模态。\n\n- [@alexzhang13](https:\u002F\u002Fgithub.com\u002Falexzhang13)，感谢他在 Triton 中实现的自定义 MSA 对权重平均核，对于较长序列而言，其内存效率比 PyTorch 实现高出 10 倍以上。这一改进有效缓解了大规模序列训练中的关键性能瓶颈。衷心感谢 Alex 对本项目的贡献！\n\n## 项目状态\n本项目仍处于早期阶段，属于一项活跃的研究工作。我们正致力于为社区准备一个稳定的版本。尽管我们对这项工作的潜力充满期待，但仍需强调，目前它尚未达到生产级工具的标准。我们已针对单链蛋白质训练了一个 AlphaFold3 版本以测试实现效果；下一版将包含完整的配体和核酸支持。我们正在招募少量测试用户，协助我们测试实现并提供反馈。如果您有意参与测试，请 [加入我们的候补名单](https:\u002F\u002Fform.fillout.com\u002Ft\u002Fct1BWM5QWqus)。\n\n## 与 AlphaFold3 伪代码的差异\n在项目推进过程中，我们发现 AlphaFold3 补充资料中描述的一些算法特性与现有的深度学习文献并不一致。具体如下：\n\n- **MSA 模块顺序**：补充资料中，MSA 模块的通信步骤位于 MSA 堆栈之前。这导致最后一个区块的 MSA 堆栈无法参与结构预测，因为所有信息都通过成对表示流出。按照伪代码中的顺序，最后一层的 MSA 堆栈没有机会更新成对表示。为此，我们将 OuterProductMean 操作与 MSA 堆栈的位置互换，以确保所有区块都能对结构预测做出贡献。值得注意的是，这一调整与 AlphaFold2 的 ExtraMSAStack 中的操作顺序一致。DeepMind 提到这些 MSA 模块是“同质的”，但并未明确是指共享权重还是具有相同的架构。若各层确实共享权重，则梯度会流经所有模块，然而最终的 MSA 堆栈计算却未被利用——这部分可以安全跳过（补充资料中未提及）。我们将在收到 DeepMind 的回复后进一步澄清这一问题。\n\n- **损失缩放**：补充资料中描述的损失缩放因子在初始化时无法产生单位损失。而单位损失作为初始条件，是 Karras 等人（2022）在训练扩散模型时提出的理想损失函数特性之一；Max Jaderberg 在一次演讲中也提到，他们之所以选择 Karras 等人的框架，正是基于这一特性。我们认为，补充资料中的这一问题可能是一个简单的笔误，即将加法误写为乘法。在我们的实现中，我们采用了与 Karras 等人（2022）一致的损失缩放因子。实测表明，这样可以在初始化时获得单位均方误差损失，而补充资料中的缩放因子在初始化时则大了两到三个数量级。此外，论文中的损失缩放因子在 t=16.0 处存在局部最小值，随后会随噪声水平的增加而增大。这与 Karras 等人（2022）提出的损失函数特性不符——后者强调应在高噪声水平下降低损失权重。我们在仓库中添加了一个 Jupyter 笔记本，展示了我们的实验结果。\n\n- **DiT 块设计**：AttentionPairBias 和 DiffusionTransformer 块的设计似乎紧密遵循 Peebles & Xie（2022）提出的 DiT 块设计。然而，这些模块缺少残差连接。论文并未解释 DeepMind 为何选择省略残差连接。我们分别进行了实验，发现在我们训练的步数范围内，带有残差连接的 DiT 块能够显著加快收敛速度，并改善网络中的梯度流动。需要注意的是，这是我们最不确定的一处差异，如果原始实现确实未使用残差连接，只需在我们的代码中简单修改几行即可。\n\n以上内容旨在提高透明度，并邀请社区共同探讨解决这些问题的最佳方案。\n\n## 模型效率\n\n本次实现的一个重要侧重点是优化模型各组件的速度和内存效率。AlphaFold3 包含许多类似 Transformer 的组件，但由于 AlphaFold3 中的成对偏置机制，诸如 FlashAttention2 等高效的硬件感知注意力实现无法直接与这些模块无缝集成。所有注意力操作都会从成对表示中投影出一个成对偏置，该偏置会在键—查询点积之后被添加，并且需要将梯度反向传播回去。这并非 FlashAttention2 无法处理的范围，因为该偏置的梯度与缩放后的 QK^T 点积梯度相同，然而当前的实现并不支持这一点。更近期的注意力实现，如 [FlexAttention](https:\u002F\u002Fpytorch.org\u002Fblog\u002Fflexattention\u002F)，前景十分可观，但它们目前同样不支持偏置梯度，因为在前向传播过程中对偏置张量执行的广播操作，在反向传播时会变为约简操作，而这一功能尚未在 FlexAttention 的首个版本中实现。\n\n- 我们尽可能复用 OpenFold 项目中经过实战检验的组件，例如 TriangularAttention 和 TriangularMultiplicativeUpdate。OpenFold 项目的模块化设计使我们能够轻松地将这些模块导入到我们的代码库中。我们正利用 Triton 对这些模块进行效率改进，通过融合操作来提升性能并减少中间张量的分配。\n\n- 我们观察到，在 PyTorch 中对扩散模块进行朴素实现时，经常会因内存不足而报错，这是因为每个批次中扩散模块会被复制 48 次。为解决这一问题，我们重新利用 Deepspeed4Science 中的 MSARowAttentionWithPairBias 内核，实现了一个内存高效的扩散模块版本，将不同噪声水平下的批次副本视为额外的批次维度。对于 AtomAttentionEncoder 和 AtomAttentionDecoder 模块，我们尝试了自定义的 PyTorch 原生实现，以将内存占用从二次方降低到线性，但与简单地重用 AttentionPairBias 内核相比，收益并不显著。我们在仓库中同时提供了这两种实现，不过为了保持代码简洁，我们仍采用朴素的实现方式。\n\n尽管进行了上述优化，我们的性能分析实验表明，模型超过 60% 的操作都受内存限制。我们正在基于 [ScaleFold](https:\u002F\u002Fpaperswithcode.com\u002Fpaper\u002Fscalefold-reducing-alphafold-initial-training) 的思路，开发一种更为高效且可扩展的实现方案，这将使我们能够达到原始 AlphaFold3 的训练规模。\n### MSA 成对平均效率\n\n[@alexzhang13](https:\u002F\u002Fgithub.com\u002Falexzhang13) 使用 Triton 实现了一个快速且内存高效的自定义 MSA 成对加权平均内核。\n\n- 我们曾注意到，MSA 成对加权平均操作是关键的内存瓶颈之一。AlphaFold3 论文中指出，该操作用一种“更廉价”的成对加权平均替代了 MSARowAttentionWithPairBias 操作，但在 PyTorch 中以朴素方式实现时，其内存使用量却比 Deepspeed4Science 的 MSARowAttentionWithPairBias 内核高出四倍。我们推测，这是由于 FlashAttention 中的分块和重计算技巧所带来的内存效率提升，而这些技巧也被整合到了 Deepspeed4Science 的 MSARowAttentionWithPairBias 内核中。\n\n- 朴素的成对加权平均实现会分配一个 (*, N_seq, N_res, N_res, heads, c_hidden) 形状的中间张量，即使对于中等长度的序列，这个张量也大到无法容纳在 GPU 内存中。\n\n- Alex 的内核使得网络能够在单个 GPU 上扩展到数千个 token！\n\n#### PyTorch 与 Triton 内核的内存使用对比\n![MSA Triton 内核内存占用图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLigo-Biosciences_AlphaFold3_readme_14d377842d89.png)\n\n#### PyTorch 与 Triton 内核的运行时间对比\n![MSA Triton 内核运行时间图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLigo-Biosciences_AlphaFold3_readme_f4a0437ce600.jpg)\n\n\n\n## 快速入门\n\n我们目前尚未提供采样代码，因为配体—蛋白质及核酸预测功能仍有待训练。研究人员可以使用 PyTorch Lightning 的检查点加载功能来加载预训练权重，进行实验和模型修改。当前模型仅能预测单链蛋白质，其功能与原始 AlphaFold2 相同。模型组件的设计具有高度的可重用性和模块化，便于研究者将其轻松集成到自己的项目中。\n如需参与配体—蛋白质及核酸预测功能的测试，请加入我们的候补名单：[加入候补名单](https:\u002F\u002Fform.fillout.com\u002Ft\u002Fct1BWM5QWqus)\n\n\n## 使用说明\n\n目前，本仓库的主要用途是科研与开发。待配体—蛋白质及核酸预测功能准备就绪后，我们将逐步增加面向用户的实用功能。\n\n## 贡献指南\n\n我们欢迎社区的贡献！我们的代码中很可能存在许多 bug 和细微的实现错误。深度学习训练往往会出现静默失败的情况，即虽然网络仍能收敛，但性能会因此略有下降。如果您有意贡献代码，可以通过 GitHub 提交包含问题描述的 issue，或者直接 fork 本仓库，创建新分支并提交带有清晰变更说明的 pull request。\n\n如有其他意见或建议，请通过电子邮件 alphafold3@ligo.bio 与我们联系。\n\n## 引用\n\n如果您在研究中使用此代码，请引用以下论文：\n```bibtex\n@article{Abramson2024-fj,\n  title    = {利用{AlphaFold} 3 准确预测生物分子相互作用的结构},\n  author   = {Abramson, Josh 和 Adler, Jonas 和 Dunger, Jack 和 Evans, Richard 和 Green, Tim 和 Pritzel, Alexander 和 Ronneberger, Olaf 和 Willmore, Lindsay 和 Ballard, Andrew J 和 Bambrick, Joshua 和 Bodenstein, Sebastian W 和 Evans, David A 和 Hung, Chia-Chun 和 O'Neill, Michael 和 Reiman, David 和 Tunyasuvunakool, Kathryn 和 Wu, Zachary 和 {\\v Z}emgulyt{\\.e}, Akvil{\\.e} 和 Arvaniti, Eirini 和 Beattie, Charles 和 Bertolli, Ottavia 和 Bridgland, Alex 和 Cherepanov, Alexey 和 Congreve, Miles 和 Cowen-Rivers, Alexander I 和 Cowie, Andrew 和 Figurnov, Michael 和 Fuchs, Fabian B 和 Gladman, Hannah 和 Jain, Rishub 和 Khan, Yousuf A 和 Low, Caroline M R 和 Perlin, Kuba 和 Potapenko, Anna 和 Savy, Pascal 和 Singh, Sukhdeep 和 Stecula, Adrian 和 Thillaisundaram, Ashok 和 Tong, Catherine 和 Yakneen, Sergei 和 Zhong, Ellen D 和 Zielinski, Michal 和 {\\v Z}{\\'\\i}dek, Augustin 和 Bapst, Victor 和 Kohli, Pushmeet 和 Jaderberg, Max 和 Hassabis, Demis 和 Jumper, John M},\n  journal  = {Nature},\n  month    = {5月},\n  year     =  2024\n}\n```\n\n```bibtex\n@article {Ahdritz2022.11.20.517210,\n\tauthor = {Ahdritz, Gustaf 和 Bouatta, Nazim 和 Floristean, Christina 和 Kadyan, Sachin 和 Xia, Qinghui 和 Gerecke, William 和 O{\\textquoteright}Donnell, Timothy J 和 Berenberg, Daniel 和 Fisk, Ian 和 Zanichelli, Niccol{\\`o} 和 Zhang, Bo 和 Nowaczynski, Arkadiusz 和 Wang, Bei 和 Stepniewska-Dziubinska, Marta M 和 Zhang, Shang 和 Ojewole, Adegoke 和 Guney, Murat Efe 和 Biderman, Stella 和 Watkins, Andrew M 和 Ra, Stephen 和 Lorenzo, Pablo Ribalta 和 Nivon, Lucas 和 Weitzner, Brian 和 Ban, Yih-En Andrew 和 Sorger, Peter K 和 Mostaque, Emad 和 Zhang, Zhao 和 Bonneau, Richard 和 AlQuraishi, Mohammed},\n\ttitle = {{O}pen{F}old: 重新训练 {A}lpha{F}old2 能够带来对其学习机制和泛化能力的新见解},\n\telocation-id = {2022.11.20.517210},\n\tyear = {2022},\n\tdoi = {10.1101\u002F2022.11.20.517210},\n\tpublisher = {Cold Spring Harbor Laboratory},\n\tURL = {https:\u002F\u002Fwww.biorxiv.org\u002Fcontent\u002F10.1101\u002F2022.11.20.517210},\n\teprint = {https:\u002F\u002Fwww.biorxiv.org\u002Fcontent\u002Fearly\u002F2022\u002F11\u002F22\u002F2022.11.20.517210.full.pdf},\n\tjournal = {bioRxiv}\n}\n```\n\n```bibtex\n@article{kozlova_2023_proteinflow,\n  author = {Kozlova, Elizaveta 和 Valentin, Arthur 和 Khadhraoui, Aous 和 Gutierrez, Daniel Nakhaee-Zadeh},\n  month = {09},\n  title = {ProteinFlow：用于深度学习应用的蛋白质结构数据预处理 Python 库},\n  doi = {https:\u002F\u002Fdoi.org\u002F10.1101\u002F2023.09.25.559346},\n  year = {2023},\n  journal = {bioRxiv}\n}\n```\n\n```bibtex\n@misc{ahdritz2023openproteinset,\n      title={{O}pen{P}rotein{S}et：大规模结构生物学的训练数据}, \n      author={Gustaf Ahdritz 和 Nazim Bouatta 和 Sachin Kadyan 和 Lukas Jarosch 和 Daniel Berenberg 和 Ian Fisk 和 Andrew M. Watkins 和 Stephen Ra 和 Richard Bonneau 和 Mohammed AlQuraishi},\n      year={2023},\n      eprint={2308.05326},\n      archivePrefix={arXiv},\n      primaryClass={q-bio.BM}\n}\n```\n```bibtex\n@article{Peebles2022DiT,\n  title={基于 Transformer 的可扩展扩散模型},\n  author={William Peebles 和 Saining Xie},\n  year={2022},\n  journal={arXiv 预印本 arXiv:2212.09748},\n}\n```\n\n```bibtex\n@inproceedings{Karras2022edm,\n  author    = {Tero Karras 和 Miika Aittala 和 Timo Aila 和 Samuli Laine},\n  title     = {阐明基于扩散的生成模型的设计空间},\n  booktitle = {NeurIPS 会议论文集},\n  year      = {2022}\n}\n```\n\n\n\n## 许可证\n\n本项目采用 Apache License 2.0 许可证授权——详情请参阅 [LICENSE](https:\u002F\u002Fgithub.com\u002FLigo-Biosciences\u002FAlphaFold3\u002Fblob\u002Fmain\u002FLICENSE.txt) 文件。","# AlphaFold3 (Ligo 开源版) 快速上手指南\n\n> **注意**：本项目目前处于早期研究阶段，**仅支持单链蛋白质结构预测**（功能等同于 AlphaFold2）。配体、多聚体及核酸预测功能正在训练中，尚未开放。代码主要用于研究和实验，非生产环境就绪工具。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**: Linux (推荐 Ubuntu 20.04+)\n- **GPU**: NVIDIA GPU (推荐 A100 或同等算力卡)，显存建议 24GB+ 以处理较长序列\n- **CUDA**: 兼容 PyTorch 版本的 CUDA 驱动\n\n### 前置依赖\n- Python 3.8+\n- PyTorch (支持 CUDA)\n- PyTorch Lightning\n- Triton (用于高性能算子优化)\n- Git\n\n## 2. 安装步骤\n\n克隆仓库并安装基础依赖：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fligo\u002Falphafold3.git\ncd alphafold3\n\n# 创建虚拟环境 (可选但推荐)\npython -m venv venv\nsource venv\u002Fbin\u002Factivate\n\n# 安装依赖\npip install -r requirements.txt\n```\n\n> **提示**：若需加速下载，可配置国内镜像源（如清华源）：\n> ```bash\n> pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n> ```\n\n**关键优化组件**：\n本项目集成了由 [@alexzhang13](https:\u002F\u002Fgithub.com\u002Falexzhang13) 开发的自定义 Triton 内核，用于 MSA 配对加权平均操作，相比原生 PyTorch 实现内存效率提升 10 倍以上，显著降低长序列训练的显存瓶颈。确保安装过程中 `triton` 包成功编译。\n\n## 3. 基本使用\n\n由于采样代码（Sampling Code）尚未发布（需等待配体和核酸模型训练完成），当前主要用途为**模型加载、实验验证及架构研究**。\n\n### 加载预训练权重进行实验\n\n你可以使用 PyTorch Lightning 加载检查点文件进行模型测试或“模型手术”（Model Surgery）：\n\n```python\nimport pytorch_lightning as pl\nfrom src.model import AlphaFold3  # 假设的模块路径，具体请参考源码结构\n\n# 加载检查点\ncheckpoint_path = \"path\u002Fto\u002Fyour\u002Fcheckpoint.ckpt\"\nmodel = AlphaFold3.load_from_checkpoint(checkpoint_path)\n\n# 将模型设置为评估模式\nmodel.eval()\n\n# 此时可输入单链蛋白数据进行前向传播测试\n# 注意：具体的数据预处理流程需参考 ProteinFlow 管道或源码中的 data loaders\n```\n\n### 开发者须知\n- **模块化设计**：模型组件（如 TriangularAttention, DiffusionTransformer）设计为可复用模块，研究人员可将其集成到自己的项目中。\n- **Beta 测试**：如需参与后续配体 - 蛋白及核酸预测功能的 Beta 测试，请访问 [等待列表](https:\u002F\u002Fform.fillout.com\u002Ft\u002Fct1BWM5QWqus) 报名。\n- **贡献代码**：欢迎提交 Issue 报告 Bug 或提交 PR 修复实现细节。深度学习训练中的静默错误可能导致收敛变差，社区反馈对完善此开源实现至关重要。","某生物医药初创公司的算法团队正致力于开发针对罕见酶缺陷的新型小分子抑制剂，急需快速解析目标蛋白与潜在药物分子的结合构象以指导实验。\n\n### 没有 AlphaFold3 时\n- **复现门槛极高**：团队只能依赖 Google DeepMind 发布的伪代码论文，需从零构建复杂的三角注意力机制和数据流水线，耗时数月仍难以跑通基准模型。\n- **硬件资源受限**：原生实现缺乏针对长序列的内存优化，处理大分子量蛋白时显存极易溢出，迫使团队不得不切割序列或降级使用精度较低的旧版模型。\n- **迭代周期漫长**：由于缺乏开源的训练代码和预训练权重，每次调整架构或验证新想法都需要重新从头训练，严重拖慢了从假设到验证的研发节奏。\n- **社区支持缺失**：遇到算法细节（如 MSA 模块顺序）与文献不一致时，无法参考社区已有的修正方案，只能盲目试错，增加了研发的不确定性。\n\n### 使用 AlphaFold3 后\n- **开箱即用加速落地**：直接复用 Ligo 团队基于 ProteinFlow 构建的成熟数据流水线和核心模块，几天内即可在本地部署单链蛋白预测环境，立即投入业务测试。\n- **突破算力瓶颈**：得益于集成的 Triton 自定义算子，内存效率提升超过 10 倍，团队能在有限的 A100 集群上流畅训练和推理更长的蛋白质序列。\n- **敏捷研发闭环**：利用已开放的训练代码和快速收敛的动态特性，研究人员可在数小时内完成微调实验，快速验证不同突变体对药物结合的影响。\n- **透明可控的优化**：开源社区已明确修正了原论文中 MSA 模块顺序的逻辑缺陷，团队可直接采用经过验证的架构，确保结构预测结果的可靠性。\n\nAlphaFold3 开源版通过降低技术门槛和优化计算效率，让中小型生物科技公司也能平等地享受前沿 AI 带来的结构生物学革命。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FLigo-Biosciences_AlphaFold3_3125191b.png","Ligo-Biosciences","Ligo Biosciences","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FLigo-Biosciences_627fcd63.png","",null,"https:\u002F\u002Fgithub.com\u002FLigo-Biosciences",[84,88,92,96],{"name":85,"color":86,"percentage":87},"Python","#3572A5",64.7,{"name":89,"color":90,"percentage":91},"Jupyter Notebook","#DA5B0B",34.4,{"name":93,"color":94,"percentage":95},"Shell","#89e051",0.8,{"name":97,"color":98,"percentage":99},"Makefile","#427819",0,1051,89,"2026-04-03T01:31:07","Apache-2.0",5,"未说明","必需 NVIDIA GPU。文中提到在 8 张 A100 GPU 上进行训练；使用了 Triton 自定义内核以优化显存，表明对高性能 GPU 有强依赖。具体显存大小和 CUDA 版本未在片段中明确说明。",{"notes":108,"python":105,"dependencies":109},"该项目目前处于早期研究阶段，尚未发布生产就绪版本。当前仅支持单链蛋白质预测（功能类似 AlphaFold2），配体、多聚体和核酸预测功能正在训练中，暂未开放。代码包含针对显存优化的自定义 Triton 内核（如 MSA pair weighted averaging），以支持更长序列的训练。目前不提供采样代码，主要用于研究和模型微调实验。",[110,111,112,113,114,115],"PyTorch","PyTorch Lightning","Triton","OpenFold (模块复用)","ProteinFlow (数据管道)","Deepspeed4Science (内核复用)",[18],"2026-03-27T02:49:30.150509","2026-04-06T07:13:21.745680",[120,125,130],{"id":121,"question_zh":122,"answer_zh":123,"source_url":124},12537,"该项目是否提供预训练模型参数以便直接微调？","目前该项目已停止活跃开发，不再提供或更新预训练权重。维护者建议用户前往更活跃的 [Boltz 仓库](https:\u002F\u002Fgithub.com\u002Fjwohlwend\u002Fboltz) 获取相关资源和继续开发。","https:\u002F\u002Fgithub.com\u002FLigo-Biosciences\u002FAlphaFold3\u002Fissues\u002F40",{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},12538,"运行训练时遇到 'ModuleNotFoundError: No module named src.utils.rigid_utils' 错误如何解决？","该问题是由于最终重构清理时误删了相关文件导致的，现已修复。该模型完全依赖 Vec3Array 和 Rot3Array，数据管道也将迁移至这两个模块。请拉取最新代码即可解决。","https:\u002F\u002Fgithub.com\u002FLigo-Biosciences\u002FAlphaFold3\u002Fissues\u002F39",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},12539,"README 中链接的 LICENSE 文件返回 404 错误怎么办？","维护者已确认并上传了许可证文件。该项目的重新实现基于 Apache 2.0 许可证，现在可以直接通过 README 中的链接访问 LICENSE 文件。","https:\u002F\u002Fgithub.com\u002FLigo-Biosciences\u002FAlphaFold3\u002Fissues\u002F36",[]]