感谢令人惊叹的 PyTorch 社区,让首届 PyTorch 生态系统日取得圆满成功!生态系统日在 Gather.Town 上举办,利用礼堂、展览厅和分组会议室供合作伙伴预订,用于演讲、演示或教程。为了迎合全球社区,本次活动举办了两场会议:太平洋时间上午 8 点至下午 1 点的上午场和太平洋时间下午 3:00 至晚上 7:00 的晚场。当天充满了关于新发展、趋势和挑战的讨论,通过 71 张海报、32 场分组会议和 6 位主题演讲嘉宾展示出来。

特别感谢我们的 6 位主题演讲嘉宾:Piotr Bialecki、Ritchie Ng、Miquel Farré、Joe Spisak、Geeta Chauhan 和 Suraj Subramanian。您可以在这里找到开幕演讲


海报

使用 PennyLane 将量子机器学习引入 PyTorch
Josh Izaac, Thomas Bromley

PennyLane 允许您像训练神经网络一样训练量子电路!这张海报展示了 PennyLane 如何与 PyTorch 交互,以实现量子和混合机器学习模型的训练。量子电路的输出以具有定义梯度的 Torch 张量形式提供。我们重点介绍了如何使用此功能来探索机器学习中的新范式,包括使用混合模型进行迁移学习。

http://pennylane.ai

平台、运维和工具

在 VS Code 中进行 PyTorch 开发
Jeffrey Mew

Visual Studio Code 是一款免费的跨平台轻量级代码编辑器,已成为 Python 开发者在 Web 和机器学习项目中最受欢迎的工具。我们将带您完成一个端到端的 PyTorch 项目,以展示 VS Code 可以为 PyTorch 开发者提供的诸多功能,从而提高他们的生产力。首先,借助 VS Code 的环境/依赖项管理和内置 Jupyter Notebook 支持,快速启动并运行您的 PyTorch 项目。其次,借助我们 AI 驱动的 IntelliSense,轻松完成编码。在运行代码时,使用内置的 Tensorboard 集成来监控您的训练,并结合集成的 PyTorch profiler 来分析和调试您的代码。当您准备好使用云时,VS Code 具有 Azure 服务集成,使您可以扩展您的模型训练和部署,以及部署。代码编辑器的强大功能与轻松访问 Azure 服务相结合,VS Code 可以成为任何希望使用 PyTorch 构建机器学习模型的开发者的首选。

https://pytorch.ac.cn/blog/introducing-pytorch-profiler-the-new-and-improved-performance-tool/

编译器 & 转换 & 生产

TorchScript 的即将推出的功能
Yanan Cao, Harry Kim, Jason Ansel

TorchScript 是 PyTorch 灵活的 eager 模式与更具确定性和高性能的图模式之间的桥梁,后者适用于生产部署。作为 PyTorch 1.9 版本的一部分,TorchScript 将推出一些我们想提前与您分享的功能,包括:a) 一种新的形式语言规范,定义了 TorchScript 中支持的 Python/PyTorch 功能的确切子集;b) 轮廓导向类型,减少了将松散类型的 eager 模式模型转换为严格类型的 TorchScript 模型的负担;c) TorchScript profiler,可以揭示 TorchScript 模型的性能特征。我们不断改进,使 TorchScript 更易于使用且性能更高。

http://fb.me/torchscript

编译器 & 转换 & 生产

使用 Brevitas 进行量化感知训练
Alessandro Pappalardo

Brevitas 是一个用于量化感知训练的开源 PyTorch 库。凭借其在多个抽象级别的灵活设计,Brevitas 将深度学习社区中采用的典型均匀仿射量化范式概括在一组通用的统一 API 下。Brevitas 为 ML 从业者和研究人员提供了一个平台,既可以应用最先进的内置技术进行降精度推理训练,也可以实现新颖的量化感知训练算法。用户可以针对受支持的推理工具链,例如 onnxruntime、TVM、Vitis AI、FINN 或 PyTorch 本身,或者试验假设的目标硬件平台。特别是,当与通过 FINN 工具链实现的 Xilinx FPGA 的灵活性相结合时,Brevitas 支持以机器学习驱动的方式协同设计新颖的硬件构建块。在 Xilinx 内部,Brevitas 已被各种关于量化神经网络的研究项目以及针对定制可编程逻辑加速器的大规模部署所采用。

https://github.com/Xilinx/brevitas/

编译器 & 转换 & 生产

PyTorch 量化:FX 图模式量化
Jerry Zhang, Vasiliy Kuznetsov, Raghuraman Krishnamoorthi

量化是一种常见的模型优化技术,可以将模型的运行时速度提高高达 4 倍,但可能会略微损失精度。目前,PyTorch 支持 Eager 模式量化。FX 图模式量化通过增加对功能的支持和自动化量化过程,改进了 Eager 模式量化。要使用 FX 图模式量化,可能需要重构模型以使模型与 FX 图模式量化兼容(使用 torch.fx 进行符号追踪)。

https://pytorch.ac.cn/docs/master/quantization.html#prototype-fx-graph-mode-quantization

编译器 & 转换 & 生产

使用 Amazon EC2 Inf1 和 TorchServe 容器加速深度学习模型在生产环境中的部署
Fabio Nonato

深度学习模型可以对机器学习应用产生颠覆性的影响。然而,在生产环境中部署和管理深度学习模型非常复杂,需要大量的工程工作——从构建自定义推理 API 和扩展预测服务,到保护应用程序安全,同时还要利用最新的 ML 框架和硬件技术。由 AWS Inferentia 驱动的 Amazon EC2 Inf1 实例在云中提供最高的性能和最低的成本机器学习推理。开发者可以使用与 PyTorch 原生集成的 AWS Neuron SDK 将其深度学习模型部署到 Inf1 实例。参加本次海报会议,了解如何使用 Inf1 实例和 TorchServe 容器优化和加速深度学习模型在生产环境中的部署。您将学习如何在 Inf1 上部署 TorchScript 模型,并使用 NeuronCore Groups 和 NeuronCore Pipeline 等功能以最少的代码更改优化您的模型,以满足您的吞吐量和延迟要求。您可以使用 TorchServe 将这些模型级别的优化直接集成到推理端点中。我们还将深入探讨我们如何优化自然语言处理端点的性能,并展示在 Amazon ECS 上使用 TorchServe 容器部署优化模型的流程。

https://bit.ly/3mQVowk

编译器 & 转换 & 生产

Torch.fx
James Reed, Zachary DeVito, Ansley Ussery, Horace He, Michael Suo

FX 是一个用于在 PyTorch 代码上编写 Python 到 Python 转换的工具包。FX 由三部分组成:> 符号追踪 – 一种通过使用“代理”值运行程序来提取程序表示的方法。> 基于图的转换 – FX 提供了一个易于使用的基于 Python 的图 API,用于操作代码。> Python 代码生成 – FX 从图中生成有效的 Python 代码,并将该代码转换为可执行的 Python `nn.Module` 实例。

https://pytorch.ac.cn/docs/stable/fx.html

编译器 & 转换 & 生产

AI 模型效率工具包 (AIMET)
Abhijit Khobare, Murali Akula, Tijmen Blankevoort, Harshita Mangal, Frank Mayer, Sangeetha Marshathalli Siddegowda, Chirag Patel, Vinay Garg, Markus Nagel

AI 正在通过提供显著增强的体验来革新行业、产品和核心能力。然而,当今的深度神经网络使用了过多的内存、计算和能量。为了使 AI 真正普及,它需要在功耗和散热预算紧张的终端设备上运行。量化和压缩有助于解决这些问题。在本教程中,我们将讨论:现有的量化和压缩挑战,我们在克服这些挑战的新型量化和压缩技术方面的研究,以及开发者和研究人员如何通过 AI 模型效率工具包实施这些技术

编译器 & 转换 & 生产

通过 SQL 命令使用 Pytorch:一个灵活、模块化的 AutoML 框架,为数据库用户普及 ML
Natasha Seelam, Patricio Cerda-Mardini, Cosmo Jenytin, Jorge Torres

Pytorch 支持构建具有复杂输入和输出的模型,包括时间序列数据、文本和视听数据。然而,构建此类模型需要专业知识和时间,通常花费在清理数据或将其转换为模型期望的格式等繁琐任务上。因此,当研究人员只想试验问题的特定方面时,通常会按原样使用预训练模型。例如,请参阅 FastAI 在优化器、调度器以及通过预训练残差模型进行渐进式训练方面的工作,或以 Hugging Face 模型为骨干的 NLP 项目。我们认为,对于许多此类问题,我们可以仅从原始数据和端点自动生成“足够好”的模型和数据处理管道。为了解决这种情况,我们正在开发 MindsDB,这是一个开源的、基于 PyTorch 的 ML 平台,可以通过 SQL 命令在数据库内部工作。它采用模块化方法构建,在本次演讲中,我们将重点关注 Lightwood,这是一个独立的内核组件,可在 PyTorch 框架之上执行机器学习自动化。Lightwood 将模型构建自动化为 5 个阶段:(1)将每个特征分类为“数据类型”,(2)对数据集的每一列运行统计分析,(3)拟合多个模型以规范化、标记化和生成每个特征的嵌入,(4)部署嵌入以拟合最终估计器,以及(5)对最终集成运行分析以评估它并生成置信度模型。它可以生成快速的“基线”模型,以基准测试任何数据类型的自定义编码器表示的性能,并且还可以作为研究新假设(架构、优化器、损失函数、超参数等)的支架。我们的目标是展示我们涵盖广泛问题类型的基准,并通过动手演示说明 Lightwood 如何对研究人员和工程师有用。

