作为本博客系列的一部分,我们分享加入 PyTorch 生态系统的新项目动态,并重点介绍那些有望从更广泛的社区参与中获益的项目。
生态项目聚焦
自上次更新以来,我们很高兴地欢迎多个项目加入 PyTorch 生态系统。以下是对我们最新 PyTorch
生态项目的简要介绍。
FlagGems
FlagGems 基于 Triton 语言构建,是一个插件式的 PyTorch 算子和内核库,旨在普及 AI 计算。其使命是实现“一次编写,到处 JIT(即时编译)”的体验,让开发者能够轻松地在各种硬件后端上部署优化后的内核。FlagGems 在获得 PyTorch 生态工作组批准后,近期加入了 PyTorch 生态系统。目前已实现超过 180 个算子,涵盖了原生 PyTorch 算子以及大型模型中广泛使用的自定义算子,FlagGems 正在迅速演进以跟上生成式 AI 的前沿步伐。
阅读更多关于 FlagGems 加入 PyTorch 生态系统的内容。
Kubeflow Trainer
Kubeflow Trainer 是一个原生于 Kubernetes 的项目,旨在实现 AI 模型的可扩展分布式训练,并专为大语言模型 (LLM) 的微调而构建。它简化了多节点训练工作负载的横向扩展,能够高效管理大数据集并确保容错性。Kubeflow Trainer 项目近期已集成到 PyTorch 生态系统中,确保其与 PyTorch 的标准和实践保持一致,从而为开发者提供一个可靠、可扩展且由社区支持的解决方案,以便在 Kubernetes 上运行 PyTorch。Kubeflow Trainer 使 Kubernetes 上的 AI 模型训练更加普及,并显著改善了 AI 从业者的开发体验。
阅读更多关于 Kubeflow Trainer 加入 PyTorch 生态系统的内容。
LMCache
LMCache 是一个 LLM 推理引擎扩展,可与 vLLM 或 SGLang 结合使用,以减少首字延迟 (TTFT) 并提高吞吐量,尤其
是在长上下文场景下。通过将可重用文本的 KV 缓存存储在不同位置(包括 GPU、CPU DRAM、本地磁盘、数据库),LMCache 可以重用任何推理引擎实例中任何已重用文本(不一定是前缀)的 KV 缓存。因此,LMCache 节省了宝贵的 GPU 计算资源并降低了用户响应延迟。
通过将 LMCache 与 vLLM 结合,开发者可以在许多 LLM 用例(包括多轮问答和 RAG)中实现 3-10 倍的延迟节省和 GPU 计算资源削减。
阅读更多关于 LMCache 加入 PyTorch 生态系统的内容。
DeepInverse
DeepInverse 是一个基于 PyTorch 的开源库,用于解决成像反问题。DeepInverse 实现了图像重建的所有步骤,包括高效的正向算子、定义和求解变分问题、以及设计和训练高级神经网络,适用于广泛的领域(医学成像、天文成像、遥感、计算摄影、压缩感知等)。
阅读更多关于 DeepInverse 加入 PyTorch 生态系统的内容。
Feast
Feast (Feature Store) 是一个开源特征存储库,通过允许团队定义、管理、验证和提供用于生产环境 AI/ML 的特征,帮助团队大规模运行生产级 ML 系统。
Feast 的特征存储由两个基础组件组成:(1) 用于模型训练中历史特征提取的离线存储,以及 (2) 用于在生产系统和应用程序中提供低延迟特征服务的在线存储。Feast 是一个可配置的操作数据系统,它重用现有基础设施来管理和为实时模型提供机器学习特征。
NeuralOperator
NeuralOperator 是一个用于在 PyTorch 中学习神经算子的综合库。它是傅里叶神经算子(Fourier Neural Operators)和张量神经算子(Tensorized Neural Operators)的官方实现。与常规神经网络不同,神经算子能够实现函数空间之间的映射学习,而该库提供了在您自己的数据上执行此操作的所有工具。神经算子还具有分辨率不变性,因此您训练好的算子可以应用于任何分辨率的数据。
阅读更多关于 NeuralOperator 加入 PyTorch 生态系统的内容。
PINA
PINA 是一个开源库,旨在简化和加速科学机器学习 (SciML) 解决方案的开发。它提供了一个一致且模块化的框架,用于构建和实验诸如神经网络、物理信息神经网络 (PINNs)、神经算子等模型。凭借可组合的抽象设计,PINA 允许研究人员轻松插入、替换或扩展组件,从而使实验既快速又灵活。它可以在不同设备上无缝扩展,提供接近手动优化实现的性能,同时保持易用性。
阅读更多关于 PINA 加入 PyTorch 生态系统的内容。
verl
verl 是一个灵活、高效且生产就绪的大语言模型 (LLM) 强化学习 (RL) 训练库。verl 既灵活又便于研究:混合控制器编程模型能够灵活表示复杂的训练后数据流,仅需少量代码即可表达 GRPO、PPO 等算法;它为 LLM 推理模型(如 DAPO)提供了可复现的、最先进的强化学习配方;并且它与现有的 LLM 库(如 FSDP2、Megatron-LM、vLLM、SGLang、transformers 等)无缝集成。

verl 快速且适用于生产环境:灵活的设备映射支持将模型放置在不同的 GPU 组上,以实现高效的资源利用和跨不同集群规模的扩展;3D-HybridEngine 消除了内存冗余,并减少了训练和展示阶段切换期间的通信开销;具有工具调用优化的异步展示显著提高了端到端训练的吞吐量。
新兴项目聚焦
作为本系列的一部分,我们重点介绍那些正在考虑加入 PyTorch 生态系统、且我们认为会从更多关注和贡献者中获益的项目。这次轮到 sc2bench 了。
sc2bench
sc2bench 是一个基于 PyTorch 和 torchdistill(PyTorch 生态系统成员)构建的 Python 包,旨在促进拆分计算(Split Computing, SC2)监督压缩的研究。
使用 sc2bench 的优势
- 统一框架
sc2bench 精心设计,用于集成各种 SC2 模型训练和基准测试。 - 多种强大的基准方法
sc2bench 提供了 7 种输入压缩和 3 种监督压缩基准方法。 - 多样化的模型选择
sc2bench 基于 PyTorch、 torchdistill、 CompressAI 和 PyTorch Image Model 构建,为 SC2 提供了大量(骨干)模型。 - 提供超过 180 个已训练模型
sc2bench 提供了大量已训练好的模型,您可以直接进行实验,跳过模型(再)训练步骤。 - 易于设计新实验
torchdistill 还可以帮助用户设计模块化、配置驱动的实验,确保实验结果的可复现性。
GitHub 仓库 还提供了示例脚本。要了解有关 sc2bench 的更多信息,请参阅仓库和 文档。
如何加入 PyTorch 生态系统
如果您正在开发一个支持 PyTorch 社区的项目,欢迎申请加入生态系统。请在申请前查阅 PyTorch 生态系统审查流程,以确保您符合最低期望。
干杯!
PyTorch 生态工作组
