海报

使用 PyTorch 为医学影像实现最先进的可解释性
Dinkar Juyal、Syed Asher Javed、Harshith Padigela、Limin Yu、Aaditya Prakash、Logan Kilpatrick、Anand Sampat、PathAI
PathAI 是一家位于波士顿的公司,专注于使用 AI 驱动的病理学改善患者护理。我们大量使用 PyTorch 构建 ML 系统,特别是训练和部署大型千兆像素病理图像的模型。在本案例研究中,我们重点介绍如何使用 PyTorch 构建、实验和部署加性多示例学习 (MIL) 模型。加性 MIL 是一种使用 PyTorch Lightning 构建的新型 MIL 技术,允许从数百万像素进行端到端学习,同时提供空间热图的精细可解释性。这些模型可以精确计算千兆像素大小图像中的每个较小区域对最终模型预测的贡献程度。这使得可以在病理图像之上可视化类别相关的兴奋性和抑制性贡献。这使从业人员了解模型失败的情况,并引导病理学家关注感兴趣的区域。这一切都归功于 PyTorch 快速的从研究到原型到部署的迭代周期。
计算机视觉

TorchUnmix:PyTorch 中用于组织病理学图像的自动染色分离和增强
Erik Hagendorn
TorchUnmix 是一个旨在为组织病理学全玻片图像提供自动染色分离和增强的库。组织化学染色剂的分离(分离)是通过 RGB 像素数据的正交变换,根据预定义的称为染色向量的光吸收系数 [1] 来实现的。通常使用预先计算的公开可用的染色向量定义,但由于组织学和/或图像采集过程导致的实验室间差异很常见,从而产生次优的分离结果。经典的染色向量估计方法依赖于染色剂的丰富分布,这使得它们对于免疫组织化学染色剂中观察到的较稀疏分布不太实用。Geis 等人提出了一种基于色调-饱和度-密度颜色空间中像素值的 k 均值聚类来确定最佳染色向量的方法,该方法已在本工作中得到应用 [2]。虽然染色向量可用于定量分析单个染色剂,但 TorchUnmix 还提供执行染色增强的功能。染色增强是一种在深度学习模型训练过程中使用的方法,通过分离图像、随机修改各个染色剂,然后将染色剂合成为最终增强图像 [3] 来提高泛化能力。据我们所知,没有其他库在 PyTorch 中完全实现了上述方法,并利用了 GPU 加速。此外,TorchUnmix 还扩展了用于执行自动染色分离和增强的所有计算,使其能够对批量图像进行操作,从而大大加快了执行性能速度,与其他库相比更具优势。
库

使用 Ray AIR 进行可扩展的训练和推理
Kai Fricke、Balaji Veeramani
扩展机器学习规模非常困难:像 SageMaker 这样的云平台解决方案可能会限制灵活性,但自定义分布式框架通常难以实现。实际上,ML 工程师很难将他们的工作负载从本地原型扩展到云端。Ray AI Runtime ('Ray AIR') 是围绕分布式计算框架 Ray 构建的机器学习库的集成集合。它为可扩展的数据处理、训练、调优、批量预测和在线服务提供了一个易于使用的界面。将现有的 PyTorch 训练循环适配到 Ray AIR 的 PyTorch 集成只需更改 10 行代码。并且从本地开发扩展到云端完全不需要更改代码。
库

AutoMAD:用于 PyTorch 模型的混合模式自动微分
Jan Hückelheim
混合模式自动微分结合了反向传播和前向微分。两种模式各有优缺点:反向传播对于具有许多可训练参数的标量函数是有效的。反向传播使用内存来存储中间结果,需要数据流反转,并且对于许多输出变量来说,扩展性较差。前向微分易于实现、内存效率高,并且易于向量化/并行化或移植到新硬件。前向模式在大量可训练参数的情况下扩展性较差。AutoMAD 使组合两种模式成为可能。对于某些层使用前向微分,而对于其他层使用反向传播。
库