https://mindsdb.com

数据库 & AI 加速器

PyTorch 在超级计算机模拟和 AI 规模化应用中与 SmartSim 的结合
Sam Partee , Alessandro Rigazzi, Mathew Ellis, Benjamin Rob

SmartSim 是一个开源库,致力于为传统高性能计算 (HPC) 模拟实现在线分析和机器学习 (ML)。客户端以常见的 HPC 模拟语言 C/C++/Fortran 提供,使模拟能够在大型 HPC 系统上并行执行推理请求。SmartSim 利用 Redis 生态系统来托管和提供 PyTorch 模型以及模拟。我们展示了 SmartSim 的一个用例,其中全球海洋模拟(用于气候建模)通过 PyTorch 模型进行增强,以解析模拟范围内的涡动能。

https://github.com/CrayLabs/SmartSim

数据库 & AI 加速器

使用共形预测器进行模型不可知的置信度估计,用于 AutoML
Patricio Cerda-Mardini, Natasha Seelam

许多领域都利用机器学习算法的卓越预测性能。然而,越来越需要提高这些模型的透明度,以便证明在应用环境中部署它们的合理性。开发值得信赖的模型是一项巨大的挑战,因为它们通常针对准确性进行优化,而将真实分布和预测分布之间的拟合度放在次要位置 [1]。获得与真实可能性相匹配的预测概率估计的概念也称为校准。现代 ML 模型通常表现出较差的校准。有几种方法旨在生成校准的 ML 模型 [2, 3]。归纳共形预测 (ICP) 是实现此目的的一种简单而强大的框架,它为任何机器学习模型的错误率提供了强有力的保证 [4]。ICP 提供置信度分数,并通过不一致性度量将任何点预测转换为预测区域,不一致性度量指示与校准数据分割相比,数据点呈现的固有异常程度。在这项工作中,我们讨论了 ICP 与 MindsDB(一个开源 AutoML 框架)的集成,成功地取代了其现有的分位数损失方法,以实现置信度估计功能。我们的贡献有三方面。首先,我们研究了与未规范化的基线相比,“自感知”神经网络规范化器对预测区域大小宽度(也称为效率)的影响。我们的基准考虑了超过 30 个不同领域的数据集(包括分类和数值目标)的结果。其次,我们提出了一种算法,用于根据预测区域的目标大小动态确定置信度水平,从而有效地将效率置于最低错误率之上。最后,我们展示了专门为小型数据集量身定制的不一致性度量的结果。参考文献:[1] Guo, C., Pleiss, G., Sun, Y., & Weinberger, K.Q. (2017). On Calibration of Modern Neural Networks. ArXiv, abs/1706.04599. [2] Naeini, M., Cooper, G., & Hauskrecht, M. (2015). Obtaining Well Calibrated Probabilities Using Bayesian Binning. Proceedings of the AAAI Conference on Artificial Intelligence. AAAI Conference on Artificial Intelligence, 2015, 2901-2907 . [3] Maddox, W., Garipov, T., Izmailov, P., Vetrov, D., & Wilson, A. (2019). A Simple Baseline for Bayesian Uncertainty in Deep Learning. NeurIPS. [4] Papadopoulos, H., Vovk, V., & Gammerman, A. (2007). Conformal Prediction with Neural Networks. 19th IEEE International Conference on Tools with Artificial Intelligence (ICTAI 2007), 2, 388-395.

https://mindsdb.com

数据库 & AI 加速器

通过 AMD ROCm™ 开放软件平台在 AMD Instinct™ GPU 上启用 PyTorch
Derek Bouius

AMD Instinct GPU 通过 ROCm 开放软件平台在上游 PyTorch 存储库中启用。现在,用户还可以轻松下载可安装的 Python 包,该包构建自上游 PyTorch 存储库并托管在 pytorch.org 上。值得注意的是,它包括对跨多个 GPU 的分布式训练的支持,并支持加速混合精度训练。AMD 还为 PyTorch 社区构建提供硬件支持,以帮助开发和维护新功能。这张海报将重点介绍为启用 PyTorch 支持所做的一些工作。

https://www.amd.com/rocm

数据库 & AI 加速器

DeepSpeed:打破深度学习速度和规模的壁垒
DeepSpeed 团队 Microsoft Corporation

在海报(以及分组会议期间的演讲)中,我们将介绍 DeepSpeed (https://github.com/microsoft/DeepSpeed) 的三个方面,DeepSpeed 是一个基于 PyTorch 框架的深度学习优化库:1) 我们如何通过 ZeRO 驱动的数据并行性克服 GPU 内存壁垒。2) 我们如何通过 1-bit Adam 和 1-bit Lamb 压缩优化算法克服网络带宽壁垒。3) 我们如何通过与 Azure ML、HuggingFace 和 PyTorch Lightning 集成来克服可用性壁垒。

分布式训练

Dask PyTorch DDP:一个将 Dask 并行化引入 PyTorch 训练的新库
Stephanie Kirmer, Hugo Shi

我们开发了一个库,该库有助于简化 PyTorch 模型的多机器并行训练任务,将 PyTorch DDP 的强大功能与 Dask 相结合,以实现 GPU 上的并行化。我们的海报描述了该库及其核心功能,并演示了多机器训练过程在实践中如何工作。

https://github.com/saturncloud/dask-pytorch-ddp

分布式训练

优化物理信息神经网络。
Vignesh Gopakumar

使用神经网络求解 PDE 通常非常费力,因为它需要针对明确定义的解决方案进行训练,即网络架构 - 目标函数组合的全局最小值。对于一系列复杂的 PDE,物理信息神经网络与传统的数值方法相比不会提供太多优势,因为它们的全局最小值变得越来越难以处理。我们提出了一种改进的方法,该方法依赖于持续和参数化学习,可以创建更通用的 PINN,可以解决各种 PDE 场景,而不是针对明确定义的案例进行求解。我们认为,这使得基于神经网络的 PDE 求解器可以与数值求解器相媲美。

分布式训练

FairScale - 用于高性能和大规模训练的通用模块化 PyTorch 库
Mandeep Baines, Shruti Bhosale, Vittorio Caggiano, Benjamin Lefaudeux, Vitaliy Liptchinsky, Naman Goyal, Siddhardth Goyal, Myle Ott, Sam Sheifer, Anjali Sridhar, Min Xu

FairScale 是一个库,它扩展了基本的 PyTorch 功能,同时为单台或多台机器上的高性能和大规模训练添加了新的 SOTA 技术。FairScale 以可组合模块和易于使用的 API 的形式提供最新的分布式训练技术。大规模机器学习 (ML) 训练传统上意味着数据并行性,通过使用多个设备以更大的批量大小进行训练来减少训练时间。然而,随着 ML 模型尺寸最近的增加,数据并行性已不足以满足所有“扩展”需求。FairScale 提供了多种选项来克服某些扩展限制。对于受内存限制的扩展训练(优化器状态、中间激活、参数),FairScale 提供了实现了优化器、梯度和参数分片的 API。这将允许用户以更节省内存的方式使用设备训练大型模型。为了克服大型模型所需的内存,FairScale 提供了各种风格的流水线和模型并行性、MOE(专家混合)层和卸载模型。这些方法允许仅在多个设备上使用数据微批量执行模型分片的计算,以最大化设备效率。FairScale 还提供了模块来帮助用户有效地扩展批量大小,而无需更改其现有的学习率超参数 - AdaScale - 并通过中间层的检查点激活来节省内存。FairScale 还已集成到 Pytorch Lightening、HuggingFace、FairSeq、VISSL 和 MMF 中,使这些框架的用户能够利用其功能。

分布式训练

AdaptDL:一个开源的资源自适应深度学习训练/调度框架
Aurick Qiao, Sang Keun Choe, Suhas Jayaram Subramanya, Willie Neiswanger, Qirong Ho, Hao Zhang, Gregory R. Ganger, Eric P. Xing

AdaptDL 是一个开源框架和调度算法,可直接优化集群范围的训练性能和资源利用率。通过弹性地重新调整作业规模、协同调整批量大小和学习率以及避免网络干扰,与替代调度器相比,AdaptDL 改进了共享集群训练。AdaptDL 可以根据作业的需求自动确定最佳资源数量。它将有效地动态添加或删除资源,以确保最高级别的性能。AdaptDL 调度器将根据其可扩展性自动计算出要为您的作业分配的最有效 GPU 数量。当集群负载较低时,您的作业可以动态扩展以利用更多 GPU。AdaptDL 提供了一个易于使用的 API,使现有的 PyTorch 训练代码具有弹性和自适应批量大小和学习率。展示:分布式训练和数据加载

分布式训练

使用 ONNX Runtime 加速 PyTorch 大型模型训练:只需添加一行代码!
Natalie Kershaw

随着深度学习模型,尤其是 Transformer 模型变得越来越大,减少训练时间变得既是财务上的当务之急,也是环境上的当务之急。ONNX Runtime 可以通过一行代码更改(除了导入语句 ;-))加速 PyTorch Transformer 模型的大规模分布式训练。添加 DeepSpeed 库可以进一步提高训练速度。借助新的 ORTModule API,您可以包装现有的 torch.nn.Module,并让我们自动执行以下操作:将模型导出为 ONNX 计算图;使用 ONNX Runtime 编译和优化它;并将其集成到您现有的训练脚本中。在这张海报中,我们演示了如何在 Azure Machine Learning 云服务中的多 GPU 集群上微调流行的 HuggingFace 模型,并展示性能改进。

