跳转到主要内容
博客

公布 2020 年全球 PyTorch 夏季黑客马拉松获奖者

作者: 2020 年 10 月 1 日2024 年 11 月 16 日暂无评论

在今年的 PyTorch 全球夏季黑客马拉松中,超过 2,500 名参与者突破了界限,为 PyTorch 开发者和研究人员创造了独特的新工具和应用程序。

注意:提交给黑客马拉松的项目均与 Facebook, Inc. 无关,也非其提供。

今年的项目分为三类

  • PyTorch 开发者工具: 为 PyTorch 研究人员和开发者提高生产力和效率的工具或库。
  • 由 PyTorch 提供支持的 Web/移动应用程序: 使用 PyTorch 构建的 Web 或移动界面和/或嵌入式设备。
  • PyTorch 负责任 AI 开发工具: 支持研究人员和开发者创建负责任 AI 的工具、库或 Web/移动应用程序,该 AI 在整个开发过程中考虑了公平性、安全性、隐私性等。

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

请在下方查看每个类别的获奖者。

PyTorch 开发者工具

第一名DeMask

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

这项提交之所以脱颖而出,是因为它代表了一个高质量的想法和可以被其他研究人员复制的实现。

以下是如何在不到 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

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

第三名TorchExpo

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

由 PyTorch 提供支持的 Web/移动应用程序

第一名Q&Aid

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

第二名Rasoee

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

第三名机器人 Rexana — PyTorch

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

PyTorch 负责任 AI 开发工具

第一名FairTorch

FairTorch 是一个用于 PyTorch 的公平性库。它允许开发人员通过简单地添加几行代码,为其模型添加约束,以使不同子组之间的指标相等。模型构建者可以为其上下文选择一个公平性度量定义,并在训练时强制执行。该库提供了一套衡量 AI 系统在子组之间性能的指标,可应用于部署决策算法的高风险示例,例如招聘、学校招生和银行。

FairTorch

第二名Fluence

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

第三名Causing: 基于图的因果解释

Causing (CAUSal INterpretation using Graphs) 是一种多元图形分析工具,旨在提高神经网络的透明度。它解释了因果关系,并帮助研究人员和开发人员解释给定方程系统的因果效应,以确保公平性。开发人员可以将数据和描述数据集中变量之间依赖关系的模型输入到 Causing 中,Causing 将输出一个彩色图,显示模型变量之间量化的效应。此外,它还允许开发人员估计这些效应,以验证数据是否符合模型。

谢谢,

PyTorch 团队