NVIDIA-BioNeMo/bionemo-recipes

BioNeMo Recipes: For building and adapting AI models in drug discovery at scale

解决的问题

BioNeMo Recipes 为生物基础模型社区提供了一条高效扩展基于 Transformer 的模型的简化路径。它解决了在高性能、可扩展性和易用性之间取得平衡的工具需求,使研究人员能够从单 GPU 原型开发无缝过渡到多节点训练,而无需复杂的并行配置。

工作原理

本项目不采用单一的训练框架,而是提供两个主要组件:

  1. 模型检查点:兼容 Hugging Face 的 PreTrainedModel 类,集成了 TransformerEngine (TE) 层以实现优化性能(例如 FP8 训练和上下文并行)。
  2. 训练配方:自包含的 Docker 容器,作为参考实现。展示了如何使用流行的框架(如原生 PyTorch、HuggingFace Accelerate 和 PyTorch Lightning)结合 Fully Sharded Data Parallel (FSDP) 和序列打包(THD)等技术,实现最大吞吐量。

此外,项目还包含用于模型可解释性的研究工具,例如稀疏自编码器训练和特征分析。

适用人群

  • 基础模型开发者:需要高效扩展策略来构建新型生物基础模型的 AI 研究人员和 ML 工程师。
  • 基础模型定制者:使用专有生物数据对现有模型进行微调,用于药物发现和生物研究的领域科学家。

亮点

  • 灵活扩展:支持从单 GPU 扩展到多节点集群。
  • 框架互操作性:兼容 PyTorch、PyTorch Lightning 和 HuggingFace Accelerate。
  • 性能优化:利用 TransformerEngine、megatron-FSDP 和高级精度格式(BF16、FP8、MXFP8、NVFP4)。
  • 研究友好:优先考虑代码的可读性和“可修改性”,而非复杂抽象,以促进快速实验。
  • Hugging Face 集成:模型通过 Hugging Face Hub 分发,可直接作为 AutoModel.from_pretrained() 的替代品使用。

相关

  • 项目
  • Dispatch
  • 项目
  • Dispatch
  • 项目