https://aka.ms/pytorchort

分布式训练

PyTorch/XLA 与新的 Cloud TPU VM 和 Profiler
Jack Cao, Daniel Sohn, Zak Stone, Shauheen Zahirazami

PyTorch / XLA 使​​用户能够在 XLA 设备(包括 Cloud TPU)上训练 PyTorch 模型。Cloud TPU VM 现在可以直接访问 TPU 主机,因此除了使调试更容易和减少数据传输开销之外,还提供了更大的灵活性。PyTorch / XLA 现在完全支持这种新架构。还开发了一个新的分析工具,以实现对 PyTorch / XLA 的更好分析。这些改进不仅使模型的开发变得更加容易,而且还降低了 Cloud TPU 上大规模 PyTorch / XLA 训练运行的成本。

http://goo.gle/pt-xla-tpuvm-signup

分布式训练

PyTorch Lightning:无需样板代码的深度学习
Ari Bornstein

PyTorch Lightning 减少了实施最先进 AI 所需的工程样板代码和资源。使用 Lightning 组织 PyTorch 代码可以实现多 GPU、TPU、CPU 上的无缝训练,以及使用难以实施的最佳实践,例如模型分片、16 位精度等,而无需任何代码更改。在这张海报中,我们将使用实际的 Lightning 示例来演示如何使用更少的样板代码训练深度学习模型。

https://www.pytorchlightning.ai/

前端 & 实验管理器

使用 Intel BF16 技术通过 IPEX 和 oneDNN 加速 PyTorch
Jiong Gong, Nikita Shustrov, Eikan Wang, Jianhui Li, Vitaly Fedyunin

Intel 和 Facebook 合作在 PyTorch 中启用了 BF16(一种一流的数据类型),以及一种通过第 3 代 Intel® Xeon® 可扩展处理器原生加速的数据类型。这张海报介绍了在 PyTorch 之上和 oneAPI DNN 库中为易用性和 CPU 上高性能 BF16 DL 计算而添加的最新 SW 进展。借助这些 SW 进展,我们展示了易于使用的 IPEX 用户界面 API,并且我们还展示了 IPEX BF16 训练相对于使用原生 PyTorch 的 FP32 具有 1.55 倍-2.42 倍的速度提升,以及 IPEX BF16 推理相对于使用原生 PyTorch 的 FP32 具有 1.40 倍-4.26 倍的速度提升。

https://github.com/intel/intel-extension-for-pytorch

前端 & 实验管理器

TorchStudio,一款基于 PyTorch 的机器学习工作室软件
Robin Lobel

TorchStudio 是一款基于 PyTorch 和 LibTorch 的独立软件。它旨在简化 PyTorch 模型的创建、训练和迭代。它可以在 Windows、Ubuntu 和 macOS 上本地运行。它可以加载、分析和探索来自 TorchVision 或 TorchAudio 类别的 PyTorch 数据集,或具有任意数量输入和输出的自定义数据集。然后可以加载和从头开始编写 PyTorch 模型,使用本地硬件进行分析和训练。可以同时运行和比较训练,以识别性能最佳的模型,并将它们导出为经过训练的 TorchScript 或 ONNX 模型。

https://torchstudio.ai/

前端 & 实验管理器

Hydra Framework
Jieru Hu, Omry Yadan

Hydra 是一个开源框架,用于配置和启动研究 Python 应用程序。主要功能:- 动态组合和覆盖您的配置,以获得每次运行的完美配置 - 无需代码更改即可在 SLURM 和 AWS 等远程集群上运行 - 无需代码更改即可执行基本贪婪搜索和超参数优化 - 动态配置的命令行选项卡补全等等。

前端 & 实验管理器

PyTorch-Ignite:让常见的训练变得容易,让困难的训练成为可能
Victor Fomin, Sylvain Desroziers, Taras Savchyn

这张海报旨在简要但具有启发意义地概述 PyTorch-Ignite 可以为深度学习爱好者、专业人士和研究人员提供什么。与 PyTorch 遵循相同的理念,PyTorch-Ignite 旨在保持简单、灵活和可扩展,但同时又具有高性能和可扩展性。在整张海报中,我们将介绍 PyTorch-Ignite 的基本概念、其 API 及其提供的功能。我们还假设读者熟悉 PyTorch。

前端 & 实验管理器

Farabio - 用于生物医学影像的深度学习工具包
Sanzhar Askaruly, Nurbolat Aimakov, Alisher Iskakov, Hyewon Cho

深度学习最近改变了工业管道的许多方面。从事生物医学影像研究的科学家也受益于 AI 的力量来应对复杂的挑战。尽管学术界已广泛接受图像处理工具,例如 scikit-image、ImageJ,但仍然需要一种将深度学习集成到生物医学图像分析中的工具。我们提出了一个基于 PyTorch 的最小但方便的 Python 包,其中包含常用的深度学习模型,并通过灵活的训练器和医学数据集进行扩展。

https://github.com/tuttelikz/farabio

医学与医疗保健

MONAI:一个用于医疗保健影像的领域专用库
Michael Zephyr, Prerna Dogra Richard Brown, Wenqi Li, Eric Kerfoot

放射学和病理学的医疗保健图像分析越来越多地通过基于深度学习的解决方案来解决。这些应用程序具有支持各种影像模态的特定要求,例如 MR、CT、超声、数字病理学等。该领域的研​​究人员需要付出巨大的努力来开发自定义功能以处理这些要求。因此,出现了重复劳动,结果,研究人员拥有不兼容的工具,这使得协作变得困难。MONAI 代表 Medical Open Network for AI(医疗 AI 开放网络)。其使命是通过提供领域专业的构建块和通用基础,让社区在原生的 PyTorch 范式中融合,从而加速医疗保健影像解决方案的开发。

https://monai.io/

医学与医疗保健

theator 如何构建持续训练框架以扩展其外科智能平台
Shai Brown, Daniel Neimark, Maya Zohar, Omri Bar, Dotan Asselmann

Theator 正在通过外科智能平台重新构想外科手术,该平台利用高度先进的 AI(特别是机器学习和计算机视觉技术)来分析外科手术的每一步、事件、里程碑和关键节点。我们的平台分析冗长的外科手术视频并提取有意义的信息,为外科医生提供手术关键时刻的精彩片段,并通过注释进行增强。随着团队的扩展,我们意识到我们花费了太多时间手动运行模型训练并专注于 DevOps 任务,而没有足够的时间专注于核心研究。为了应对这种情况,我们构建了一个自动化框架,该框架由使用 PyTorch 和 ClearML 的多个训练管道组成。我们的框架自动化和管理我们的整个流程,从模型开发到部署再到持续训练以改进模型。现在可以立即处理新数据并将其直接馈送到训练管道中——加快工作流程、最大限度地减少人为错误,并为我们的研究团队腾出更多时间来处理更重要的任务。因此,使我们能够扩展我们的 ML 运营并为我们的最终用户提供更好的模型。

医学与医疗保健

Q&Aid:由 PyTorch 驱动的对话代理
Cebere Bogdan, Cebere Tudor, Manolache Andrei, Horia Paul-Ion

我们介绍了 Q&Aid,这是一个对话代理,它依靠一系列机器学习模型来过滤、标记和回答基于提供的图像和文本输入的医疗问题。Q&Aid 通过将其标准化为健康智能提供商 (HIP) 来简化医院逻辑后端。HIP 是在本地数据上训练的模型集合,这些模型接收文本和视觉输入,然后在之后过滤、标记并将数据馈送到正确的模型,并在最后为聚合器生成输出。任何医院都被识别为 HIP,根据其知识持有自定义模型和标签。医院正在训练和微调他们的模型,例如视觉问答 (VQA) 模型,使用私人数据(例如脑异常分割)。我们将医院可以提供的所有任务聚合到一个聊天应用程序中,向用户提供结果。当聊天结束时,抄本将转发到每家医院,由医生负责最终决定。

