PyTorch 生态系统由来已久,一些最早的项目,如Hugging Face、Fast.ai 和PyTorch Lightning,都发展出了令人惊叹的社区。从一开始,目标就是汇集创新的开源人工智能项目,这些项目扩展、集成或构建在 PyTorch 之上。我们关注的一些关键方面包括,例如,它们经过良好测试和维护(包括持续集成),易于用户上手,并且拥有不断壮大的社区。几年后的今天,这个生态系统继续蓬勃发展,拥有数十个项目组成的充满活力的版图,涵盖隐私、计算机视觉到强化学习。PyTorch 生态系统工作组由此诞生。
2025 年初,PyTorch 基金会成立了 PyTorch 生态系统工作组,旨在展示那些可能引起社区兴趣并代表其各自领域中成熟且健康的项目。该工作组由生态系统中的成员组成,负责定义明确的标准,包括功能性要求(例如,CI、许可…)、可衡量要求(例如,提交和贡献者)以及如何构建其代码库的最佳实践实施。该工作组还实施了简化的提交和审查流程以及透明的生命周期。目前仍处于早期阶段,但社区反响良好,迄今已收到 21 份提交,并且有一系列项目正在审查中。您可以在此处了解更多关于该工作组的目标,包括要求和申请流程。
作为这个新博客系列的一部分,我们每季度都会向社区更新 PyTorch 生态系统中的新成员,并重点介绍正在考虑中、有望获得更多关注和贡献者的未来项目。
生态系统项目聚焦
我们很高兴欢迎 SGLang 和 docTR 加入 PyTorch 生态系统。以下是对它们的简要介绍。
SGLang
SGLang 是一个用于大型语言模型和视觉语言模型的快速服务引擎。它通过协同设计后端运行时和前端语言,使与模型的交互更快、更可控。
其核心功能包括:
- 快速后端运行时:通过 RadixAttention 实现前缀缓存、零开销 CPU 调度器、连续批处理、令牌注意力(分页注意力)、推测解码、张量并行、分块预填充、结构化输出以及量化(FP8/INT4/AWQ/GPTQ),提供高效服务。
- 灵活的前端语言:为 LLM 应用编程提供直观界面,包括链式生成调用、高级提示、控制流、多模态输入、并行和外部交互。
- 广泛的模型支持:支持各种生成模型(Llama、Gemma、Mistral、Qwen、DeepSeek、LLaVA 等)、嵌入模型(e5-mistral、gte、mcdse)和奖励模型(Skywork),易于扩展以集成新模型。
- 活跃社区:SGLang 是开源的,并由活跃的社区支持,已在行业中得到采用。
SGLang 以其高速著称。在服务吞吐量和延迟方面,它通常能显著优于其他最先进的框架。了解更多。
docTR
docTR 是一个由 Mindee 开发和分发的 Apache 2.0 项目,旨在帮助开发者在无需先验知识的情况下将 OCR 能力集成到应用程序中。
为了快速高效地提取文本信息,docTR 采用两阶段方法:
- 首先,它执行文本检测以定位单词。
- 然后,它进行文本识别以识别单词中的所有字符。
检测和识别均由用 PyTorch 编写的最新模型执行。了解更多。
即将推出的项目聚焦
作为本系列的一部分,我们将重点介绍正在考虑加入 PyTorch 生态系统,并相信将受益于更多关注和贡献者的项目。这次轮到 EIR 和 torchcvnn。
EIR
EIR 是一个基于 PyTorch 构建的综合深度学习框架,使研究人员和开发人员能够跨多种数据模态执行监督建模、序列生成、图像/数组生成和生存分析。EIR 专门处理复杂数据类型,包括基因型、表格、序列、图像、数组和二进制输入。尽管它在基因组学和生物医学应用方面具有特殊优势,但其对这些不同数据类型的多功能处理允许在各个领域进行更广泛的应用。例如,EIR 的多模态方法可以通过将图像与设备读数(例如,对于不完美的硅片)链接来增强检测制造缺陷等任务,通过分析现场照片和操作日志(例如,识别管道裂缝)来监控基础设施,或者通过结合产品图像及其描述和销售数据来改善零售洞察。这展示了 EIR 的多模态功能如何为广泛的行业带来价值。
该框架提供了一个高级而模块化的 API,可减少训练模型所需的样板代码和预处理,让用户能够专注于最终目标而不是实现细节。要了解更多信息并探索实际示例,请参阅文档。
主要功能包括
- 多模态输入:无缝集成基因型、表格、序列、图像、数组和二进制数据。
- 多样化建模选项:将上述任何输入模态用于监督学习、序列生成、图像/数组生成和生存分析。
- 扩展:用于模型训练的自定义数据流能力。
- 可解释性:执行监督学习和生存分析时内置的可解释性功能。
- 模型部署:只需一个命令即可服务任何已训练的模型,允许您或其他人通过网络服务与您的模型交互。
要探索 EIR 并考虑它如何增强您处理多模态数据的工作:
- 安装:安装很简单:
- pip install eir-dl
- 更多信息请参考README。
- 探索教程:文档可在eir.readthedocs.io获取,示例包括:
- 贡献:请访问我们的GitHub 仓库。
torchcvnn
torchcvnn 是一个帮助研究人员、开发人员和组织轻松尝试复数值神经网络(CVNN)的库!在多个领域,数据自然地以实部-虚部形式表示,例如遥感、MRI 等等。这些领域将受益于直接的复数值计算,在学习过程中为神经网络提供关键物理特性的理解。
torchcvnn 让您轻松访问:
- 用于遥感(SLC 和 ALOS2 格式)和 MRI 的标准数据集,以及用于不同任务(分类、分割、重建、超分辨率)的数据集
- 各种激活函数,它们既可以独立作用于实部/虚部,也可以充分利用表示的复数性质,
- 包含 Trabelsi 等人(2018)的复数值 BatchNorm、LayerNorm、RMSNorm 的归一化层,
- Eilers 等人(2023)引入的复数值注意力层,
PyTorch 已经通过实现 Wirtinger 演算支持复数值神经网络的优化。然而,仍然缺少复数值构建块,无法真正探索复数值神经网络的能力。torchcvnn 的目标是填补这一空白,并提供一个帮助 PyTorch 用户深入复数值神经网络领域的库。
torchcvnn 热忱欢迎对核心 torchcvnn 库或示例仓库的贡献,无论是发现 bug、提出改进建议,还是希望贡献源代码。所有组件都在项目文档中有所描述。torchcvnn 团队将于 7 月在罗马举行的 IJCNN 2025 特别会议“复数值和超复数值神经网络”上亮相。
如何加入 PyTorch 生态系统
如果您正在开发一个支持 PyTorch 社区的项目,欢迎您申请加入生态系统。请查阅PyTorch 生态系统审查流程,以确保您在申请前达到最低要求。
干杯!
PyTorch 生态系统工作组