感谢 PyTorch 社区令人难以置信的支持,使首届 PyTorch 生态系统日取得圆满成功!生态系统日活动在 Gather.Town 上举办,利用礼堂、展览馆和分会场,合作伙伴可以预订这些场所进行演讲、演示或教程。为了满足全球社区的需求,活动举办了两场会议:上午场从太平洋时间上午 8:00 至下午 1:00,晚上场从下午 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 张量提供。我们重点介绍了如何使用此功能探索机器学习中的新范式,包括使用混合模型进行迁移学习。
平台、运维与工具
在 VS Code 中进行 PyTorch 开发
Jeffrey Mew
Visual Studio Code 是一款免费的跨平台轻量级代码编辑器,已成为 Web 和机器学习项目中 Python 开发人员中最受欢迎的编辑器。我们将引导您完成一个完整的 PyTorch 项目,以展示 VS Code 为 PyTorch 开发人员提供的众多功能,从而提高他们的生产力。首先,利用 VS Code 的环境/依赖项管理和内置的 Jupyter Notebook 支持,快速启动和运行您的 PyTorch 项目。其次,借助我们的人工智能驱动的 IntelliSense,轻松完成编码。当您准备运行代码时,使用内置的 Tensorboard 集成来监控您的训练,并使用集成的 PyTorch 分析器来分析和调试您的代码。当您准备好云端部署时,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) Profile-Directed Typing,它减少了将松散类型的 Eager 模型转换为严格类型的 TorchScript 模型的负担;c) 一个 TorchScript 分析器,可以阐明 TorchScript 模型的性能特征。我们不断改进,使 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 组和 NeuronCore 管道等功能以最少的代码更改来优化您的模型,以满足您的吞吐量和延迟要求。您可以使用 TorchServe 将这些模型级别的优化直接集成到推理端点中。我们还将深入探讨我们如何优化自然语言处理端点的性能,并展示使用 TorchServe 容器在 Amazon ECS 上部署优化模型的工作流程。
编译器、转换与生产
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 模型效率工具包实现这些技术
编译器、转换与生产
通过 SQL 命令使用 Pytorch:一个灵活的、模块化的 AutoML 框架,使数据库用户能够使用 ML
Natasha Seelam,Patricio Cerda-Mardini,Cosmo Jenytin,Jorge Torres
PyTorch 能够构建具有复杂输入和输出的模型,包括时间序列数据、文本和视听数据。但是,此类模型需要专业知识和时间来构建,通常会花费在繁琐的任务上,例如清理数据或将其转换为模型期望的格式。因此,当研究人员只想试验问题的特定方面时,通常会按原样使用预训练模型。例如,请参阅 FastAI 在预训练残差模型中对优化器、调度器和渐进式训练的研究,或以 Hugging Face 模型作为其主干的 NLP 项目。我们认为,对于许多此类问题,我们只需从原始数据和端点自动生成“足够好”的模型和数据处理管道即可。为了解决这种情况,我们正在开发 MindsDB,这是一个基于 PyTorch 的开源机器学习平台,它通过 SQL 命令在数据库内部工作。它采用模块化方法构建,在本演讲中,我们将重点关注 Lightwood,这是一个独立的核心组件,它在 PyTorch 框架之上执行机器学习自动化。Lightwood 将模型构建自动化分为 5 个阶段:(1)将每个特征分类为“数据类型”,(2)对数据集的每一列运行统计分析,(3)拟合多个模型以对每个特征进行规范化、标记化和生成嵌入,(4)部署嵌入以拟合最终估计器,以及(5)对最终集成进行分析以对其进行评估并生成置信度模型。它可以生成快速“基线”模型来为任何自定义数据类型的编码器表示基准性能,并且还可以作为调查新假设(架构、优化器、损失函数、超参数等)的脚手架。我们的目标是展示涵盖广泛问题类型的基准测试,并通过动手演示说明 Lightwood 如何对研究人员和工程师有所帮助。
数据库与 AI 加速器
利用 SmartSim 在超级计算机模拟和 AI 中扩展 PyTorch
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)。关于现代神经网络的校准。ArXiv,abs/1706.04599。[2] Naeini, M.,Cooper, G. 和 Hauskrecht, M. (2015)。使用贝叶斯分箱获得良好校准的概率。人工智能 AAAI 大会论文集。人工智能 AAAI 大会,2015,2901-2907。[3] Maddox, W.,Garipov, T.,Izmailov, P.,Vetrov, D. 和 Wilson, A. (2019)。深度学习中贝叶斯不确定性的简单基线。NeurIPS。[4] Papadopoulos, H.,Vovk, V. 和 Gammerman, A. (2007)。神经网络的保形预测。第 19 届 IEEE 人工智能工具国际会议 (ICTAI 2007),2,388-395。
数据库与 AI 加速器
使用 AMD ROCm™ 开源软件平台在 AMD Instinct™ GPU 上启用 PyTorch
Derek Bouius
AMD Instinct GPU 通过 ROCm 开源软件平台在 PyTorch 上游存储库中启用。现在,用户还可以轻松下载可安装的 Python 包,该包构建自 PyTorch 上游存储库并在 pytorch.org 上托管。值得注意的是,它包括对跨多个 GPU 的分布式训练的支持,并支持加速混合精度训练。AMD 还为 PyTorch 社区构建提供硬件支持,以帮助开发和维护新功能。此海报将重点介绍一些使 PyTorch 支持成为可能的工作。
数据库与 AI 加速器
DeepSpeed:打破深度学习速度和规模的障碍
DeepSpeed 团队 Microsoft Corporation
在海报(以及分组讨论期间的演讲)中,我们将介绍 DeepSpeed(https://github.com/microsoft/DeepSpeed)的三个方面,DeepSpeed 是一个基于 PyTorch 框架的深度学习优化库:1)我们如何通过 ZeRO 支持的数据并行性克服 GPU 内存障碍。2)我们如何通过 1 位 Adam 和 1 位 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
使用神经网络求解偏微分方程通常非常费力,因为它需要针对明确定义的解进行训练,即网络架构 - 目标函数组合的全局最小值。对于一系列复杂的偏微分方程,物理信息神经网络与传统的数值方法相比不会提供太多优势,因为它们的全局最小值变得越来越难以处理。我们提出了一种改进的方法,该方法依赖于持续且参数化的学习,可以创建更通用的 PINN,以解决各种偏微分方程场景,而不是解决明确定义的情况。我们相信这使得基于神经网络的偏微分方程求解器与数值求解器相比具有竞争力。
分布式训练
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 模型并展示性能改进。
分布式训练
PyTorch/XLA 与新的 Cloud TPU VM 和分析器
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/
前端和实验管理器
使用英特尔 BF16 技术加速使用 IPEX 和 oneDNN 的 PyTorch
龚炯,Nikita Shustrov,王艾侃,李建辉,Vitaly Fedyunin
英特尔和 Facebook 合作实现了 BF16,它是 PyTorch 中的一级数据类型,并且是使用第三代 Intel® Xeon® 可扩展处理器原生加速的数据类型。本海报介绍了在 PyTorch 和 oneAPI DNN 库之上,在英特尔 PyTorch 扩展 (IPEX) 中添加的最新软件改进,以便于使用和在 CPU 上进行高性能 BF16 深度学习计算。凭借这些软件改进,我们展示了易于使用的 IPEX 面向用户的 API,并且我们还展示了与使用标准 PyTorch 的 FP32 相比,IPEX BF16 训练速度提高了 1.55X-2.42X,与使用标准 PyTorch 的 FP32 相比,IPEX BF16 推理速度提高了 1.40X-4.26X。
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 模型。
前端和实验管理器
Hydra 框架
胡洁茹,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,Cho Hyewon
深度学习最近改变了工业流水线的许多方面。参与生物医学成像研究的科学家也受益于人工智能的力量来解决复杂挑战。尽管学术界广泛接受了图像处理工具,例如 scikit-image、ImageJ,但仍然需要一个将深度学习集成到生物医学图像分析中的工具。我们提出了一个基于 PyTorch 的最小但方便的 Python 包,其中包含常见的深度学习模型,并通过灵活的训练器和医学数据集进行扩展。
https://github.com/tuttelikz/farabio
医学和医疗保健
MONAI:一个针对医疗保健成像的领域专用库
Michael Zephyr,Prerna Dogra Richard Brown,李文琪,Eric Kerfoot
放射科和病理科的医疗保健图像分析越来越多地使用基于深度学习的解决方案来解决。这些应用程序具有特定的要求,以支持各种成像模式,如 MR、CT、超声、数字病理学等。该领域的研究所需开发自定义功能来处理这些要求,这需要付出很大的努力。因此,工作出现了重复,并且结果导致研究人员使用不兼容的工具,这使得协作变得困难。MONAI 代表医学人工智能开放网络。其使命是通过提供领域专用构建块和一个共同的基础来加速医疗保健成像解决方案的开发,使社区能够在原生 PyTorch 范式中融合。
医学和医疗保健
Theator 如何构建持续训练框架来扩展其手术智能平台
Shai Brown,Daniel Neimark,Maya Zohar,Omri Bar,Dotan Asselmann
Theator 正在利用高度先进的人工智能(特别是机器学习和计算机视觉技术)重新构想手术,以分析手术过程的每个步骤、事件、里程碑和关键节点,从而打造一个手术智能平台。我们的平台分析冗长的外科手术视频并提取有意义的信息,为外科医生提供手术关键时刻的精彩片段,并辅以注释。随着团队的扩大,我们意识到,我们花费了过多的时间手动运行模型训练并专注于 DevOps 任务,而没有足够的时间专注于核心研究。为了应对这种情况,我们构建了一个自动化框架,该框架由使用 PyTorch 和 ClearML 的多个训练管道组成。我们的框架自动化并管理我们的整个流程,从模型开发到部署到持续训练以改进模型。新数据现在会立即被处理并直接输入训练管道,从而加快工作流程,最大程度地减少人为错误,并释放我们的研究团队用于更重要的任务。因此,使我们能够扩展我们的机器学习操作并为我们的最终用户提供更好的模型。
医学和医疗保健
Q&A 助手:一个由 PyTorch 支持的对话代理
Cebere Bogdan,Cebere Tudor,Manolache Andrei,Horia Paul-Ion
我们介绍了 Q&A 助手,这是一个对话代理,它依靠一系列机器学习模型根据提供的图像和文本输入过滤、标记和回答医学问题。Q&A 助手通过将其标准化为健康智能提供者 (HIP) 来简化医院逻辑后端。HIP 是在本地数据上训练的一系列模型的集合,它接收文本和视觉输入,然后进行过滤、标记,并将数据馈送到正确的模型,并最终为聚合器生成输出。任何医院都被识别为拥有基于其知识的自定义模型和标签的 HIP。医院正在训练和微调其模型,例如视觉问答 (VQA) 模型,以获取私有数据(例如脑异常分割)。我们将医院可以提供的所有任务聚合到一个单一的聊天应用程序中,并将结果提供给用户。聊天结束时,成绩单将转发到每个医院,医生负责最终决定。
医学和医疗保健
Sleepbot:用于医院和家庭的多信号睡眠阶段分类 AI
洪在贤,Kevin Tran,Tyler Lee,Paul Lee,Freddie Cha,Louis Jung,洪京洪博士,尹仁英博士,李大卫
睡眠障碍和失眠现在被认为是一个全球性问题。全球约 62% 的成年人感到睡眠不好。然而,睡眠难以追踪,因此很难获得合适的治疗来改善您的睡眠质量。目前,PSG(多导睡眠图)是唯一一种可以准确评估睡眠质量的方法,但它价格昂贵,并且由于第一夜效应而常常不准确。我们提出了一种用于非接触式睡眠跟踪的多信号睡眠阶段分类器:Sleepbot。通过自动化手动 PSG 阅读并提供可解释的分析,Sleepbot 为在家庭和医院中应用睡眠分期 AI 开辟了新的可能性。通过智能手机应用程序记录的声音和 Asleep 的非接触式睡眠跟踪器测量的射频感应信号,Sleepbot 提供了临床级别的睡眠阶段分类。Sleepbot 使用从 3700 名受试者测量的 PSG 信号在 5 类(清醒、N1、N2、N3、Rem)中实现了 85.5% 的准确率,并且仅使用从 12000 名受试者测量的声学数据在 3 类(清醒、睡眠、REM)分类中实现了 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 患者入院时的预后
莱拉·拉斯米,谢子谦,智德贵
随着电子病历的广泛使用以及历史患者信息的可用性,能够根据患者病史在早期识别高风险患者的预测模型可以作为临床医生判断的有价值的辅助手段。深度学习模型可以通过使用患者的病史来更好地预测患者的预后,无论这些数据有多长或多复杂。我们使用我们的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分别为82.8%、83.2%和76.8%。
https://github.com/ZhiGroup/pytorch_ehr
医学和医疗保健
使用TorchScript和Inferentia推出Transformer
欧阳冰辉,亚历山大·奥康纳
虽然Transformer在NLP应用的准确性和易用性方面带来了前所未有的改进,但由于模型规模庞大以及计算复杂性,其部署仍然具有挑战性。事实上,直到最近,人们普遍误以为托管高性能基于Transformer的模型成本高昂且技术上具有挑战性。幸运的是,PyTorch生态系统和用于推理的定制硬件的最新进展创造了一个世界,在这个世界中,模型可以以经济高效、可扩展的方式部署,而无需复杂的工程设计。在本演示文稿中,我们将讨论使用PyTorch和AWS Inferentia在聊天机器人意图分类中部署生产规模模型——一个特别相关且要求苛刻的场景。Autodesk部署了许多基于Transformer的模型来解决我们渠道中的客户支持问题,而我们能够提供灵活、高质量的机器学习解决方案,则得益于利用Transformer等前沿技术进行分类。我们的聊天机器人AVA每月响应数万次客户互动,并且我们正在发展我们的架构以获得客户推理的支持。我们将讨论我们试点基于Transformer的意图模型的经验,并为类似项目提供从数据到部署的工作流程。
NLP与多模态,RL与时间序列
PyTorchTS:PyTorch概率时间序列预测框架
卡希夫·拉苏尔
PyTorchTS是一个基于PyTorch的概率时间序列预测框架,它带有最先进的单变量和多变量模型。
https://github.com/zalandoresearch/pytorch-ts
NLP与多模态,RL与时间序列
MMF:一个用于多模态研究的模块化框架
萨莎·盛,阿曼普里特·辛格
MMF的设计从一开始就让你专注于重要的事情——你的模型——通过提供分布式训练、常见数据集和开箱即用的最先进的预训练基线的样板代码。MMF构建在PyTorch之上,将PyTorch的所有功能都掌握在你的手中。MMF没有强烈的意见。因此,你可以在此处使用所有PyTorch知识。MMF旨在易于扩展和组合。通过我们的模块化设计,你可以使用你关心的MMF的特定组件。我们的配置系统允许MMF轻松适应你的需求。
NLP与多模态,RL与时间序列
AllenNLP:一个用于开发最先进模型的NLP研究库
迪尔克·格罗内维尔德,阿克希塔·巴吉亚,皮特·沃尔什,迈克尔·施密茨
一个基于PyTorch构建的Apache 2.0 NLP研究库,用于在各种语言任务上开发最先进的深度学习模型。
https://github.com/allenai/allennlp
NLP与多模态,RL与时间序列
Tubi的Spock项目:使用深度学习NLP理解内容
约翰·特伦克尔,贾亚·卡瓦莱和Tubi机器学习团队
Tubi是领先的平台之一,为全球观众提供免费的高质量流媒体电影和电视剧。我们采用数据驱动的方法,并利用基于PyTorch的先进机器学习技术来增强我们的平台和业务。AVOD的三大支柱是我们工作的指导原则。支柱是内容:我们库中维护的所有标题观众:在Tubi上观看标题的所有人广告:代表品牌向观众展示的广告在本海报中,我们将重点关注内容方面,并详细介绍各种用例,尤其是内容理解。内容是Tubi的重要支柱,因为要取得成功,我们需要查看现有标题以及我们已有的内容之外的内容,并尝试理解所有公开的标题以及它们如何以某种方式使我们的平台受益。内容理解围绕着消化丰富的第1方和第3方数据(结构化(元数据)和非结构化(文本)形式),并开发能够捕捉这些标题本质的表示。用线性代数的类比来说,我们可以说我们试图将标题向量从宇宙投影到我们的Tubiverse,尽可能地保持保真度,以便确定每个目标用例的潜在价值。我们将描述几种使用Pytorch更好地理解内容的技术。
NLP与多模态,RL与时间序列
基于强化学习的深度神经网络性能优化
贝努瓦·施泰纳,克里斯·卡明斯,何浩斯,休·莱瑟
随着机器学习技术的应用变得无处不在,神经网络的有效执行对于许多应用至关重要。Halide和TVM等框架将深度学习模型的算法表示与确定其实现的调度分开。然而,找到好的调度仍然极具挑战性。自动调整方法搜索有效调度的空间并在硬件上执行每个候选调度,识别一些性能最佳的调度,但搜索可能需要数小时,从而阻碍深度学习从业人员的生产力。需要一种方法来实现类似的性能,而无需进行广泛的搜索,快速提供所需的效率。使用PyTorch,我们将调度过程建模为一系列优化选择,并实现了一种新技术,利用经过精心设计的特征(描述每个DNN算子和它们当前的调度选择)的LSTM,准确预测部分调度的预期性能。利用这些预测,我们能够贪婪地做出这些优化决策,并且在没有任何目标硬件上的执行的情况下,快速识别有效的调度。这种技术能够找到比Halide提高2.6倍和比TVM提高1.5倍的深度神经网络执行性能的调度。此外,我们的技术在几秒钟内完成,而不是数小时,这使得它可以作为PyTorch本身的新后端。
NLP与多模态,RL与时间序列
用于可组合NLP的数据中心框架
刘正红
Forte是一个开源工具包,用于通过组装最先进的NLP和ML技术来构建自然语言处理工作流程。该工具包具有可组合管道、跨任务交互、适应性数据模型接口等功能。高度可组合的设计允许用户通过组合现有的工具包或自定义的PyTorch模型来构建各种任务的复杂NLP管道,包括文档检索、信息提取和文本生成。跨任务交互功能允许开发人员利用来自各个任务的结果来做出明智的决策。数据模型接口帮助开发人员通过抽象出领域和预处理细节来专注于构建可重用的PyTorch模型。我们展示了Forte可用于构建复杂的管道,并且生成的管道可以通过代码中的少量更改轻松适应不同的领域和任务。
https://github.com/asyml/forte
NLP与多模态,RL与时间序列
多任务强化学习的环境和基线
沙根·索达尼,艾米·张,吕多维克·德努瓦耶,皮埃尔-亚历山大·卡米尼,奥利维尔·德拉莱
多任务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接口(社区非常熟悉)进行最小更改,以及(ii)简化将现有环境移植到MTEnv的过程。此外,我们提供了一系列常用的多任务RL环境(Acrobot、Cartpole、DeepMind Control Suite的多任务变体、Meta-World、多臂老虎机等)。RL从业者可以将其自己的环境与MTEnv包装器结合使用,只需更改少量代码即可添加多任务支持。MTRL和MTEnv用于FAIR的几项正在进行/已发布的工作。
http://qr.w69b.com/g/tGZSFw33G
NLP与多模态,RL与时间序列
Hugging Face生态系统
利桑德尔·德比,西尔万·古格,昆廷·洛斯特
迁移学习已成为在NLP中获得最先进结果的标准。Hugging Face提供工具来帮助你完成沿途的每个步骤:- 一个免费的基于git的共享中心,其中包含超过7,500个PyTorch检查点,以及超过800个NLP数据集。- ? 数据集库,轻松下载数据集、操作数据集并准备数据集。- ? 分词器库,提供由Rust支持的超快速分词器,并将文本转换为PyTorch张量。- ? Transformers库,提供超过45个Transformer架构的PyTorch实现,作为简单的nn.Module以及训练API。- ? 加速库,一个非侵入式API,允许你将原始训练循环运行在任何分布式设置上。然后,管道只是一个六个步骤的过程:从中心选择一个预训练模型,使用数据集处理数据,使用分词器对文本进行分词,使用Transformers加载模型,使用Trainer或你自己的由Accelerate驱动的循环对其进行训练,然后在中心与社区共享你的结果。
https://hugging-face.cn/models
NLP与多模态,RL与时间序列
Asteroid:基于Pytorch的音频源分离工具包,供研究人员使用
曼努埃尔·帕里恩特,萨缪尔·科内尔,乔纳斯·哈格,乔里斯·科森蒂诺,米歇尔·奥尔维拉,法比安-罗伯特·施托特,埃夫西米奥斯·齐尼斯
Asteroid是一个使用PyTorch和PyTorch-Lightning构建的音频源分离工具包。它借鉴了最成功的 neural source separation 系统,提供了构建此类系统所需的所有神经构建块。为了提高可重复性,提供了关于常见音频源分离数据集的配方,包括从数据下载/准备到训练到评估的所有步骤,以及许多当前最先进的DNN模型。Asteroid向用户公开了从简单层到完整的即用型模型的所有粒度级别。我们的预训练模型托管在Zenodo中的asteroid-models社区和Huggingface模型中心。加载和使用预训练模型非常简单,并且asteroid的CLI也使共享模型变得容易。","poster_showcase":"音频源分离,语音处理,深度学习","email":"[email protected]"}
https://asteroid-team.github.io/
NLP与多模态,RL与时间序列
rlstructures:一个用于强化学习研究的轻量级Python库
吕多维克·德努瓦耶,丹妮尔·罗瑟梅尔,泽维尔·马丁内特
RLStructures是一个轻量级的Python库,它提供简单的API以及尽可能少地对代理或任务结构做出假设的数据结构,同时允许透明地在多个环境中并行执行多个策略(包括多个GPU)。因此,它有助于实现强化学习算法,同时避免复杂的抽象。
NLP与多模态,RL与时间序列
MBRL-Lib:一个用于基于模型的强化学习研究的PyTorch工具箱
路易斯·皮内达,布兰登·埃莫斯,艾米·张,内森·兰伯特,罗伯托·卡兰德拉
基于模型的强化学习(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
吉塔·乔汉,吉斯尔·丹克尔,埃琳娜·内罗斯拉夫斯卡娅
分析和改进大规模深度学习模型的性能是一个持续的挑战,并且随着模型规模的增加,其重要性也在不断增长。微软和Facebook合作创建了一个名为PyTorch Profiler的原生PyTorch性能调试工具。该分析器建立在PyTorch自动梯度分析器基础之上,添加了一个新的高保真GPU分析引擎,并在Tensorboard中提供了开箱即用的瓶颈分析工具。新的Profiler提供了迄今为止最简单的体验,用户无需安装任何其他软件包即可分析其模型,并在Tensorboard中立即查看结果。直到今天,PyTorch的初学者用户可能还没有尝试过分析他们的模型,因为任务的复杂性。借助新的瓶颈分析工具,他们会发现分析变得简单易用。经验丰富的用户会对详细的跟踪视图感到高兴,这些视图说明了GPU内核执行事件及其与PyTorch操作的关系。来学习如何使用这个新颖且简单的工具来分析你的PyTorch模型。
https://pytorch.ac.cn/blog/introducing-pytorch-profiler-the-new-and-improved-performance-tool
性能与分析器
TRTorch:针对使用TensorRT的NVIDIA GPU的TorchScript编译器
纳伦·达桑
对于机器学习模型的实验和开发,很少有工具像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/
性能与分析器
WeightWatcher:DNN的诊断工具
查尔斯·马丁
WeightWatcher(WW)是一个开源的诊断工具,用于分析深度神经网络(DNN),无需访问训练数据甚至测试数据。它可以用于:分析预训练/训练后的PyTorch模型;检查难以训练的模型;评估模型性能的改进;预测不同模型的测试准确率;以及检测压缩或微调预训练模型时的潜在问题。WeightWatcher基于理论研究(与加州大学伯克利分校联合完成)的“深度学习为何有效”,利用随机矩阵理论(RMT)、统计力学和强相关系统中的思想。
性能与分析器
通过参数化在PyTorch 1.9中进行约束优化
马里奥·莱斯坎诺-卡萨多
“这张海报介绍了将在PyTorch 1.9.0中添加的“参数化”功能。此功能允许简单地实现诸如剪枝、权重归一化或谱归一化等方法。更一般地说,它实现了一种拥有“计算参数”的方法。这意味着我们将层中的参数`weight`替换为`f(weight)`,其中`f`是一个任意模块。换句话说,在对`layer.weight`应用参数化`f`之后,`layer.weight`将返回`f(weight)`。它们实现了一个缓存系统,以便在正向传递过程中仅计算一次值`f(weight)`。实现参数化的模块还可以具有`right_inverse`方法。如果存在此方法,则可以分配给参数化的张量。这在初始化参数化的张量时很有用。此功能可以看作是迈向可逆模块的第一步。特别是,它还有助于使分布成为PyTorch中的一等公民。参数化还允许简单地实现约束优化。从这个角度来看,参数化将无约束张量映射到约束空间,例如正交矩阵、SPD矩阵、低秩矩阵的空间……这种方法在GeoTorch库(https://github.com/Lezcano/geotorch/)中实现。”
性能与分析器
使用Ray进行分布式Pytorch
理查德·利亚夫,凯·弗里克,阿莫格·卡姆塞蒂,迈克尔·加拉尼克
Ray是一个流行的分布式Python框架,可以与PyTorch配对,以快速扩展机器学习应用程序。Ray包含一个庞大的应用程序和库生态系统,这些应用程序和库利用并集成了Pytorch。这包括Ray Tune,一个用于任何规模的实验执行和超参数调整的Python库;RLlib,一个最先进的强化学习库;以及Ray Serve,一个用于可扩展模型服务的库。Ray和Pytorch共同成为下一代生产机器学习平台的核心基础。
平台与运维与工具
Avalanche:基于PyTorch的端到端持续学习库
文森佐·洛莫纳科,洛伦佐·佩莱格里尼 安德里亚·科苏,安东尼奥·卡塔,加布里埃尔·格拉菲蒂
持续从非平稳数据流中学习是机器学习研究长期以来的目标。最近,我们见证了对持续学习的重新关注和快速增长的兴趣,特别是在深度学习社区中。然而,算法解决方案通常难以重新实现、评估和移植到不同的环境中,即使是在标准基准测试上的结果也很难重现。在这项工作中,我们提出了一个基于PyTorch的开源端到端持续学习库,它可以为持续学习算法的快速原型设计、训练和可重复评估提供一个共享的协作代码库。
https://avalanche.continualai.org
平台与运维与工具
IBM Z和LinuxONE (s390x)上的PyTorch
许洪
IBM Z是用于关键任务应用程序(如金融和医疗保健应用程序)的硬件产品线。它使用自己的CPU架构,PyTorch官方不支持。在这张海报中,我们讨论了为什么在Z上支持PyTorch很重要。然后,我们展示了我们为IBM Z预构建的最小PyTorch包。最后,我们展示了我们持续致力于在IBM Z上提供更多PyTorch功能的承诺。
https://codait.github.io/pytorch-on-z
平台与运维与工具
MLOps基础:编排、自动化、可重复性
阿里埃尔·比勒博士
出于健全性和生产力考虑,数据科学家、ML工程师、研究生和其他面向研究的角色都开始采用生产级MLOps的最佳实践。但是,大多数工具链都需要额外的代码和维护,从而减少了实际可用于研发的时长。我们将展示使用ClearML(开源MLOps解决方案)的另一种方法。在这张“最佳实践”海报中,我们将概述研发MLOps的“必备要素”:编排、自动化和可重复性。这些功能可以通过神奇的可重复设置甚至自定义、可重用、自下而上的管道轻松实现远程执行。我们将以一个示例为例,并将其从“从GitHub下载”阶段以示意图方式转换为一个完全成熟的可扩展、版本控制、可参数化的研发管道。我们将测量对代码库所需的更改次数,并提供低成本集成的证据。所有代码、日志和指标将作为补充信息提供。
平台与运维与工具
FairTorch:致力于减轻机器学习模型的不公平性
增田雅志,福地昭彦,矢部阳子,中田靖文
你的机器学习模型是否足够公平,可以在你的系统中使用?如果招聘AI在性别和种族方面存在歧视怎么办?如果医疗AI的准确性取决于一个人的年收入或其使用国家/地区的GDP怎么办?如今的AI有可能造成此类问题。近年来,机器学习中的公平性越来越受到关注。如果用于决策的当前机器学习模型可能导致不公平的歧视,那么开发公平的机器学习模型是许多领域(如医疗保健、就业和政治)的重要目标。尽管这个目标对社会非常重要,但截至2020年,还没有将公平性纳入机器学习模型的PyTorch¹项目。为了解决这个问题,我们在2020年PyTorch夏季黑客马拉松上创建了FairTorch。FairTorch提供了一个减轻机器学习模型不公平性的工具。我们工具的一个独特功能是,它允许你通过仅添加几行代码来向模型添加公平性约束,使用库中提供的公平性标准。
https://github.com/wbawakate/fairtorch
平台与运维与工具
TorchDrift:PyTorch的漂移检测
托马斯·菲曼,卢卡·安蒂加
当机器学习模型被部署来解决给定的任务时,一个关键问题是它们是否真的能够按预期执行。TorchDrift解决了答案的一个方面,即漂移检测,或者流经我们模型的信息(无论是在输入、输出还是中间某个位置探测)是否仍然与训练和评估时的一致。简而言之,TorchDrift旨在插入PyTorch模型并检查它们是否在规格范围内运行。TorchDrift的原则将PyTorch的座右铭“从研究到生产”应用于漂移检测:我们提供了一个方法库,这些方法可以用作漂移检测研究的基线或构建块,并为在生产环境中部署PyTorch模型的从业人员提供最新的方法和教育材料,以构建必要的统计背景。在这里,我们介绍了TorchDrift,并通过一个示例说明了底层的双样本检验。我们展示了如何将TorchDrift集成到高性能运行时(如TorchServe或RedisAI)中,以利用PyTorch JIT在实际应用程序中启用漂移检测。
平台与运维与工具
Ouroboros:自动驾驶的MLOps
陈钦西,阿琼·巴加瓦,苏迪普·皮莱,潘马库斯,方超,克里斯·奥乔亚,阿德里安·盖登,李冠辉,沃尔夫拉姆·布尔加德
现代自动驾驶的机器学习需要与标准软件持续集成/持续部署的对应方法相比,从根本上不同的基础设施和生产生命周期。在丰田研究院 (TRI),我们开发了 Ouroboros——一个现代化的机器学习平台,支持交付到 TRI 自动驾驶车队的全部机器学习模型的端到端生命周期。我们设想所有交付到我们车队的机器学习模型都将经历系统化和严格的处理。Ouroboros 提供了一些基本功能,包括:a. 机器学习数据集治理和基础设施即代码,以确保所有机器学习数据集和模型(程序生成并交付到 TRI 车队)的可追溯性、可重复性、标准化和公平性。b. 统一的机器学习数据集和模型管理:一个统一且简化的机器学习数据集整理、标签管理和模型开发工作流程,支持当今交付到 TRI 车队的几个关键机器学习模型。c. 用于自动驾驶的大规模多任务、多模态数据集,支持当今各种模型的开发,包括 3D 目标检测、2D 目标检测、2D BeVFlow、全景分割;d. 编排的机器学习工作流程,以建立可扩展的机器学习应用程序,例如一键式重新训练解决方案、机器学习 CI/CD 管道、数据集整理工作流程、自动标注管道,利用最新的云工具。在整个生命周期中,确保对构建可重用、可重复、健壮、可追溯和公平的机器学习模型进行强大的治理,以用于生产驾驶环境。通过遵循最佳的 MLOps 实践,我们期望我们的平台为自动驾驶车队的持续终身学习奠定基础,并加速从研究到生产的过渡。
平台与运维与工具
carefree-learn:表格数据集 ❤️ PyTorch
何玉建
carefree-learn 使 PyTorch 能够被那些熟悉机器学习但不一定熟悉 PyTorch 的人使用。通过在后台已经实现了所有预处理和后处理,用户可以专注于使用 PyTorch 实现核心机器学习算法/模型并在各种数据集上对其进行测试。通过精心设计整个结构,用户可以轻松自定义整个管道中的每个模块,还可以轻松地“组合”已实现的模块来“构建”新的模型。通过精心进行抽象,用户可以将其适应其特定的下游任务,例如量化交易(实际上我已经为我的公司实现了一个,并且效果非常好 XD)。carefree-learn 谨慎地处理分布式训练,因此用户可以同时运行多个任务,或者使用一行代码运行具有 DDP 的大型模型。carefree-learn 还集成了 mlflow 并支持导出到 ONNX,这意味着它在某种程度上已准备好投入生产。
平台与运维与工具
OpenMMLab:计算机视觉的开源算法平台
张文伟
OpenMMLab 项目构建了用于人工智能 (AI) 的开源工具箱。其目标是 1) 提供高质量的代码库,以减少算法重新实现的难度;2) 提供一个完整的研发平台,以加速研究成果的产出;以及 3) 缩短研究成果到工业应用之间的差距。基于 PyTorch,OpenMMLab 开发了 MMCV 以提供统一的抽象训练 API 和通用实用程序,作为 15+ 个工具箱和 40+ 个数据集的基础。自 2018 年 10 月首次发布以来,OpenMMLab 已经发布了 15+ 个工具箱,涵盖 10+ 个方向,实现了 100+ 种算法,并包含 1000+ 个预训练模型。通过与社区更紧密的合作,OpenMMLab 将在未来发布更多具有更灵活和易于使用的训练框架的工具箱。
平台与运维与工具
Catalyst – 加速深度学习研发
谢尔盖·科列斯尼科夫
在过去的三年里,Catalyst 团队及其合作者一直在致力于 Catalyst——一个用于深度学习研究和开发的高级 PyTorch 框架。它专注于可重复性、快速实验和代码库重用,因此您可以创建新事物,而不是编写另一个训练循环。您无需样板代码和底层错误即可获得指标、模型检查点、高级日志记录和分布式训练支持。
平台与运维与工具
PyTorch 中生成模型的高保真性能指标
安东·奥布霍夫
生成模型(如 GAN)的评估是深度学习研究的重要组成部分。在 2D 图像生成中,三种方法得到了广泛应用:初始得分、Fréchet 初始距离和内核初始距离。尽管这些指标具有清晰的数学和算法描述,但最初是在 TensorFlow 中实现的,并继承了框架本身的一些特性,例如插值函数的特定实现。这些设计决策实际上被烘焙到评估协议中,并成为指标规范的固有组成部分。因此,希望与生成建模领域最先进技术进行比较的研究人员被迫使用原始指标作者的代码库进行评估。PyTorch 和其他框架中存在指标的重新实现,但它们没有提供适当的保真度水平,因此不适合报告结果并将其与其他方法进行比较。此软件旨在在 PyTorch 中提供所述指标的 epsilon 精确实现,并消除与生成模型评估和开发相关的麻烦。所有评估管道步骤都经过正确测试,相关误差和剩余的不确定性来源在下面的部分中进行了总结。TLDR;PyTorch 中快速可靠的 GAN 评估
https://github.com/toshas/torch-fidelity
平台与运维与工具
利用卫星图像识别海洋油污染
乔纳·拉斐尔 ([email protected]),本·埃格尔斯顿,瑞安·科文顿,塔蒂安娜·埃瓦尼斯科,约翰·艾莫斯
船舶的作业性排油,也称为“舱底排放”,已被确定为进入我们海洋的主要石油产品来源,即使在短期内考虑,其累积量也超过了埃克森·瓦尔迪兹和深水地平线等最大漏油事件。但是,我们仍然没有对以下方面做出很好的估计:● 排放了多少油;● 排放发生在哪里;● 责任船舶是谁。这使得难以预防和有效应对可能损害我们海洋和沿海环境以及依赖它们的经济体的油污染。在这张海报中,我们将分享 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 包
塔尼什克·亚伯拉罕
非配对图像到图像转换算法已被用于各种计算机视觉任务,如风格转换和域自适应。此类算法极具吸引力,因为它们消除了收集配对数据集的需要。在这张海报中,我们展示了 UPIT,一个用于非配对图像到图像转换的新型 fastai/PyTorch 包(使用 nbdev 构建)。它实现了各种最先进的非配对图像到图像转换算法,例如 CycleGAN、DualGAN、UNIT 等。它支持对非配对数据集进行简单的训练和推理。它还提供了 FID、KID 和 LPIPS 等常用指标的实现。它还集成了 Weights-and-Biases,以便于实验跟踪。由于它构建在 fastai 和 PyTorch 之上,因此它支持混合精度和多 GPU 训练。它非常灵活,也可以使用自定义数据集类型、模型和指标。使用 UPIT,训练和应用非配对图像到图像转换只需要几行代码。
https://github.com/tmabraham/UPIT
视觉
PyTorchVideo:一个用于视频理解的深度学习库
亚伦·阿德科克,熊博,克里斯托夫·费希滕霍费尔,范浩琪,王恒,卡良·瓦苏德夫·阿尔瓦拉,马特·费斯利,塔利·默雷尔,罗万燕,李阳浩,李依雷,严志成
PyTorchVideo 是 Facebook AI 用于视频理解研究的新深度学习库。它包含各种最先进的预训练视频模型、数据集、增强功能、视频理解工具。PyTorchVideo 在移动设备上提供了高效的视频组件,并加速了推理。
视觉
深度学习实现快速密集单分子定位,且精度高
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 可训练入口卷积层
亚伯拉罕·桑切斯,吉列尔莫·门多萨,E. 尤利西斯·莫亚-桑切斯
我们从皮层区域 V1 中汲取灵感。我们试图通过以下方式模拟它们的主要处理特性:四元数局部相位/方向,以计算特定方向上的线和边缘检测。我们分析了该层在几何上对大范围照明和亮度变化的鲁棒性。
https://gitlab.com/ab.sanchezperez/pytorch-monogenic
视觉
PyroNear:用于早期野火检测的嵌入式深度学习
弗朗索瓦-吉约姆·费尔南德斯,马特奥·洛斯塔兰,塞巴斯蒂安·埃尔马勒,布鲁诺·伦齐,费利克斯·费斯,以及 15+ 位贡献者
PyroNear 是一家完全由志愿者组成的非盈利组织,成立于2019年末。我们的核心信念是,最新的技术发展可以支持人类与其自然栖息地的共存。我们致力于开发高性能、易访问且价格合理的科技解决方案,以应对自然灾害。更具体地说,我们最初的努力集中在野火防护上,通过扩大自动检测系统的覆盖范围。我们正在进行的计划现已汇集了数十名志愿者,他们做出了以下主要贡献: - 计算机视觉:汇编用于野火检测的视觉任务的开源模型和数据集(即将发布) - 边缘计算:开发一个运行我们 PyTorch 模型的 Raspberry Pi 上的经济型物理原型 - 端到端检测工作流程:构建一个用于大规模检测和警报管理的负责任的端到端系统(API,前端监控平台) - 部署:与法国消防部门合作收集现场知识,并在即将到来的欧洲夏季进行测试阶段。"PyTorch3D 是一个用于 PyTorch 的模块化和优化的 3D 深度学习库。它包括对以下方面的支持:异构批处理 3D 数据(网格、点云和体积)的数据结构、优化的 3D 运算符和损失函数(使用自定义 CUDA 内核)、用于网格、点云和隐式函数的模块化可微渲染 API,以及其他一些 3D 深度学习工具。
视觉
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 由一组包含运算符的模块组成,这些运算符可以集成到神经网络中,以训练模型执行各种操作,包括图像变换、相机校准、极线几何以及低级图像处理技术(例如滤波和边缘检测),这些技术直接在图形处理单元上的高维张量表示上运行,从而生成更快的系统。提供了使用我们的框架实现的经典视觉问题的示例,包括与现有视觉库的基准比较。
视觉
NNGeometry:在 PyTorch 中轻松快速地计算费舍尔信息矩阵和神经切线核
Thomas George
费舍尔信息矩阵 (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 编写的用于 NST 的库,并构建在 PyTorch 之上。它为常用的感知损失以及神经网络架构提供了模块化且高效的实现。这使用户能够轻松地将当前最先进的技术与新想法混合使用。本海报将展示`pystiche` 的核心概念,这将使其他研究人员以及外行人员能够在几分钟内运行 NST。
https://github.com/pmeier/pystiche
视觉
GaNDLF – 一个用于临床影像工作流程的通用细致深度学习框架
Siddhish Thakur
深度学习 (DL) 极大地突出了优化机器学习在科学和临床领域中的潜在影响。来自主要工业实体(例如 Google 的 TensorFlow、Facebook 的 PyTorch)的开源 DL 库的出现,进一步促进了 DL 在计算分析民主化方面的承诺。但是,开发 DL 算法需要更高的技术和专业背景,并且实现细节的差异阻碍了它们的再现性。为了降低门槛,使 DL 开发、训练和推理机制更加稳定、可重复和可扩展,而无需广泛的技术背景,本文提出了通用细致深度学习框架 (GaNDLF)。GaNDLF 具有内置支持 k 折交叉验证、数据增强、多种模态和输出类别以及多 GPU 训练,以及能够处理放射学和组织学影像的能力,旨在为所有与 DL 相关的任务提供端到端解决方案,解决医学影像中的问题,并为在临床工作流程中部署提供强大的应用框架。关键词:深度学习、框架、分割、回归、分类、交叉验证、数据增强、部署、临床、工作流程
视觉