xFormers:高效 Transformer 的构建块
Daniel Haziza、Francisco Massa、Jeremy Reizenstein、Patrick Labatut、Diana Liskovich
我们介绍了 xFormers,这是一个加速 Transformer 研究的工具箱。它包含高效组件,例如一种精确的内存高效多头注意力机制,可以在训练期间将速度提高 2 倍,同时仅使用少量内存。xFormers 组件也是可定制的,可以组合在一起以构建 Transformer 的变体。我们希望能够推动基于 Transformer 的下一代研究。
库

linear_operator - PyTorch 中的结构化线性代数
Max Balandat
linear_operator (https://github.com/cornellius-gp/linear_operator) 是一个基于 PyTorch 构建的结构化线性代数库。它提供了一个 LinearOperator 类,该类表示一个从未实例化的张量,但可以通过矩阵乘法、求解、分解和索引等操作进行访问。这些对象使用自定义线性代数运算,可以利用特定的矩阵结构(例如,对角矩阵、块对角矩阵、三角矩阵、克罗内克积等)进行计算,从而在时间和内存复杂性方面实现显着(多个数量级)的改进。此外,许多高效的线性代数运算(例如,求解、分解、索引等)可以从 LinearOperator 的 matmul 函数自动生成。这使得组合或实现自定义 LinearOperator 变得非常容易。使 linear_operator 易于在 PyTorch 代码中使用的关键方面是它与 `__torch_function__` 接口的集成 - 常见的线性代数运算(例如矩阵乘法、求解、SVD)被映射到相应的 torch 函数(`__matmul__`、`torch.linalg.solve`、`torch.linalg.svd`),因此 LinearOperator 对象可以作为密集张量的直接替代品使用,即使在现有代码中也是如此。LinearOperator 操作本身可能会返回 LinearOperator 对象,从而在每次计算后自动跟踪代数结构。因此,用户永远不需要考虑使用哪些高效的线性代数例程(只要用户定义的输入元素编码了已知的输入结构)。
库

使用 Ludwig 进行声明式机器学习:使用简单灵活的数据驱动配置的端到端机器学习管道
Justin Zhao
Ludwig 是一个声明式机器学习框架,它使用简单灵活的数据驱动配置系统,可以轻松定义和比较机器学习管道。最小配置声明了输入和输出特征及其各自的数据类型。用户可以指定其他参数来预处理、编码和解码特征,从预训练模型加载,组合内部模型架构,设置训练参数,或运行超参数优化。Ludwig 将自动构建端到端机器学习管道,使用配置中明确指定的任何内容,同时回退到任何未指定参数的智能默认值。科学家、工程师和研究人员使用 Ludwig 来探索最先进的模型架构、运行超参数搜索,并在各种问题上扩展到大于可用内存的数据集和多节点集群,使用结构化和非结构化特征。Ludwig 在 Github 上拥有 8.5K+ 个星标,并构建在 PyTorch、Horovod 和 Ray 之上。
库

广义形状:块稀疏性、MaskedTensor、NestedTensor
Christian Puhrsch
本海报概述了与稀疏内存格式、掩码计算以及对可变形状数据集合的支持相关的可用和正在进行的开发。特别是,它包含块稀疏内存格式、MaskedTensor 和 NestedTensor 的案例研究。
库

Betty:用于广义元学习的自动微分库
Sang Keun Choe
Betty 是一个简单、可扩展且模块化的库,用于广义元学习 (GML) 和多级优化 (MLO),构建于 PyTorch 之上,它为许多 GML/MLO 应用程序(包括少样本学习、超参数优化、神经架构搜索、数据重加权等等)提供统一的编程接口。Betty 的内部自动微分机制和软件设计是通过对 GML/MLO 作为数据流图的新颖解释而开发的。
库

Functorch:Pytorch 中可组合的函数变换
Samantha Andow、Richard Zhou、Horace He、Animesh Jain
受 Google JAX 启发,functorch 是 Pytorch 中的一个库,它提供可组合的 vmap(向量化)和自动微分变换(grad、vjp、jvp)。自首次与 Pytorch 1.11 一起发布以来,组合这些变换已帮助用户开发和探索以前在 Pytorch 中难以编写的新技术,例如神经切线核和非线性优化(参见 Theseus,也来自 PyTorch)。这将介绍一些基本用法,并重点介绍一些利用 functorch 的研究。
库

用于偏微分方程的大规模神经求解器
Patrick Stiller、Jeyhun Rustamov、Friedrich Bethke、Maksim Zhdanov、Raj Sutarya、Mahnoor Tanveer、Karan Shah、Richard Pausch、Sunna Torge、Alexander Debus、Attila Cangi、Peter Steinbach、Michael Bussmann、Nico Hoffmann
我们的开源 Neural Solvers 框架为自然科学现象的研究和分析提供了基于数据的、基于 ML 的求解器,该框架构建于 Pytorch 之上。我们是第一个证明由二维薛定谔方程建模的某些量子系统可以被准确求解,同时保持强大的可扩展性的团队。我们还开发了一种新型神经网络架构 GatedPINN [1],将自适应域分解引入到基于专家混合范式的物理信息神经网络的训练中。Horovod 促进了我们的 GatedPINN 的分布式大规模训练,从而实现了出色的 GPU 利用率,使 Neural Solvers 为即将到来的百亿亿次计算时代做好准备。即将开展的项目包括更高维度的问题,例如 3d 激光系统和耦合模型,以研究 Vlasov-Maxwell 系统。对新型、高度可扩展的计算硬件的进一步实验为高保真 Neural Solvers 在逆散射问题等实际应用中的应用铺平了道路。
库

模型准备、联邦学习和设备计算
Zhihan Fang
具有差分隐私的联邦学习已被越来越多地采用,作为在保护用户隐私的同时训练机器学习模型最有前景的方法之一。Meta 中关于人物属性的现有模型大多是基于传统的集中式机器学习方法构建的。最近,由于内部和外部对用户隐私的日益关注,Meta 的机器学习团队正面临信号丢失或限制在模型中应用新功能以进一步提高模型性能。在本文中,我们将介绍我们构建的用于准备和生成联邦学习模型的通用框架。模型准备过程是利用传统的机器学习来理解目标问题的模型结构和超参数,包括训练、推理和评估。它还需要一个模拟过程来训练目标模型结构,并了解服务器端的模拟环境以调整 FL 特定的超参数。模型生成过程是生成设备兼容的模型,这些模型可以直接在用户的设备上用于联邦学习。我们将 FL 框架应用于我们的设备端模型,并与设备信号集成,以改善用户体验并保护用户隐私。
库

PyTorch 中使用 Cooper 进行约束优化
Jose Gallego-Posada、Juan Camilo Ramirez
Cooper (https://github.com/cooper-org/cooper) 是 PyTorch 中一个通用的、深度学习优先的约束优化库。Cooper(几乎!)与 PyTorch 无缝集成,并保留了通常的损失反向步骤工作流程。如果您已经熟悉 PyTorch,那么使用 Cooper 将会非常轻松!该库旨在鼓励和促进对深度学习中约束优化问题的研究。Cooper 专注于非凸约束优化问题,对于这些问题,损失或约束不一定是“表现良好”或“理论上易于处理”的。此外,Cooper 的设计旨在与目标函数和约束函数的 mini-batch/随机估计良好配合。Cooper 实现了几种流行的约束优化协议,因此您可以专注于您的项目,而我们来处理幕后的琐碎细节。
https://github.com/cooper-org/cooper
库

使用分布式张量的二维并行性
Wanchao Liang、Junjie Wang
本次演讲将介绍使用 PyTorch 的二维并行性(数据并行性 + 张量并行性),它使用分布式张量,这是 PyTorch Distributed 提供的一种基本分布式原语,可增强张量并行性。我们已经证明,将 FSDP + 张量并行性结合使用可以使我们能够训练像 Transformer 这样的大型模型,并提高训练性能。我们提供端到端的训练技术,使您能够以二维并行方式训练模型,并以分布式方式检查点保存/加载模型。
库

PyTorch Tabular:用于表格数据深度学习的框架
Manu Joseph
尽管深度学习在文本和图像等模态中显示出令人难以置信的有效性,但在表格数据中,深度学习在普及度和性能方面始终落后于梯度提升。但最近,出现了一些专门为表格数据创建的新模型,这正在推高性能基准。然而,普及度仍然是一个挑战,因为没有像 Sci-Kit Learn 这样易于使用、即用型的深度学习库。PyTorch Tabular 旨在通过成为一个易于使用且灵活的框架来改变这种状况,该框架使在表格数据中使用 SOTA 模型架构像 Sci-Kit Learn 一样容易。
库

Better Transformer:加速 PyTorch 中的 Transformer 推理
Michael Gschwind、Christian Puhrsch、Driss Guessous、Rui Zhu、Daniel Haziza、Francisco Massa
我们介绍了 Better Transformer,这是 PyTorch 项目,旨在通过实施 Better Transformer ‘fastpath’ 来开箱即用地加速 Transformer 的推理和训练。Fastpath 加速了 Transformer 模型中许多最常执行的功能。从 PyTorch 1.13 开始,PyTorch Core API 通过加速操作实现,可在许多 Transformer 模型(如 BERT 和 XLM-R)上实现高达 2 倍-4 倍的加速。加速操作基于 (1) 运算符和内核融合以及 (2) 利用可变序列长度 NLP 批次创建的稀疏性。除了使用 fastpath 改进 MultiHeadAttention 之外,该模型还包括对 MultiHeadAttention 和 TransformerEncoder 模块的稀疏性支持,以利用具有嵌套张量的 NLP 模型的可变序列长度信息。目前,我们使用 Better Transformer 启用了 torchtext 和 Hugging Face 域库,为文本、图像和音频模型提供了显着的加速。从下一个版本开始,PyTorch Core 将包含更快的融合内核和训练支持。您今天可以使用 PyTorch Nightlies(即将发布的 PyTorch 版本的每晚预览版本)预览这些功能。
库

PiPPy:PyTorch 的自动流水线并行
Ke Wen、Pavel Belevich、Anjali Sridhar
PiPPy 是一个为 PyTorch 模型提供自动流水线并行的库。借助编译器技术,PiPPy 将模型拆分为流水线阶段,而无需更改模型。PiPPy 还提供了一个分布式运行时,可将拆分的阶段分发到多个设备和主机,并以重叠方式协调微批处理执行。我们演示了 PiPPy 在 Hugging Face 模型上的应用,在云平台上实现了 3 倍的加速。
库

关于使用 AWS Inferentia 进行 PyTorch 推理的实用指南
Keita Watanabe
在本节中,我们将逐步介绍如何使用 Inferentia 执行机器学习模型的推理过程。此外,我们将 GPU 的推理性能进行比较,并讨论成本优势。在本节的后半部分,我们还将介绍 Kubernetes 上的模型部署。
优化

PyG CPU 性能优化
Mingfei Ma
通过更快的稀疏聚合加速 PyG CPU 性能。PyG 是一个构建在 PyTorch 之上的库,可以轻松编写和训练图神经网络,它在很大程度上依赖于消息传递机制进行信息聚合。我们优化了 PyTorch 消息传递的关键瓶颈,包括:1. Scatter Reduce:当 EdgeIndex 以 COO 内存格式存储时,映射到经典的 PyG 用例。2. SpMM Reduce:当 EdgeIndex 以 CSR 内存格式存储时,映射到使用情况。
优化

PyTorch 2.0 导出中的量化
Jerry Zhang
目前,PyTorch 架构优化 (torch.ao) 提供两种量化流程工具:eager 模式量化 (beta) 和 fx 图模式量化 (prototype)。随着 PyTorch 2.0 的即将到来,我们将在 PyTorch 2.0 导出路径之上重新设计量化,本次演讲将介绍我们支持 PyTorch 2.0 导出路径中量化的计划、其相对于以前工具的主要优势,以及建模开发者和后端开发者将如何与此流程交互。
优化

Torch-TensorRT:用于使用 TensorRT 加速 PyTorch 推理的编译器
Naren Dasan、Dheeraj Peri、Bo Wang、Apurba Bose、George Stefanakis、Nick Comly、Wei Wei、Shirong Wu、Yinghai Lu
Torch-TensorRT 是一个开源编译器,面向 NVIDIA GPU,用于在 PyTorch 中进行高性能深度学习推理。它结合了 PyTorch 的可用性和 TensorRT 的性能,可以轻松优化 NVIDIA GPU 上的推理工作负载。Torch-TensorRT 支持 TensorRT 中的所有类别的优化,包括降低混合精度至 INT8,通过旨在直接从 PyTorch 工作的简单 Python 和 C++ API。Torch-TensorRT 输出标准 PyTorch 模块以及 TorchScript 格式,以允许使用嵌入式 TensorRT 引擎创建完全自包含、可移植和静态的模块。我们介绍了 Torch-TensorRT 的最新改进,包括新的 FX 前端,它允许开发人员使用完整的 Python 工作流程来优化模型并在 Python 中扩展 Torch-TensorRT,统一的 Torch-TensorRT 运行时,它支持混合 FX + TorchScript 工作流程,并讨论了该项目的未来工作。
优化

通过利用 oneDNN Graph 的图融合来加速 PyTorch 推理
Sanchit Jain
开源 oneDNN Graph 库使用灵活的图 API 扩展了 oneDNN,以最大限度地提高在 AI 硬件(目前为 x86-64 CPU,但 GPU 支持即将推出)上生成高效代码的优化机会。它自动识别要通过融合加速的图分区。其融合模式包括融合计算密集型操作,例如卷积、matmul 及其相邻操作,用于推理和训练用例。自 PyTorch 1.12 以来,oneDNN Graph 已作为一项实验性功能获得支持,以加速 x86-64 CPU 上使用 Float32 数据类型的推理。PyTorch 主分支中存在使用 oneDNN Graph 和 BFloat16 数据类型进行推理的支持,因此在每晚 PyTorch 版本中也存在。Intel Extension for PyTorch 是一个构建在 PyTorch 之上的开源库,可以被认为是英特尔在 PyTorch 中进行优化的“暂存地”。它利用 oneDNN Graph 进行 int8 数据类型的推理。本海报展示了使用 PyTorch 的 TorchBench 基准测试套件的可重现结果,以演示使用 Float32、BFloat16 和 int8 数据类型通过 PyTorch 和 oneDNN Graph 实现的推理加速。
优化

回到 Python:无需接触 C++ 即可扩展 PyTorch
Alban Desmaison
本海报介绍了 PyTorch 团队设计的新的扩展点,允许用户从 Python 扩展 PyTorch。我们将介绍张量子类化、模式和 torch 库。我们将简要描述每个扩展点,并通过示例(例如内存分析、记录使用的运算符、量化和自定义稀疏内核)进行讲解,所有这些都在少于 100 行代码中完成。我们还将介绍您可以添加新设备和编写内核而无需直接修改 PyTorch 的新方法。
其他

PyTorch 中的函数化
Brian Hirsh
函数化是一种从发送到下游编译器的任意 PyTorch 程序中删除突变的方法。PyTorch 2.0 堆栈完全是为了捕获 PyTorch 操作图并将它们发送到编译器以获得更好的性能。PyTorch 程序可以突变和别名状态,这使得它们对编译器不友好。函数化是一种技术,可以获取包含 PyTorch 运算符(包括可变和别名运算符)的程序,并从程序中删除所有突变,同时保留语义。
其他

Walmart Search:在 TorchServe 上大规模服务模型
Pankaj Takawale、Dagshayani Kamalaharan、Zbigniew Gasiorek、Rahul Sharnagat
Walmart Search 已开始在搜索生态系统中采用深度学习的旅程,以提高各个部分的搜索相关性。作为我们的试点用例,我们希望在运行时服务计算密集型的 Bert Base 模型,目标是实现低延迟和高吞吐量。我们有 JVM 托管的 Web 应用程序加载和服务多个模型。实验模型被加载到相同的应用程序上。这些模型体积庞大,计算量很大。我们在此方法中面临以下限制:使用最新版本刷新模型或添加新的实验模型将需要应用程序部署。单个应用程序上的内存压力增加。由于在启动期间加载多个 ML 模型,启动时间缓慢。由于 CPU 有限,并发性没有好处(并发模型预测与顺序模型的指标)。
其他

TorchX:从本地开发到 Kubernetes 再到返回
Joe Doliner、Jimmy Whitaker
TorchX 对于快速开发 PyTorch 应用程序非常有用。但当涉及到部署时,一切都不容易。通过 docker 开发、Kubernetes 和客户调度程序,有很多东西需要学习。在本次演讲中,我们将讨论组织如何部署到生产环境,为什么 TorchX 是一个非常适合此目的的系统,以及我们学到的经验教训,以便您可以避免重蹈覆辙。
生产

使用带有 PyTorch/XLA 的完全分片数据并行 (FSDP) 进行大规模训练
Shauheen Zahirazami、Jack Cao、Blake Hechtman、Alex Wertheim、Ronghang Hu
PyTorch/XLA 使 PyTorch 用户能够在 XLA 设备(包括 Google 的 Cloud TPU)上运行其模型。PyTorch/XLA 的最新改进使能够使用 FSDP 训练 PyTorch 模型来训练非常大的模型。在这项工作中,我们展示了在 Cloud TPU v4 上训练 HuggingFace GPT-2 的基准和硬件浮点运算利用率。
生产

FSDP 生产就绪
Rohan Varma、Andrew Gu
本次演讲深入探讨了 PyTorch 完全分片数据并行 (FSDP) 的最新进展,这些进展实现了更高的吞吐量、内存节省和可扩展性。这些改进消除了对不同模态的模型以及不同模型和数据大小的模型使用 FSDP 的障碍。我们将分享将这些功能应用于特定用例的最佳实践,例如 XLMR、FLAVA、ViT、DHEN 和 GPT3 风格的模型。
生产

使用 Kubeflow Pipelines 和 TorchX 编排 Pytorch 工作流程
Erwin Huizenga、Nikita Namjoshi
TorchX 是 PyTorch 应用程序的通用作业启动器,可帮助 ML 从业者加快迭代时间并支持端到端生产。在本次演讲中,我们将向您展示如何使用 Kubeflow Pipeline (KFL) DSL 构建和运行 TorchX 组件作为管道。我们将详细介绍如何使用 KFP 和 TorchX 构建组件,以及如何使用 KFP DSL 来编排和运行 ML 工作流程。
生产

由社区主导的 ML 编译器和基础设施项目的 OSS 生态系统
Shauheen Zahirazami、James Rubin、Mehdi Amini、Thea Lamkin、Eugene Burmako、Navid Khajouei
ML 开发经常因框架和硬件之间的不兼容性而受阻,迫使开发人员在构建 ML 解决方案时在技术上妥协。OpenXLA 是一个社区主导的开源 ML 编译器和基础设施生态系统,由包括阿里巴巴、亚马逊网络服务、AMD、Arm、苹果、谷歌、英特尔、Meta、NVIDIA 等 AI/ML 领导者共同开发。它将通过让 ML 开发人员在领先的框架上构建模型并在任何硬件后端上以高性能执行模型来解决这一挑战。这种灵活性将使开发人员能够为他们的项目做出正确的选择,而不是被封闭系统中的决策所束缚。我们的社区将首先协同发展 XLA 编译器和 StableHLO,这是一个可移植的 ML 计算操作集,使框架更容易跨不同的硬件选项部署。
生产

在 PyTorch 中压缩 GPU 内存使用量
Mao Lin, Keren Zhou, Penfei Su
有限的 GPU 内存资源通常会阻碍 GPU 加速应用程序的性能。虽然 PyTorch 的缓存分配器旨在最大限度地减少昂贵的内存分配和释放次数,并最大限度地提高 GPU 内存资源的有效利用率,但我们对常见深度学习模型的研究揭示了严重的内存碎片问题。在某些情况下,高达 50% 的 GPU 内存被浪费。为了更好地理解内存碎片产生的根本原因,我们开发了一个工具,以两种方式可视化 GPU 内存使用情况:分配器视图和块视图。分配器视图展示了每次分配或释放事件的内存使用情况,块视图显示了特定内存块随时间的变化。我们的分析揭示了节省 GPU 内存的巨大潜力,这将缓解资源有限的瓶颈。通过采用诸如交换、激活重计算和内存碎片整理等策略,我们能够显著减少 GPU 内存浪费。
工具

'Brainchop': 浏览器内 MRI 体积分割和渲染
Mohamed Masoud, Farfalla Hu, Sergey Plis
在 brainchop 项目中,我们将用于结构性磁共振成像 (MRI) 体积分析的高保真预训练深度学习模型直接带到科学家和临床医生的浏览器中,而无需他们具备设置 AI 解决方案的技术技能。所有这些都在一个可扩展的开源框架中完成。我们的工具是网络上第一个前端 MRI 分割工具,支持在浏览器中一次性完成全脑体积处理。此属性由我们轻量级且可靠的深度学习模型 Meshnet 提供支持,该模型能够一次性处理整个大脑的体积,从而在适度的计算要求下提高准确性。高质量的客户端处理解决了隐私问题,因为数据无需离开客户端。此外,基于浏览器的实现能够利用可用的硬件加速,而无需考虑品牌或架构。GitHub:https://github.com/neuroneural/brainchop
https://github.com/neuroneural/brainchop
工具

TorchBench:量化开发循环期间的 PyTorch 性能
Xu Zhao, Will Constable, David Berard, Taylor Robie, Eric Han, Adnan Aziz
对于像 PyTorch 这样的 ML 框架来说,保持性能水平具有挑战性。像 MLPerf 这样的现有 AI 基准测试是端到端的,因此需要大量数据集、大规模 GPU 集群和长时间的基准测试。我们开发了 TorchBench,这是一个新颖的 AI 基准测试套件,它以最少的数据输入、单个 GPU 和毫秒级的每次测试延迟突出显示性能。TorchBench 现在已作为 PyTorch nightly 发布过程的一部分部署,用于保护性能/正确性回归,并在 SOTA 机器学习模型上测试实验性的 PyTorch 功能。
工具

通过 OpenFold 实现生物学 AI 的普及化
Gustaf Ahdritz, Sachin Kadyan, Will Gerecke, Luna Xia, Nazim Bouatta, Mohammed AlQuraishi
OpenFold 由哥伦比亚大学开发,是一个使用 PyTorch 实现的开源蛋白质结构预测模型。OpenFold 的目标是验证 AlphaFold 2(DeepMind 的蛋白质结构预测模型)是否可以从头开始复制,并在此基础上,使系统的组件可供志同道合的研究人员和学者使用,以便他们可以在其基础上进行构建。在这项研究期间,Weights & Biases 被用于加速 OpenFold 对 AlphaFold 2 的复制。W&B 的协作性质允许见解从单个研究人员扩展到整个团队,并帮助解决了 ML 中的可重复性挑战。
工具