海报

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

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

使用 Ray AIR 进行可扩展的训练和推理
凯·弗里克,巴拉吉·维拉马尼
扩展机器学习难度大:云平台解决方案如 SageMaker 可能会限制灵活性,但自定义分布式框架通常又难以实现。实际上,机器学习工程师在将工作负载从本地原型扩展到云端时面临挑战。Ray AI Runtime('Ray AIR')是一个围绕分布式计算框架 Ray 构建的机器学习库集成。它提供了一个易于使用的接口,用于可扩展的数据处理、训练、调优、批量预测和在线服务。将现有的 PyTorch 训练循环适配到 Ray AIR 的 PyTorch 集成仅需更改 10 行代码。从本地开发到云端的扩展无需任何代码更改。
库

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

xFormers:高效 Transformer 的构建块
丹尼尔·哈齐扎,弗朗西斯科·马萨,杰里米·赖森斯坦,帕特里克·拉巴图,黛安娜·利斯科夫奇
我们推出 xFormers,一个用于加速 Transformer 研究的工作箱。它包含高效的组件,如精确的内存高效多头注意力机制,可以在使用内存的一小部分的情况下加速训练 2 倍。xFormers 组件也是可定制的,可以组合在一起构建 Transformer 的变体。我们的希望是能够促进基于 Transformer 的下一代研究。
库

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

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

广义形状:块稀疏性、掩码 Tensor、嵌套 Tensor
克里斯蒂安·普尔施
本海报概述了与稀疏内存格式、掩码计算以及支持可变形状数据集合相关的可用和正在进行的发展。特别是,它包含了对块稀疏内存格式、MaskedTensor 和 NestedTensor 的案例研究。
库

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

Functorch:PyTorch 中的可组合函数转换
萨曼莎·安德鲁,理查德·周,霍勒斯·何,阿尼什·贾因
受 Google JAX 的启发,functorch 是 PyTorch 中的一个库,它提供了可组合的 vmap(向量化)和自动微分变换(grad、vjp、jvp)。自其与 PyTorch 1.11 版本一同发布以来,结合这些变换已帮助用户开发并探索一些以前在 PyTorch 中难以编写的新技术,如神经网络切线核和非线性优化(参见来自 PyTorch 的 Theseus)。这将介绍一些基本用法,并突出一些利用 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
我们的开源神经网络求解器框架为基于 Pytorch 的自然科学现象研究和分析提供了数据无关的机器学习求解器。我们首先证明了某些由二维薛定谔方程建模的量子系统可以在保持强扩展性的同时被准确求解。我们还开发了一种新的神经网络架构,GatedPINN [1],将可适应的域分解引入基于专家混合范式的物理信息神经网络训练中。通过 Horovod 实现 GatedPINN 的大规模分布式训练,从而实现了出色的 GPU 利用率,使神经网络求解器为即将到来的百亿亿次时代做好准备。即将到来的项目包括研究三维激光系统和耦合模型以研究 Vlasov-Maxwell 系统的更高维问题。在新型非常可扩展的计算硬件上的进一步实验为高保真神经网络求解器在逆散射问题等实际应用中的应用铺平了道路。
库

模型准备、联邦学习和设备计算
方知汉
联邦学习与差分隐私的结合越来越受到欢迎,成为在保护用户隐私的同时训练机器学习模型最有希望的途径之一。Meta 公司围绕人群属性构建的现有模型大多基于传统的集中式机器学习方法。最近,由于内部和外部对用户隐私的日益关注,Meta 的机器学习团队在应用新功能以进一步提高模型性能方面遇到了信号丢失或限制。在本文中,我们介绍了一个通用的框架,用于准备和生成用于联邦学习的模型。模型准备过程是利用传统的机器学习来理解针对目标问题的模型结构和超参数,包括训练、推理、评估。它还需要一个模拟过程来训练目标模型结构,并理解服务器端的模拟环境以调整 FL 特定的超参数。模型生成过程是生成设备兼容的模型,可以直接在用户的设备上用于联邦学习。 我们在我们的设备模型上应用了 FL 框架,并与设备信号集成,以提升用户体验并保护用户隐私。
库