https://qrgo.page.link/d1fQk

医学与医疗保健

Sleepbot:用于医院和家庭的多信号睡眠分期分类器 AI
Jaden Hong, Kevin Tran, Tyler Lee, Paul Lee, Freddie Cha, Louis Jung, Dr. Jung Kyung Hong, Dr. In-Young Yoon, David Lee

睡眠障碍和失眠现在被认为是世界性问题。全球约 62% 的成年人感觉他们睡不好。然而,睡眠很难追踪,因此不容易获得合适的治疗来改善您的睡眠质量。目前,PSG(多导睡眠图)是唯一准确评估睡眠质量的方法,但它很昂贵,并且由于第一晚效应而常常不准确。我们提出了一种用于非接触式睡眠追踪的多信号睡眠分期分类器:Sleepbot。通过自动化手动 PSG 读数并提供可解释的分析,Sleepbot 为在家中和医院应用睡眠分期 AI 开辟了新的可能性。借助智能手机应用程序记录的声音和 Asleep 的非接触式睡眠追踪器测量的 RF 感应信号,Sleepbot 提供了临床级别的睡眠分期分类。Sleepbot 在使用从 3,700 名受试者测量的 PSG 信号的 5 类(清醒、N1、N2、N3、快速眼动)中实现了 85.5% 的准确率,在使用仅从 12,000 名受试者测量的声音数据的 3 类(清醒、睡眠、快速眼动)分类中实现了 77% 的准确率。

医学与医疗保健

PyMDE:最小失真嵌入
Akshay Agrawal, Alnur Ali, Stephen Boyd

我们提出了向量嵌入问题的一个统一框架:给定一组项目以及它们之间的一些已知关系,我们寻求用向量表示这些项目,可能受某些约束(例如,要求向量具有零均值和单位协方差)。我们希望与相似项目关联的向量彼此靠近,而与不相似项目关联的向量不要靠近,以欧几里得距离衡量。我们通过引入失真函数来形式化这一点,失真函数是为某些项目对定义的。我们的目标是选择一个嵌入,使其在满足约束条件的情况下,总失真最小化。我们称之为最小失真嵌入 (MDE) 问题。MDE 框架概括了许多著名的嵌入方法,例如 PCA、拉普拉斯特征图、多维尺度分析、UMAP 等,并且还包括新型嵌入。我们随附的软件库 PyMDE 使​​用户可以轻松指定和近似解决 MDE 问题,从而可以试验著名的和自定义的嵌入。通过利用自动微分和通过 PyTorch 进行硬件加速,我们能够扩展到非常大的嵌入问题。我们将展示嵌入真实数据集的示例,包括学术合著者网络、单细胞 mRNA 转录组、美国人口普查数据和群体遗传学。

医学与医疗保健

TorchIO:用于深度学习应用的医学图像预处理和增强
Fernando Pérez-García, Rachel Sparks, Sébastien Ourselin

与计算机视觉中常用的 RGB 图像相比,MRI 或 CT 等医学图像的处理提出了独特的挑战。这些挑战包括大型数据集缺乏标签、高计算成本以及描述体素物理特性的元数据。数据增强用于人为地增加训练数据集的大小。使用图像块进行训练减少了对计算能力的需求。为了确保体数据的正确对齐,需要仔细考虑空间元数据。我们推出了 TorchIO,这是一个开源 Python 库,旨在为深度学习高效加载、预处理、增强和基于图像块的医学图像采样。TorchIO 遵循 PyTorch 的风格,并集成了标准的医学图像处理库,以便在神经网络训练期间高效地处理图像。TorchIO 变换可以组合、重现、追踪和扩展。我们提供了多种通用的预处理和增强操作,以及 MRI 特定伪影的模拟。TorchIO 的开发旨在帮助研究人员标准化医学图像处理流程,使他们能够专注于深度学习实验。它鼓励开放科学,因为它支持可重复性,并且受到版本控制,因此可以精确引用该软件。由于其模块化,该库与其他医学图像深度学习框架兼容。

医学与医疗保健

基于深度学习的模型预测 Covid19 患者入院时的预后
Laila Rasmy, Ziqian Xie, Degui Zhi

随着电子病历的广泛使用和历史患者信息的可用性,能够根据患者早期病史识别高危患者的预测模型,可以成为临床医生判断的宝贵辅助手段。深度学习模型可以通过分析患者的病史来更好地预测患者的预后,而无需考虑数据的长度和复杂性。我们使用了我们的 Pytorch_EHR 框架来训练一个模型,该模型可以预测 COVID-19 患者入院时的健康预后。我们使用了 Cerner 真实世界 COVID-19 (Q2) 队列,其中包括来自 62 个医疗系统的 117,496 名 COVID 患者的信息。我们使用了 55,068 名患者的队列,并将我们的预后定义为二元结果,包括死亡率、插管和住院时间超过 3 天。我们将模型输入所有在首次 COVID-19 就诊入院日期之前或当天可用的诊断、药物、实验室结果和其他临床事件信息。为了方便和实用性,我们将数据预处理保持在最低限度,依靠嵌入层从大型训练集中学习特征表示。与逻辑回归 (LR) 等其他基线机器学习模型相比,我们的模型显示出改进的性能。对于院内死亡率,我们的模型在院内死亡率、插管和住院时间超过 3 天的 AUROC 分别为 89.5%、90.6% 和 84.3%,而 LR 的 AUROC 分别为 82.8%、83.2% 和 76.8%。

https://github.com/ZhiGroup/pytorch_ehr

医学与医疗保健

使用 TorchScript 和 Inferentia 推出 Transformers
Binghui Ouyang, Alexander O’Connor

虽然 Transformers 在 NLP 应用程序的准确性和易开发性方面带来了前所未有的改进,但由于模型体积庞大且计算复杂,它们的部署仍然具有挑战性。事实上,直到最近,还普遍存在一个误解,即托管高性能的基于 Transformer 的模型成本高昂且技术上具有挑战性。幸运的是,PyTorch 生态系统和用于推理的定制硬件的最新进展创造了一个世界,在这个世界中,模型可以以经济高效、可扩展的方式部署,而无需复杂的工程。在本次演示中,我们将讨论使用 PyTorch 和 AWS Inferentia 在聊天机器人意图分类中部署生产规模模型——这是一个特别相关且要求苛刻的场景。Autodesk 部署了许多基于 Transformer 的模型来解决我们各个渠道的客户支持问题,我们提供灵活、高质量的机器学习解决方案的能力得益于利用 Transformer 基础分类等尖端技术。我们的聊天机器人 AVA 每月响应数万次客户互动,我们正在改进我们的架构以支持客户推理。我们将讨论我们试点基于 Transformer 的意图模型的经验,并介绍一个从数据到部署类似项目的工作流程。

NLP & 多模态, RL & 时间序列

PyTorchTS:PyTorch 概率时间序列预测框架
Kashif Rasul

PyTorchTS 是一个基于 PyTorch 的概率时间序列预测框架,它配备了最先进的单变量和多变量模型。

https://github.com/zalandoresearch/pytorch-ts

NLP & 多模态, RL & 时间序列

MMF:用于多模态研究的模块化框架
Sasha Sheng, Amanpreet Singh

MMF 从头开始设计,旨在通过为分布式训练、常用数据集和开箱即用的最先进预训练基线提供样板代码,让您专注于最重要的事情——您的模型。MMF 构建于 PyTorch 之上,将 PyTorch 的所有强大功能都掌握在您手中。MMF 不是强加己见的。因此,您可以在这里使用您所有的 PyTorch 知识。MMF 的创建旨在易于扩展和组合。通过我们的模块化设计,您可以使用 MMF 中您关心的特定组件。我们的配置系统使 MMF 能够轻松适应您的需求。

NLP & 多模态, RL & 时间序列

AllenNLP:用于开发最先进模型的 NLP 研究库
Dirk Groeneveld, Akshita Bhagia, Pete Walsh, Michael Schmitz

一个 Apache 2.0 NLP 研究库,构建于 PyTorch 之上,用于在各种语言任务上开发最先进的深度学习模型。

https://github.com/allenai/allennlp

NLP & 多模态, RL & 时间序列

Tubi 的 Spock 项目:使用深度学习进行 NLP 的内容理解
John Trenkle, Jaya Kawale & Tubi ML 团队

