跳到内容

bionemo-core

所有 BioNeMo 框架包所依赖的通用代码。包含高度可重用、经过实战检验的抽象和实现,这些抽象和实现在各种领域和应用中都很有价值。

至关重要的是,bionemo-core Python 包 (命名空间 bionemo.core) 依赖于 PyTorch 和 PyTorch Lightning。其他关键的 BioNeMo 组件库,例如 bionemo-llmbionemo-geometric,通过 bionemo-core 获取它们的 PyTorch 依赖项。

开发者设置

在按照 README 中指定的设置进行设置后,您可以执行以下操作在您的环境中安装此项目的代码

pip install -e .

要运行具有代码覆盖率的单元测试,请执行

pytest -v --cov=bionemo --cov-report=term .

包亮点

bionemo.core.model.config 中: - ModelOutput:模型的正向传递可能会生成张量、多个张量或命名张量。 - LossType:损失函数的泛型类型参数。 - Model:接受并产生 torch.Tensor 的任何 ML 模型的接口。 - ModelType:约束为 Model 接口的泛型类型参数。 - BionemoModelConfig:一个抽象类,支持参数化模型实例化,该实例化与 Megatron 兼容。 - BionemoTrainableModelConfig:一个扩展,包含在训练期间与模型一起使用的损失函数。

bionemo.core.utils 中: - batching_utils 模块的 pad_token_ids,它使用填充值填充 token id 并返回掩码。 - dtype 模块的 get_autocast_dtype,它将 nemo/nvidia 数据类型转换为其 PyTorch 等效项。 - random_utils 模块,其中包括用于管理随机种子和执行采样的函数。

bionemo.data 包中,有: - multi_epoch_dataset:包含许多对多 epoch 训练有用的数据集实现。 - resamplers:包含基于 P-RNG 的数据集实现。

有一个常量全局值 bionemo.core.BIONEMO_CACHE_DIR,它用作资源的本地磁盘缓存。