由 PyTorch 团队

今年全球 PyTorch 夏季黑客马拉松有超过 2500 名参与者,他们努力创新,为 PyTorch 的开发者和研究人员创造独特的工具和应用。

注意:本次黑客马拉松提交的所有项目均与 Facebook,Inc.无关,也不是由其提供。

本年度的项目分为三个类别:

  • PyTorch 开发者工具:一款旨在提高 PyTorch 研究人员和开发者生产力和效率的工具或库。

  • 基于 PyTorch 的 Web/移动应用:使用 PyTorch 构建的 Web 或移动界面和/或嵌入式设备。

  • PyTorch 负责任 AI 开发工具:一款工具、库或 Web/移动应用,旨在支持研究人员和开发者创建在整个开发过程中考虑公平性、安全性、隐私性等方面的负责任 AI。

虚拟黑客马拉松于 6 月 22 日至 8 月 25 日举行,共有超过 2,500 名注册参与者,来自阿塞拜疆共和国到津巴布韦再到日本的 114 个国家,提交了总共 106 个项目。参赛者根据其想法的质量、原创性、潜在影响以及其实施情况进行了评判。

以下是每个类别的获奖者。

PyTorch 开发者工具

一等奖 - DeMask

DeMask 是一个用于增强佩戴口罩时语音的端到端模型——在许多场所强制佩戴口罩以及工作中需要佩戴口罩的工人中提供了明显的益处。DeMask 是用基于 PyTorch 的音频源分离工具包 Asteroid 构建的,经过训练以识别由口罩造成的语音模糊所引起的失真,并调整语音使其听起来更清晰。

这份投稿特别引人注目,因为它既代表了一个高质量的创意,又是一个可以被其他研究人员复制的实现。

下面是一个如何在 20 行代码内训练语音分离模型的示例:

from torch import optim
from pytorch_lightning import Trainer

from asteroid import ConvTasNet
from asteroid.losses import PITLossWrapper
from asteroid.data import LibriMix
from asteroid.engine import System

train_loader, val_loader = LibriMix.loaders_from_mini(task='sep_clean', batch_size=4)
model = ConvTasNet(n_src=2)
optimizer = optim.Adam(model.parameters(), lr=1e-3)
loss = PITLossWrapper(
    lambda x, y: (x - y).pow(2).mean(-1),  # MSE
    pit_from="pw_pt",  # Point in the pairwise matrix.
)

system = System(model, optimizer, loss, train_loader, val_loader)

trainer = Trainer(fast_dev_run=True)
trainer.fit(system)

第二名 - carefree-learn

基于 PyTorch 的自动化机器学习 (AutoML) 解决方案,carefree-learn 提供了高级 API,使使用表格数据集进行模型训练变得更加简单。它具有与 scikit-learn 类似的界面,并作为表格数据集的端到端管道。它可以自动检测特征列类型和冗余特征列,填充缺失值,编码字符串列和分类列,以及预处理数值列等功能。

第三名 - TorchExpo

TorchExpo 是一个模型和扩展集合,简化了将 PyTorch 从研究应用到移动设备的过程。这个库不仅仅是一个网页和移动应用,还附带了一个 Python 库。该 Python 库可以通过 pip install 获取,并帮助研究人员通过一行代码将最先进的模型转换为 TorchScript 和 ONNX 格式。

基于 PyTorch 的网页/移动应用

第一名 - Q&Aid

Q&Aid 是一个旨在进行医疗诊断并促进患者与医生之间沟通的概念性医疗保健聊天机器人。它依赖于一系列机器学习模型,根据患者提供的医疗图像和/或文本问题进行过滤、标记和回答。然后可以将聊天应用的记录转发到当地医院,患者将由其中一家医院联系,安排预约以确定适当的诊断和治疗。团队希望这个概念应用能帮助医院更有效地与患者合作,提供适当的护理。

第二名 - Rasoee

Rasoee 是一个可以输入图片并输出菜名的应用程序。它还会列出配料和食谱,以及在线原始食谱的链接。此外,用户可以从下拉菜单中选择一种菜系,并在文本中描述口味和/或烹饪方法。然后应用程序将从 308 种可识别的菜肴列表中返回匹配的菜肴。团队投入了大量精力收集和清理各种数据集,以构建更准确和全面的数据模型。您可以在这里查看该应用程序。

第三名 - Rexana 机器人 — PyTorch

Rexana 是一款 AI 语音助手,旨在为能够完成家庭基本任务的物理机器人奠定基础。该系统具备自主导航能力(了解其在房屋内相对于地标的位置),识别语音命令以及物体检测和识别——这意味着它可以被命令执行各种家庭任务(例如:“Rexana,给客厅的盆栽浇水。”)。Rexana 可以通过移动设备远程控制,机器人本身还配备了可定制的手(磁铁、夹具等),以承担不同的工作。

PyTorch 负责任的人工智能开发工具

第一名:FairTorch

FairTorch 是一个针对 PyTorch 的公平性库。它允许开发者通过添加几行代码来向他们的模型添加约束,以平衡子组的指标。模型构建者可以选择适合其上下文的公平性指标定义,并在训练时强制执行。该库提供了一套衡量 AI 系统在子组间性能的指标,适用于决策算法部署的高风险示例,如招聘、学校录取和银行。

FairTorch

第二名:Fluence

Fluence 是一个基于 PyTorch 的深度学习库,用于语言研究。它专门针对自然语言处理(NLP)研究的大计算需求。Fluence 旨在为低资源和高计算效率的算法提供 NLP,为研究人员提供可以增强当前 NLP 方法或帮助发现当前方法不足之处的算法。

第三名:Causing:基于图的 CAUSal INterpretation

Causing(因果图解)是一种多变量图形分析工具,用于使神经网络变得透明。它解释因果关系,帮助研究人员和开发者解释给定方程系统的因果效应,以确保公平性。开发者可以将数据以及描述数据集中变量之间依赖关系的模型输入 Causing,Causing 将输出模型变量之间作用效果的彩色图。此外,它还允许开发者估计这些效果,以验证数据是否符合模型。

谢谢,

PyTorch 团队