Tubi 是领先的平台之一,为全球观众提供免费的高质量流媒体电影和电视节目。我们采用数据驱动的方法,并利用 PyTorch 的先进机器学习技术来增强我们的平台和业务。AVOD 的三大支柱是我们工作的指导原则。这些支柱是内容:我们在库中维护的所有标题;受众:每个在 Tubi 上观看标题的人;广告:代表品牌向观众展示的广告。在本海报中,我们将重点关注内容方面,并详细介绍各种用例,尤其是内容理解。内容是 Tubi 的重要支柱,因为为了取得成功,我们需要关注现有标题以及我们已经拥有的内容,并尝试了解所有野外的标题以及它们如何以某种方式使我们的平台受益。内容理解围绕着消化丰富的结构化(元数据)和非结构化(文本)形式的第一方和第三方数据,并开发捕捉这些标题本质的表示形式。用线性代数的类比来说,我们可以说我们试图将标题向量从宇宙投影到我们的 tubiverse,并尽可能忠实,以便确定每个目标用例的潜在价值。我们将介绍几种使用 Pytorch 更好地理解内容的技术。

NLP & 多模态, RL & 时间序列

基于 RL 的深度神经网络性能优化
Benoit Steiner, Chris Cummins, Horace He, Hugh Leather

随着机器学习技术的普及,神经网络的高效执行对于许多应用至关重要。Halide 和 TVM 等框架将深度学习模型的算法表示与确定其实现的调度分离开来。然而,找到好的调度仍然极具挑战性。自动调优方法搜索有效调度的空间,并在硬件上执行每个候选调度,从而识别出一些性能最佳的调度,但搜索可能需要数小时,从而阻碍了深度学习从业人员的生产力。我们需要的是一种无需大量搜索即可实现类似性能的方法,从而快速提供所需的效率。使用 PyTorch,我们将调度过程建模为一系列优化选择,并实现一种新技术,通过 LSTM 和精心设计的特征(描述每个 DNN 运算符及其当前的调度选择)来准确预测部分调度的预期性能。利用这些预测,我们能够贪婪地做出这些优化决策,并且无需在目标硬件上执行任何操作,即可快速识别高效的调度。这项技术能够找到将深度神经网络的执行性能提高 2.6 倍(超过 Halide)和 1.5 倍(超过 TVM)的调度。此外,我们的技术在几秒钟内即可完成,而不是数小时,从而可以将其作为 PyTorch 本身的新后端包含在内。

http://facebook.ai

NLP & 多模态, RL & 时间序列

用于可组合 NLP 的以数据为中心的框架
Zhenghong Liu

Forte 是一个开源工具包,用于通过组合最先进的 NLP 和 ML 技术来构建自然语言处理工作流程。该工具包具有可组合的管道、跨任务交互、可适应的数据模型接口。高度可组合的设计允许用户通过组合现有工具包或定制的 PyTorch 模型来构建各种任务的复杂 NLP 管道,包括文档检索、信息提取和文本生成。跨任务交互能力允许开发人员利用来自各个任务的结果来做出明智的决策。数据模型接口通过抽象出领域和预处理细节,帮助开发人员专注于构建可重用的 PyTorch 模型。我们表明,Forte 可用于构建复杂的管道,并且生成的管道可以轻松地适应不同的领域和任务,只需对代码进行少量更改。

https://github.com/asyml/forte

NLP & 多模态, RL & 时间序列

多任务强化学习的环境和基线
Shagun Sodhani, Amy Zhang, Ludovic Denoyer, Pierre-Alexandre Kamienny, Olivier Delalleau