使用 Cooper 在 PyTorch 中进行约束优化
何塞·加莱戈-波萨达,胡安·卡米洛·拉米雷斯
Cooper(https://github.com/cooper-org/cooper)是一个通用的、以深度学习优先的约束优化库,基于 PyTorch。Cooper(几乎!)无缝集成于 PyTorch,并保留了常用的损失反向传播步骤工作流程。如果您已经熟悉 PyTorch,使用 Cooper 将会非常简单!这个库旨在鼓励和促进深度学习中约束优化问题的研究。Cooper 专注于非凸约束优化问题,对于损失或约束不一定“表现良好”或“理论上可处理”的情况。此外,Cooper 被设计成可以很好地与目标函数和约束函数的批处理/随机估计协同工作。Cooper 实现了几个流行的约束优化协议,这样您可以专注于您的项目,而我们将处理幕后的繁琐工作。
https://github.com/cooper-org/cooper
库

使用分布式张量的二维并行性
梁旺超,王军杰
本演讲将介绍使用 PyTorch(数据并行+张量并行)的二维并行性,利用 PyTorch 分布式提供的分布式张量这一基本分布式原语,赋予张量并行能力。我们已经证明,结合 FSDP + 张量并行可以让我们训练像 Transformer 这样的大型模型,并提高训练性能。我们提供端到端训练技术,使您能够以二维并行方式训练模型,并以分布式方式保存/加载检查点模型。
库

PyTorch Tabular:用于表格数据的深度学习框架
玛努·约瑟夫
尽管在文本和图像等模态中表现出不合理的高效性,但深度学习在表格数据方面始终落后于梯度提升,无论是在流行度还是性能上。但最近,一些专门为表格数据创建的新模型正在推动性能标准的提升。然而,由于没有像 Sci-Kit Learn 这样的深度学习库那样简单易用、现成的库,因此普及度仍然是一个挑战。PyTorch Tabular 旨在通过成为一个易于使用且灵活的框架来改变这一点,使得在表格数据中使用最先进的模型架构变得像 Sci-Kit Learn 一样简单。
库

更好的 Transformer:加速 PyTorch 中的 Transformer 推理
米歇尔·格施温德,克里斯蒂安·普尔施,德里斯·盖索斯,吕瑞,丹尼尔·哈齐扎,弗朗西斯科·马萨
我们引入了 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 核心将包括更快的融合内核和训练支持。 您今天可以使用 PyTorch Nightlies 预览这些功能,这是即将发布的 PyTorch 版本的夜间预览构建。
库

PiPPy:PyTorch 的自动化管道并行
邱文,帕维尔·别列维奇,安贾利·斯里达尔
PiPPy 是一个为 PyTorch 模型提供自动化管道并行处理的库。通过编译技术,PiPPy 可以将模型分割成管道阶段,而无需修改模型。PiPPy 还提供了一种分布式运行时,将分割的阶段分配到多个设备和主机,并以重叠的方式编排微批处理执行。我们展示了 PiPPy 在 Hugging Face 模型上的应用,在云平台上实现了 3 倍的速度提升。
库

使用 AWS Inferentia 进行 PyTorch 推理的实用指南
水谷健太
在本节中,我们将逐步讲解如何使用 Inferentia 进行机器学习模型的推理过程。此外,我们将比较推理性能与 GPU,并讨论成本优势。在会议的后期部分,我们还将介绍如何在 Kubernetes 上部署模型。
优化

PyG CPU 性能优化
马明飞
加速 PyG CPU 性能,通过更快的稀疏聚合。PyG 是一个基于 PyTorch 的库,可以轻松编写和训练图神经网络,它严重依赖于消息传递机制进行信息聚合。我们对 PyTorch 中的消息传递关键瓶颈进行了优化,包括:1. Scatter Reduce:映射到经典 PyG 使用场景,当 EdgeIndex 存储在 COO 内存格式时。2. SpMM Reduce:映射到 EdgeIndex 存储在 CSR 内存格式时的使用场景。
优化

PyTorch 2.0 导出中的量化
张杰
目前,PyTorch 架构优化(torch.ao)提供了两种量化流程工具:急切模式量化(beta)和 fx 图模式量化(原型)。随着 PyTorch 2.0 的即将推出,我们将重新设计基于 PyTorch 2.0 导出路径的量化,本次演讲将介绍我们在 PyTorch 2.0 导出路径上支持量化的计划,其主要优势以及建模开发人员和后端开发人员如何与这一流程交互。
优化

Torch-TensorRT:用于加速 PyTorch 推理的 TensorRT 编译器
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,通过简单的 Python 和 C++ API 直接从 PyTorch 工作。Torch-TensorRT 输出标准的 PyTorch 模块以及 TorchScript 格式,以允许具有嵌入 TensorRT 引擎的完全自包含、可移植和静态模块。我们介绍了 Torch-TensorRT 的最新改进,包括新的 FX 前端,它允许开发者使用完整的 Python 工作流程来优化模型并扩展 Torch-TensorRT 的 Python 功能,统一的 Torch-TensorRT 运行时,它使混合 FX + TorchScript 工作流程成为可能,并讨论了项目的未来工作。
优化

利用 oneDNN 图融合加速 PyTorch 推理
桑奇特·贾因
开源 oneDNN Graph 库扩展了 oneDNN,通过灵活的图 API 最大化优化机会,以在 AI 硬件(目前为 x86-64 CPU,但 GPU 支持正在路上)上生成高效的代码。它自动识别要加速融合的图分区。其融合模式包括融合计算密集型操作,如卷积、矩阵乘法及其相邻操作,适用于推理和训练用例。自 PyTorch 1.12 以来,oneDNN Graph 作为实验性功能被支持,用于在 x86-64 CPU 上加速 Float32 数据类型的推理。使用 oneDNN Graph 进行 BFloat16 数据类型推理的支持存在于 PyTorch 主分支中,因此也存在于夜间 PyTorch 版本中。Intel Extension for PyTorch 是一个开源库,它建立在 PyTorch 之上,可以被视为 Intel 对 PyTorch 优化“试验场”。它利用 oneDNN Graph 进行 int8 数据类型的推理。本海报使用 PyTorch 的 TorchBench 基准测试套件展示了使用 Float32、BFloat16 和 int8 数据类型通过 PyTorch & oneDNN Graph 实现的推理加速的可重复结果。
优化

回到 Python:在不接触 C++ 的情况下扩展 PyTorch
阿尔班·德马松
本海报介绍了 PyTorch 团队设计的新扩展点,允许用户从 Python 扩展 PyTorch。我们将介绍张量子类化、模式以及 torch 库的简介。我们将简要描述每个扩展点,并通过内存分析、使用操作记录日志、量化以及自定义稀疏内核等示例进行讲解,所有这些都在不到 100 行代码内完成。我们还将介绍新的方法,您可以通过这些方法添加新的设备并编写内核,而无需直接修改 PyTorch。
其他

PyTorch 中的功能化
布莱恩·赫什
功能化是一种从发送到下游编译器的任意 PyTorch 程序中移除突变的方法。PyTorch 2.0 堆栈的全部内容都是关于捕获 PyTorch 操作图并将其发送到编译器以获得更好的性能。PyTorch 程序可以突变和别名状态,这使得它们对编译器不友好。功能化是一种技术,可以将包含 PyTorch 运算符的程序(包括可变和别名运算符)全部提取出来,同时保留语义,从而从程序中移除所有突变。
其他

Walmart 搜索:在 TorchServe 上大规模部署服务模型
潘卡杰·塔卡瓦莱,达格沙亚尼·卡马拉哈兰,兹比格涅夫·加西奥雷克,拉胡尔·沙尔纳加特
Walmart 搜索开始采用深度学习技术,以改进搜索生态系统的搜索相关性。作为我们的试点用例,我们希望在运行时提供计算密集型的 Bert Base 模型,目标是实现低延迟和高吞吐量。我们使用 JVM 托管的应用程序加载和提供多个模型。实验模型被加载到相同的应用程序中。这些模型体积庞大,计算成本高昂。我们面临以下局限性:刷新模型到最新版本或添加新的实验模型需要部署应用程序。单个应用程序上的内存压力增加。由于在启动时加载多个机器学习模型,启动时间缓慢。由于 CPU(并发模型预测与顺序的度量)有限,并发性并不有利。
其他

火炬 X:从本地开发到 Kubernetes 再到本地
乔·多林纳,吉米·惠特克
TorchX 对于快速开发 PyTorch 应用程序来说非常有用。但是,当涉及到部署时,没有任何事情是容易的。使用 Docker 开发、Kubernetes 和客户调度器,有很多东西要学习。在这个演讲中,我们将讨论组织如何部署到生产环境,为什么 TorchX 是这样一个优秀的系统,以及我们学到的教训,以便您可以避免犯同样的错误。
生产

使用 PyTorch/XLA 进行大规模训练:基于完全分片数据并行(FSDP)
Shauheen Zahirazami, Jack Cao, Blake Hechtman, Alex Wertheim, Ronghang Hu
PyTorch/XLA 使 PyTorch 用户能够在 XLA 设备上运行他们的模型,包括谷歌的云 TPU。PyTorch/XLA 的最新改进使得使用 FSDP 训练大型模型成为可能。在本工作中,我们展示了在云 TPU v4 上训练 HuggingFace GPT-2 的基准和硬件浮点运算利用率。
生产

FSDP 生产就绪
罗汉·瓦玛,安德鲁·古
本演讲深入探讨 PyTorch 完全分片数据并行(FSDP)的最新进展,这些进展实现了更好的吞吐量、内存节省和可扩展性。这些改进消除了使用 FSDP 对不同模态模型以及不同模型和数据大小的限制。我们将分享将这些特性应用于特定用例(如 XLMR、FLAVA、ViT、DHEN 和 GPT3 风格模型)的最佳实践。
生产

使用 Kubeflow Pipelines 和 TorchX 编排 PyTorch 工作流程
艾文·惠曾加,尼基塔·纳姆乔希
TorchX 是一个通用的 PyTorch 应用程序作业启动器,它帮助机器学习从业者加快迭代时间并支持端到端的生产。在本演讲中,我们将向您展示如何使用 Kubeflow Pipeline (KFL) DSL 构建和运行 TorchX 组件作为流水线。我们详细介绍了如何使用 KFP 和 TorchX 构建组件,以及如何使用 KFP DSL 编排和运行机器学习工作流程。
生产

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

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

'Brainchop': 在浏览器中的 MRI 体部分割和渲染
穆罕默德·马苏德,法拉拉·胡,谢尔盖·普利斯
在 Brainchop 项目中,我们将高保真度预训练的深度学习模型用于结构磁共振成像(MRI)的体部分析,直接提供给科学家和临床医生使用,无需他们对设置 AI 解决方案的技术技能有任何要求。所有这些都在一个可扩展的开源框架中实现。我们的工具是第一个支持在浏览器中单次遍历全脑体部处理的 Web 前端 MRI 分割工具。这一特性得益于我们轻量级且可靠的深度学习模型 Meshnet,它能够一次性处理整个大脑,从而在适度的计算需求下提高准确性。高质量的客户端处理解决了隐私问题,因为数据不需要离开客户端。此外,基于浏览器的实现能够利用可用的硬件加速,无论品牌或架构如何。GitHub: https://github.com/neuroneural/brainchop
https://github.com/neuroneural/brainchop
工具

火炬基准:在开发循环中量化 PyTorch 性能
徐兆,威廉·康斯塔布尔,大卫·贝拉尔,泰勒·罗比,埃里克·韩,阿丹·阿齐兹
对于像 PyTorch 这样的机器学习框架来说,保持性能的稳定性是一项挑战。现有的 AI 基准如 MLPerf 是端到端的,因此需要大量数据集、大规模 GPU 集群和长时间的基准测试。我们开发了 TorchBench,这是一个新颖的 AI 基准套件,它通过最小数据输入、单 GPU 和毫秒级测试延迟来突出显示。TorchBench 现在已作为 PyTorch 夜间发布过程的一部分部署,用于保护性能/正确性回归,并在 SOTA 机器学习模型上测试实验性的 PyTorch 功能。
工具

通过 OpenFold 民主化生物学中的 AI
Gustaf Ahdritz, Sachin Kadyan, Will Gerecke, Luna Xia, Nazim Bouatta, Mohammed AlQuraishi
OpenFold 是由哥伦比亚大学开发的开放源代码蛋白质结构预测模型,使用 PyTorch 实现。OpenFold 的目标是验证 DeepMind 的蛋白质结构预测模型 AlphaFold 2 可以从零开始重现,并且在此基础上,将系统的组件提供给志同道合的研究人员和学者,以便他们可以在其基础上进行构建。在这次研究中,使用了 Weights & Biases 来加速 OpenFold 对 AlphaFold 2 的重现。W&B 的协作性质使得从单个研究人员到整个团队的见解可以扩展,并帮助解决了机器学习中的可重现性挑战。
工具