NVIDIA-BioNeMo/bionemo-recipes
BioNeMo Recipes: For building and adapting AI models in drug discovery at scale
解决的问题
BioNeMo Recipes 为生物基础模型社区提供了一条高效扩展基于 Transformer 的模型的简化路径。它解决了在高性能、可扩展性和易用性之间取得平衡的工具需求,使研究人员能够从单 GPU 原型开发无缝过渡到多节点训练,而无需复杂的并行配置。
工作原理
本项目不采用单一的训练框架,而是提供两个主要组件:
- 模型检查点:兼容 Hugging Face 的
PreTrainedModel类,集成了 TransformerEngine (TE) 层以实现优化性能(例如 FP8 训练和上下文并行)。 - 训练配方:自包含的 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
- 项目