多任务 RL 代码库中的两个关键组件是 (i) 多任务 RL 算法和 (ii) 多任务 RL 环境。我们为这两个组件开发了开源库。[MTRL](https://github.com/facebookresearch/mtrl) 提供了实现多任务 RL 算法的组件,而 [MTEnv](https://github.com/facebookresearch/mtenv) 是一个与现有多任务 RL 环境交互并创建新环境的库。MTRL 有两个构建块:(i) 单任务策略和 (ii) 增强多任务设置单任务策略的组件。理想的工作流程是从基本策略开始,并根据需要添加多任务组件。MTRL 启用了 GradNorm、Distral、HiPBMDP、PCGrad、Soft Modularization 等算法。MTEnv 旨在标准化多任务 RL 环境并提供更好的基准。我们扩展了 Gym API 以支持多任务,并遵循两个指导原则:(i) 对 Gym 接口进行最小的更改(社区非常熟悉 Gym 接口)和 (ii) 轻松将现有环境移植到 MTEnv。此外,我们还提供了一系列常用的多任务 RL 环境(Acrobot、Cartpole、DeepMind Control Suite 的多任务变体、Meta-World、Multi-armed Bandit 等)。RL 从业人员可以将自己的环境与 MTEnv 包装器结合使用,只需少量代码更改即可添加多任务支持。MTRL 和 MTEnv 在 FAIR 的多项正在进行/已发表的工作中使用。

http://qr.w69b.com/g/tGZSFw33G

NLP & 多模态, RL & 时间序列

Hugging Face 生态系统
Lysandre Debut, Sylvain Gugger, Quentin Lhoest 

迁移学习已成为在 NLP 中获得最先进结果的规范。Hugging Face 为您提供工具,帮助您完成每一步:- 一个基于 git 的免费共享中心,拥有超过 7,500 个 PyTorch 检查点和超过 800 个 NLP 数据集。- ? Datasets 库,用于轻松下载数据集、操作和准备数据集。- ? Tokenizers 库,提供由 Rust 支持的超快速分词器,并将文本转换为 PyTorch 张量。- ? Transformers 库,提供超过 45 个 Transformer 架构的 PyTorch 实现,作为简单的 nn.Module 以及训练 API。- ? Accelerate 库,一个非侵入式的 API,允许您在任何分布式设置上运行原始训练循环。然后,管道只是一个六步过程:从中心选择一个预训练模型,使用 Datasets 处理数据,使用 Tokenizers 对文本进行分词,使用 Transformers 加载模型,使用 Trainer 或由 Accelerate 支持的您自己的循环对其进行训练,然后在中心与社区分享您的结果。

https://hugging-face.cn/models

NLP & 多模态, RL & 时间序列

 Asteroid:研究人员的基于 Pytorch 的音频源分离工具包
Manuel Pariente, Samuele Cornell, Jonas Haag, Joris Cosentino, Michel Olvera, Fabian-Robert Stöter, Efthymios Tzinis

Asteroid 是一个使用 PyTorch 和 PyTorch-Lightning 构建的音频源分离工具包。受最成功的神经源分离系统的启发,它提供了构建此类系统所需的所有神经构建块。为了提高可重复性,提供了关于常见音频源分离数据集的配方,包括从数据下载/准备到训练再到评估的所有步骤,以及许多当前最先进的 DNN 模型。Asteroid 向用户公开了从简单层到完整即用型模型的所有粒度级别。我们的预训练模型托管在 Zenodo 的 asteroid-models 社区和 Huggingface 模型中心。加载和使用预训练模型非常简单,使用 Asteroid 的 CLI 也很容易共享它们。","poster_showcase":"音频源分离、语音处理、深度学习","email":"cornellsamuele@gmail.com"}

https://asteroid-team.github.io/

NLP & 多模态, RL & 时间序列

rlstructures:用于强化学习研究的轻量级 Python 库
Ludovic Denoyer, Danielle Rothermel, Xavier Martinet

RLStructures 是一个轻量级 Python 库,它提供简单的 API 和数据结构,这些数据结构对您的代理或任务的结构做出尽可能少的假设,同时允许在多个环境(包括多个 GPU)中并行透明地执行多个策略。因此,它简化了 RL 算法的实现,同时避免了复杂的抽象。

NLP & 多模态, RL & 时间序列

MBRL-Lib:用于基于模型的强化学习研究的 PyTorch 工具箱
Luis Pineda, Brandon Amos, Amy Zhang, Nathan O. Lambert, Roberto Calandra

基于模型的强化学习 (MBRL) 是一个活跃的研究领域,具有巨大的潜力。与无模型 RL 相比,MBRL 算法通过学习任务动态的预测模型来解决任务,并使用该模型来预测未来并促进决策。许多研究人员认为,MBRL 可以降低样本复杂性、更好地泛化,以及更安全、更可解释的决策。然而,尽管 MBRL 日益普及且潜力巨大,但目前尚无广泛接受的库来促进该领域的研究。由于 MBRL 方法通常涉及概率集成、潜在变量模型、规划算法甚至无模型方法等复杂组件的相互作用,因此缺乏此类库提高了该领域的入门门槛并减缓了研究工作。在这项工作中,我们旨在通过引入 MBRL-Lib 来解决这个问题,MBRL-Lib 是一个专门为促进基于模型的强化学习研究而设计的模块化 PyTorch 工具箱。MBRL-Lib 为训练动力学模型和运行规划算法提供了可互换的选项,然后可以混合搭配使用以创建新的 MBRL 方法。该库还提供了一组实用程序函数来运行常见的 MBRL 任务,以及一组诊断工具来识别训练动力学模型和控制算法时可能出现的问题。

https://github.com/facebookresearch/mbrl-lib

NLP & 多模态, RL & 时间序列

推出新的 PyTorch Profiler
Geeta Chauhan, Gisle Dankel, Elena Neroslavaskaya

分析和改进大型深度学习模型性能是一项持续的挑战,随着模型尺寸的增加,这项挑战变得越来越重要。Microsoft 和 Facebook 合作创建了一个名为 PyTorch Profiler 的原生 PyTorch 性能调试工具。Profiler 基于 PyTorch autograd profiler 基础构建,添加了一个新的高保真 GPU 分析引擎,以及 Tensorboard 中的开箱即用瓶颈分析工具。新的 Profiler 提供了迄今为止最简单的体验,用户无需安装任何额外的软件包即可分析他们的模型,并在 Tensorboard 中立即看到结果。直到今天,PyTorch 的初学者用户可能由于任务的复杂性而没有尝试分析他们的模型。借助新的瓶颈分析工具,他们会发现分析变得容易且易于访问。经验丰富的用户会对详细的跟踪视图感到高兴,这些视图说明了 GPU 内核执行事件及其与 PyTorch 操作的关系。快来了解如何使用这个令人愉悦的简单新工具来分析您的 PyTorch 模型。

https://pytorch.ac.cn/blog/introducing-pytorch-profiler-the-new-and-improved-performance-tool

性能和 Profiler

TRTorch:一个针对 NVIDIA GPU 并使用 TensorRT 的 TorchScript 编译器
Naren Dasan

对于机器学习模型的实验和开发,很少有工具能像 PyTorch 那样平易近人。然而,当从研究转向生产时,PyTorch 的一些使开发变得出色的功能使其难以部署。随着 TorchScript 的推出,PyTorch 拥有可靠的工具来解决部署 PyTorch 模型的一些问题。TorchScript 消除了对 Python 的依赖,并生成了代码和权重的可移植、自包含、静态表示。但除了可移植性之外,用户还希望优化部署中的性能。在 NVIDIA GPU 上部署时,NVIDIA 的深度学习优化器 TensorRT 提供了通过调整模型在特定目标硬件上的执行来最大化工作负载性能的功能。TensorRT 还提供了通过混合精度和降低精度执行以及训练后量化 (PTQ) 进行进一步优化的工具。我们推出了 TRTorch,一个针对 NVIDIA GPU 的 PyTorch 和 TorchScript 编译器,它结合了 PyTorch 的可用性和 TensorRT 的性能,并允许用户在不离开 PyTorch 生态系统的情况下完全优化他们的推理工作负载。它还通过利用常见的 PyTorch 工具简化了执行 PTQ 等复杂优化的过程。TRTorch 可以直接从 PyTorch 用作 TorchScript 后端,嵌入到应用程序中或从命令行使用,以轻松提高推理应用程序的性能。

https://nvidia.github.io/TRTorch/

性能和 Profiler

WeightWatcher:DNN 的诊断工具
Charles H. Martin

WeightWatcher (WW) 是一个开源诊断工具,用于分析深度神经网络 (DNN),而无需访问训练数据甚至测试数据。它可用于:分析预训练/已训练的 pyTorch 模型;检查难以训练的模型;评估模型性能的改进;预测不同模型的测试精度;以及检测压缩或微调预训练模型时可能出现的问题。WeightWatcher 基于理论研究(与加州大学伯克利分校联合完成),使用来自随机矩阵理论 (RMT)、统计力学和强相关系统的思想来研究“为什么深度学习有效”。

性能和 Profiler

通过参数化在 PyTorch 1.9 中进行约束优化
Mario Lezcano-Casado

“本海报介绍了将在 PyTorch 1.9.0 中添加的“参数化”功能。此功能允许简单地实现剪枝、weight_normalization 或 spectral_normalization 等方法。更一般地,它实现了一种拥有“计算参数”的方式。这意味着我们将层中的参数“weight”替换为“f(weight)”,其中“f”是任意模块。换句话说,在“layer.weight”上放置参数化“f”后,“layer.weight”将返回“f(weight)”。它们实现了一个缓存系统,因此值“f(weight)”在正向传递期间仅计算一次。实现参数化的模块也可能具有“right_inverse”方法。如果此方法存在,则可以分配给参数化张量。这在初始化参数化张量时很有用。此功能可以看作是迈向可逆模块的第一步。特别是,它也可能有助于使分布成为 PyTorch 中的一等公民。参数化还允许简单地实现约束优化。从这个角度来看,参数化将无约束张量映射到约束空间,例如正交矩阵、SPD 矩阵、低秩矩阵的空间... 这种方法在库 GeoTorch (https://github.com/Lezcano/geotorch/) 中实现。”

性能和 Profiler

使用 Ray 的分布式 Pytorch
Richard Liaw, Kai Fricke, Amog Kamsetty, Michael Galarnyk

Ray 是一个流行的分布式 Python 框架,可以与 PyTorch 配对以快速扩展机器学习应用程序。Ray 包含一个庞大的应用程序和库生态系统,这些应用程序和库利用并集成了 Pytorch。这包括 Ray Tune,一个用于在任何规模下执行实验和超参数调优的 Python 库;RLlib,一个用于强化学习的最先进的库;以及 Ray Serve,一个用于可扩展模型服务的库。Ray 和 Pytorch 共同成为下一代生产机器学习平台的核心基础。

https://ray.io/

平台和运维及工具

Avalanche:一个基于 PyTorch 的端到端持续学习库
Vincenzo Lomonaco, Lorenzo Pellegrini Andrea Cossu, Antonio Carta, Gabriele Graffieti

从非平稳数据流中持续学习是机器学习研究的长期目标。最近,我们目睹了人们对持续学习的重新燃起和快速增长的兴趣,尤其是在深度学习社区中。然而,算法解决方案通常难以重新实现、评估和跨不同设置移植,即使是标准基准上的结果也难以重现。在这项工作中,我们提出了一个基于 PyTorch 的开源端到端持续学习库,该库可以为快速原型设计、训练和持续学习算法的可重复评估提供共享和协作的代码库。

https://avalanche.continualai.org

平台和运维及工具

IBM Z 和 LinuxONE (s390x) 上的 PyTorch
Hong Xu

IBM Z 是一个用于任务关键型应用程序(如金融和健康应用程序)的硬件产品线。它采用自己的 CPU 架构,PyTorch 不正式支持该架构。在本海报中,我们将讨论为什么在 Z 上支持 PyTorch 很重要。然后,我们将展示我们为 IBM Z 预构建的最小 PyTorch 软件包。最后,我们将展示我们持续致力于在 IBM Z 上提供更多 PyTorch 功能。

https://codait.github.io/pytorch-on-z

平台和运维及工具

研发 MLOps 的基础知识:编排、自动化、可重复性
Dr. Ariel Biller

从理智角度和生产力角度来看,数据科学家、ML 工程师、研究生和其他面向研究的角色都开始采用生产级 MLOps 的最佳实践。然而,大多数工具链都带有额外的代码和维护的高昂代价,这减少了可用于研发的实际时间。我们将展示使用 ClearML(开源 MLOps 解决方案)的替代方法。在这张“最佳实践”海报中,我们将概述研发-MLOP 的“必备”:编排、自动化和可重复性。这些通过神奇的可重复设置,甚至定制的、可重用的、自下而上的管道,实现了轻松的远程执行。我们将以一个简单的示例为例,并示意性地将其从“从 GitHub 下载”阶段转换为完全成熟的、可扩展的、版本控制的、可参数化的研发管道。我们将衡量代码库需要更改的次数,并提供真实低成本集成的证据。所有代码、日志和指标都将作为支持信息提供。

平台和运维及工具

FairTorch:致力于减轻机器学习模型的不公平性
Masashi Sode, Akihiko Fukuchi, Yoki Yabe, Yasufumi Nakata

您的机器学习模型是否足够公平,可以在您的系统中使用?如果招聘 AI 在性别和种族方面存在歧视怎么办?如果医学 AI 的准确性取决于个人的年收入或使用该 AI 的国家的 GDP 怎么办?今天的 AI 有可能导致此类问题。近年来,机器学习中的公平性受到了越来越多的关注。如果当前用于决策的机器学习模型可能导致不公平的歧视,那么开发公平的机器学习模型是医学、就业和政治等许多领域的重要目标。尽管这个目标对社会至关重要,但截至 2020 年,还没有将公平性纳入机器学习模型的 PyTorch¹ 项目。为了解决这个问题,我们在 2020 年 PyTorch 夏季黑客马拉松上创建了 FairTorch。FairTorch 提供了一种工具来减轻机器学习模型的不公平性。我们工具的一个独特之处在于,它允许您通过仅添加几行代码,使用库中提供的公平性标准,为您的模型添加公平性约束。

https://github.com/wbawakate/fairtorch

平台和运维及工具

TorchDrift:PyTorch 的漂移检测
Thomas Viehmann, Luca Antiga

当机器学习模型部署来解决给定任务时,一个关键问题是它们是否真的能够按预期执行。TorchDrift 解决了答案的一个方面,即漂移检测,或通过我们的模型流动的信息(在输入、输出或中间某处探测)是否仍然与其训练和评估时的信息一致。简而言之,TorchDrift 旨在插入 PyTorch 模型中,并检查它们是否在规范范围内运行。TorchDrift 的原则将 PyTorch 的座右铭“从研究到生产”应用于漂移检测:我们提供了一个方法库,可以用作漂移检测研究的基线或构建块,并为在生产中部署 PyTorch 模型的从业人员提供最新的方法和教育材料,以构建必要的统计背景。在这里,我们通过一个示例介绍 TorchDrift,该示例说明了底层的双样本检验。我们展示了如何将 TorchDrift 集成到 TorchServe 或 RedisAI 等高性能运行时中,从而借助 PyTorch JIT 在现实世界的应用程序中实现漂移检测。

https://torchdrift.org/

平台和运维及工具

Ouroboros:用于自动驾驶的 MLOps
Quincy Chen, Arjun Bhargava, Sudeep Pillai, Marcus Pan, Chao Fang, Chris Ochoa, Adrien Gaidon, Kuan-Hui Lee, Wolfram Burgard

用于自动驾驶汽车的现代机器学习需要与标准软件持续集成/持续部署对应物根本不同的基础设施和生产生命周期。在丰田研究所 (TRI),我们开发了 Ouroboros——一个现代 ML 平台,支持交付给 TRI 自动驾驶车队的所有 ML 模型的端到端生命周期。我们设想交付给我们车队的所有 ML 模型都经过系统且严格的处理。Ouroboros 提供了几个基本功能,包括:a. ML 数据集治理和基础设施即代码,确保程序化生成并交付给 TRI 车队的所有 ML 数据集和模型的可追溯性、可重复性、标准化和公平性。b. 统一的 ML 数据集和模型管理:用于 ML 数据集管理、标签管理和模型开发的统一和简化的工作流程,支持当今交付给 TRI 车队的几个关键 ML 模型 c. 用于自动驾驶的大规模多任务、多模态数据集,支持当今各种模型的开发,包括 3D 对象检测、2D 对象检测、2D BeVFlow、全景分割;d. 编排的 ML 工作流程,以建立可扩展的 ML 应用程序,例如一键式重新训练解决方案、ML CI/CD 管道、数据集管理工作流程、自动标记管道,利用最新的可用云工具。贯穿它们的生命周期,确保对构建可重用、可重现、稳健、可追溯和公平的 ML 模型以用于生产驾驶环境的强大治理。通过遵循最佳 MLOps 实践,我们期望我们的平台为我们自动驾驶车队的持续终身学习奠定基础,并加速从研究到生产的过渡。

https://github.com/TRI-ML

平台和运维及工具

carefree-learn: Tabular Datasets ❤️ PyTorch
Yujian He

carefree-learn 让熟悉机器学习但不一定熟悉 PyTorch 的人们能够轻松使用 PyTorch。通过在底层实现所有预处理和后处理,用户可以专注于使用 PyTorch 实现核心机器学习算法/模型,并在各种数据集上进行测试。通过精心设计的整体结构,用户可以轻松自定义整个流程中的每个模块,也可以“组合”已实现的模块来“构建”新模型,而无需费力。通过精心制作的抽象,用户可以将其适应其特定的下游任务,例如量化交易(实际上,我已经为我的公司实现了一个,并且效果很好 XD)。carefree-learn 仔细处理分布式训练,因此用户可以同时运行多个任务,也可以在一行代码中使用 DDP 运行大型模型。carefree-learn 还与 mlflow 集成并支持导出到 ONNX,这意味着它在某种程度上已准备好用于生产。

平台和运维及工具

OpenMMLab:面向计算机视觉的开源算法平台
Wenwei Zhang

OpenMMLab 项目构建用于人工智能 (AI) 的开源工具箱。它旨在:1) 提供高质量的代码库,以降低算法重新实现的难度;2) 提供完整的研究平台,以加速研究成果的产出;3) 缩短研究成果到工业应用之间的差距。OpenMMLab 基于 PyTorch 开发了 MMCV,以提供统一的抽象训练 API 和通用工具,作为 15 个以上工具箱和 40 个以上数据集的基础。自 2018 年 10 月首次发布以来,OpenMMLab 已发布 15 个以上工具箱,涵盖 10 多个方向,实现了 100 多个算法,并包含 1000 多个预训练模型。通过与社区更紧密的合作,OpenMMLab 未来将发布更多工具箱,并提供更灵活易用的训练框架。

https://openmmlab.com/

平台和运维及工具

Catalyst – 加速深度学习研发
Sergey Kolesnikov

在过去的三年中,Catalyst-Team 和合作者一直在开发 Catalyst  - 一个用于深度学习研究和开发的高级 PyTorch 框架。它专注于可重复性、快速实验和代码库重用,因此您可以创造新的东西,而不是编写又一个训练循环。您无需样板代码和底层错误即可获得指标、模型检查点、高级日志记录和分布式训练支持。

https://catalyst-team.com

平台和运维及工具

PyTorch 中用于生成模型的高保真性能指标
Anton Obukhov

评估 GAN 等生成模型是深度学习研究的重要组成部分。在 2D 图像生成中,三种方法变得广泛传播:Inception Score、Fréchet Inception Distance 和 Kernel Inception Distance。尽管具有清晰的数学和算法描述,但这些指标最初是在 TensorFlow 中实现的,并继承了框架本身的一些属性,例如插值函数的特定实现。这些设计决策有效地融入了评估协议,并成为指标规范的固有组成部分。因此,希望与生成建模领域的最新技术进行比较的研究人员被迫使用原始指标作者的代码库执行评估。PyTorch 和其他框架中存在指标的重新实现,但它们没有提供适当的保真度水平,因此不适合报告结果并将其与其他方法进行比较。该软件旨在提供上述指标在 PyTorch 中的 epsilon 精确实现,并消除与生成模型评估和开发相关的不便。所有评估流程步骤都经过正确测试,相对误差和剩余非确定性来源在以下部分中进行了总结。TLDR; 在 PyTorch 中快速可靠的 GAN 评估

https://github.com/toshas/torch-fidelity

平台和运维及工具

使用卫星图像识别海洋石油污染
Jona Raphael (jona@skytruth.org), Ben Eggleston, Ryan Covington, Tatianna Evanisko, John Amos

来自船舶的作业性石油排放,也称为“舱底水倾倒”,已被确定为进入我们海洋的主要石油产品来源,即使在短期内考虑,其累积量也超过了最大的石油泄漏事件,例如埃克森·瓦尔迪兹号和深水地平线号泄漏事件。然而,我们仍然没有对以下问题进行良好的估计:● 排放了多少石油;● 排放发生在何处;● 责任船只是谁。这使得预防和有效应对可能破坏我们的海洋和沿海环境以及依赖于这些环境的经济的石油污染变得困难。在本海报中,我们将分享 SkyTruth 最近的工作,即使用机器学习工具来检测石油污染事件,并在可能的情况下识别责任船只。我们使用 ResNet-34 架构中的卷积神经网络 (CNN) 对所有传入的 Sentinel-1 合成孔径雷达 (SAR) 图像执行像素分割,以对油膜进行分类。尽管卫星的海洋覆盖范围不完整,但我们平均每月检测到 135 个船只油膜,并已确定了几个定期发生油性排放的地理热点。对于捕捉到船舶排放石油行为的图像,我们依靠自动识别系统 (AIS) 数据库来提取有关船舶的详细信息,包括船舶类型和船旗国。我们将分享我们的经验:● 从固有的稀疏卫星图像数据集中制作足够的训练数据;● 使用 PyTorch 和 fastai 构建计算机视觉模型;● 在 Amazon Web Services (AWS) 云中完全自动化该过程。该应用程序自 2020 年 8 月以来一直在持续运行,已处理超过 380,000 张 Sentinel-1 图像,并在数据库中填充了超过 1100 个来自船舶的高置信度油膜。我们将讨论来自该数据集的初步结果以及有待克服的剩余挑战。在 https://skytruth.org/bilge-dumping/ 了解更多信息

视觉

UPIT:用于非成对图像到图像转换的 fastai 包
Tanishq Abraham

非成对图像到图像转换算法已用于各种计算机视觉任务,如风格迁移和领域自适应。此类算法非常吸引人,因为它们减轻了收集成对数据集的需求。在本海报中,我们演示了 UPIT,这是一个新颖的 fastai/PyTorch 包(使用 nbdev 构建),用于非成对图像到图像转换。它实现了各种最先进的非成对图像到图像转换算法,如 CycleGAN、DualGAN、UNIT 等。它支持对非成对数据集进行简单的训练和推理。它还附带了常用指标的实现,如 FID、KID 和 LPIPS。它还附带了 Weights-and-Biases 集成,以便轻松进行实验跟踪。由于它建立在 fastai 和 PyTorch 之上,因此它支持混合精度和多 GPU 训练。它非常灵活,也可以使用自定义数据集类型、模型和指标。使用 UPIT,训练和应用非成对图像到图像转换只需几行代码。

https://github.com/tmabraham/UPIT

视觉

PyTorchVideo:用于视频理解的深度学习库
Aaron Adcock, Bo Xiong, Christoph Feichtenhofer, Haoqi Fan, Heng Wang, Kalyan Vasudev Alwala, Matt Feiszli, Tullie Murrell, Wan-Yen Lo, Yanghao Li, Yilei Li, Zhicheng Yan

PyTorchVideo 是 Facebook AI 新推出的用于视频理解研究的深度学习库。它包含各种最先进的预训练视频模型、数据集、增强功能以及用于视频理解的工具。PyTorchVideo 在移动设备上为加速推理提供高效的视频组件。

https://pytorchvideo.org/

视觉

深度学习实现高精度快速密集单分子定位
A. Speiser, L-R. Müller, P. Hoess, U. Matti, C. J. Obara, J. H. Macke, J. Ries, S. C. Turaga

单分子定位显微镜 (SMLM) 在以纳米分辨率成像细胞结构方面取得了显著成功,但仅激活单个孤立发射器的需求限制了成像速度和标记密度。在这里,我们使用深度学习克服了这一主要限制。我们开发了 DECODE,这是一种计算工具,可以在 3D 中以高密度定位单发射器,并在各种成像方式和条件下实现最高的精度。在公共软件基准竞赛中,在比较检测精度和定位误差时,它在 12 个数据集中的 12 个数据集中优于所有其他拟合器,通常优势很大。DECODE 使我们能够在短短 3 秒内获取具有减少光照的活细胞 SMLM 数据,并在超高标记密度下对微管进行成像。DECODE 封装简单,易于安装和使用,将使许多实验室能够减少成像时间并增加 SMLM 中的定位密度。

http://github.com/turagalab/decode

视觉

傅里叶域中鲁棒的可训练 PyTorch 入口卷积层
Abraham Sánchez, Guillermo Mendoza, E. Ulises Moya-Sánchez

我们从皮层 V1 区汲取灵感。我们尝试通过以下方式模仿它们的主要处理特性:四元数局部相位/方向,以计算特定方向的线和边缘检测。我们分析了该层如何通过其几何形状对大的照明和亮度变化具有鲁棒性。

https://gitlab.com/ab.sanchezperez/pytorch-monogenic

视觉

PyroNear:用于早期野火检测的嵌入式深度学习
François-Guillaume Fernandez, Mateo Lostanlen, Sebastien Elmaleh, Bruno Lenzi, Felix Veith, 以及 15 位以上的贡献者

“PyroNear 是一个完全由志愿者组成的非营利组织,成立于 2019 年末。我们的核心信念是,最新的技术发展可以支持人类与其自然栖息地之间的共存。我们致力于为自然灾害防护提供高性能、可访问和经济实惠的技术解决方案。更具体地说,我们的首要工作重点是通过增加自动检测系统的覆盖范围来保护野火。我们正在进行的倡议现已聚集了数十名志愿者,为以下主要贡献做出贡献:- 计算机视觉:编译与野火检测相关的视觉任务的开源模型和数据集(即将发布)- 边缘计算:在 Raspberry Pi 上开发运行我们的 PyTorch 模型的经济实惠的物理原型- 端到端检测工作流程:构建负责任的端到端系统,用于大规模检测和警报管理(API、前端监控平台)- 部署:与法国消防部门合作,收集现场知识并在即将到来的欧洲夏季进行测试阶段。” PyTorch3D 是一个用于 PyTorch 的 3D 深度学习的模块化和优化库。它包括对以下内容的支持:用于 3D 数据(网格、点云和体积)异构批处理的数据结构、优化的 3D 运算符和损失函数(带有自定义 CUDA 内核)、用于网格、点云和隐式函数的模块化可微分渲染 API,以及用于 3D 深度学习的其他几个工具。

https://github.com/pyronear

视觉

PyTorch3D:快速、灵活的 3D 深度学习
Nikhila Ravi, Jeremy Reizenstein, David Novotny, Justin Johnson, Georgia Gkioxari, Roman Shapovalov, Patrick Labatut, Wan-Yen Lo

PyTorch3D 是一个用于 PyTorch 的 3D 深度学习的模块化和优化库。它包括对以下内容的支持:用于 3D 数据(网格、点云和体积)异构批处理的数据结构、优化的 3D 运算符和损失函数(带有自定义 CUDA 内核)、用于网格、点云和隐式函数的模块化可微分渲染 API,以及用于 3D 深度学习的其他几个工具。

https://arxiv.org/abs/2007.08501

视觉

Kornia:用于 PyTorch 的开源可微分计算机视觉库
E. Riba, J. Shi, D. Mishkin, L. Ferraz, A. Nicolao

这项工作介绍了 Kornia,这是一个开源计算机视觉库,建立在一组可微分例程和模块之上,旨在解决通用的计算机视觉问题。该软件包使用 PyTorch 作为其主要后端,不仅是为了效率,而且还为了利用反向自动微分引擎来定义和计算复杂函数的梯度。受 OpenCV 的启发,Kornia 由一组模块组成,这些模块包含可以集成到神经网络中的运算符,以训练模型来执行各种操作,包括图像变换、相机校准、对极几何以及低级图像处理技术,例如直接在高维张量表示上运行的滤波和边缘检测等技术,从而生成更快的系统。提供了使用我们的框架实现的经典视觉问题的示例,包括与现有视觉库进行比较的基准测试。

http://www.kornia.org

视觉

NNGeometry:PyTorch 中简单快速的 Fisher 信息矩阵和神经切线核
Thomas George

Fisher 信息矩阵 (FIM) 和神经切线核 (NTK) 是与神经网络相关的许多不同应用中的有用工具。然而,考虑到它们需要每个示例的梯度,并且由于它们随着参数数量(对于 FIM)或示例数量 x 输出空间基数(对于 NTK)而扩展,因此使用当前的库来实现实际大小的网络通常很困难。NNGeometry 是一个 PyTorch 库,它提供了一个高级 API,用于计算各种线性代数运算,例如矩阵向量乘积、迹、弗罗贝尼乌斯范数等等,其中矩阵是 FIM 或 NTK,利用了近似这些矩阵的最新进展。

https://github.com/tfjgeorge/nngeometry/

视觉

CompressAI:用于端到端压缩的研究库和评估平台
Bégaint J., Racapé F., Feltman S., Pushparaja A.

CompressAI 是一个 PyTorch 库,它提供自定义操作、层、模块和工具,用于研究、开发和评估端到端图像和视频压缩编解码器。特别是,CompressAI 包括预训练模型和评估工具,用于将学习方法与传统编解码器进行比较。最先进的端到端压缩模型已在 PyTorch 中重新实现并从头开始训练,再现了已发布的结果,并允许在该领域进行进一步研究。

视觉

pystiche:神经风格迁移框架
Philip Meier, Volker Lohweg

Gatys、Ecker 和 Bethge 的开创性工作催生了 2016 年的_神经风格迁移_ (NST) 领域。NST 描述了两个任意图像的内容和艺术风格之间的融合。这个想法在非真实感渲染 (NPR) 领域中并不新鲜。NST 与传统 NPR 方法的区别在于它的通用性:NST 只需要一个任意的内容和风格图像作为输入,因此“首次使广义风格迁移成为可行”。除了外围任务之外,NST 的核心是优化标准的定义,称为_感知损失_,它估计风格化图像的感知质量。通常,感知损失包括一个深度神经网络,该网络需要提供来自不同深度的图像编码。`pystiche` 是一个用 Python 编写并基于 PyTorch 构建的 NST 库。它为常用的感知损失以及神经网络架构提供了模块化和高效的实现。这使使用者可以轻松地将当前最先进的技术与新想法结合起来。本海报将展示 `pystiche` 的核心概念,这些概念将使其他研究人员以及外行人能够在几分钟内运行 NST。

https://github.com/pmeier/pystiche

视觉

GaNDLF – 一个用于临床影像工作流程的通用细致的深度学习框架
Siddhish Thakur

深度学习 (DL) 极大地突出了优化的机器学习在科学和临床社区中的潜在影响。来自主要工业实体(如 TensorFlow (Google)、PyTorch (Facebook))的开源 DL 库的出现进一步促进了 DL 在计算分析民主化方面的承诺。然而,开发 DL 算法需要更高的技术和专业背景,并且实现细节的可变性阻碍了它们的可重复性。为了降低门槛,并使 DL 开发、训练和推理机制更加稳定、可重复和可扩展,而无需广泛的技术背景,本文档提出了通用细致的深度学习框架 (GaNDLF)。GaNDLF 内置支持 k 折交叉验证、数据增强、多种模态和输出类别以及多 GPU 训练,并且能够处理放射影像和组织病理学影像,旨在为所有 DL 相关任务提供端到端解决方案,以解决医学影像中的问题,并为临床工作流程中的部署提供强大的应用程序框架。关键词:深度学习、框架、分割、回归、分类、交叉验证、数据增强、部署、临床、工作流程

视觉