找回密码
 立即注册
搜索

Facebook万字长文:AI模型全部迁移至PyTorch框架

来源:Facebook AI Blog

编辑:LQ、yaxin

【新智元导读】2017年,PyTorch诞生,成为当下最盛行的深度学习框架。近日,Facebook宣布让PyTorch成为构建AI和机器学习模型的默许框架,为工程师们提供更好的开发体验。



PyTorch自2017年推出以来,就迅速占领GitHub热度榜榜首,一度有赶超Tensorflow的趋向。






这是一个开源的Python机器学习库,基于Torch,底层由C++完成。


近日,Facebook宣布要将一切的人工智能系统迁移到PyTorch。






Facebook的AI模型每天为运用自家技术的数十亿人执行数万亿次推理操作。


为了满足这种不断增长的需求,Facebook 需求不断发展本身的 AI 框架。






PyTorch 的诞生


思索到Python在计算迷信范畴的抢先地位,以及其生态残缺性接口易用性,几乎任何框架都不可避免地要提供Python接口。






因此,在2016年,Facebook 的一组人工智能研讨人员末尾与人工智能研讨集团合作,迎接这些应战。


为了更好地了解什么是可用的,什么是需求的,他们实验了机器学习(ML)框架,如 Theano 和 Torch,以及 Lua Torch、 Chainer 和 HIPS Autograd 的先进概念。


经过几个月的开发,PyTorch 诞生了。






PyTorch不是简单地封装Lua Torch提供Python接口,而是对Tensor之上的一切模块停止了重构,并新增了最先进的自动求导系统,成为当下最盛行的动态图框架。


PyTorch 最后版本在开源社区GitHub中惹起了惊动,并且很快成为人工智能研讨人员首选的深度学习库。






PyTorch 提供了一个无约束的环境,在这个环境中,程序员们可以真正地表达本人的想法。


一经推出就立刻惹起了广泛关注,并迅速在研讨范畴盛行起来。






PyTorch自发布起关注度就在不断上升,截至2017年10月18日,PyTorch的热度已然超越了其他三个框架(Caffe、MXNet和Theano),并且其热度还在持续上升中。






2018年终,PyTorch 1.0的发布开启了将 PyTorch 的研讨和消费才能一致到一个框架中工作。






来自 Facebook 的 PyTorch 支持的技术


下面提到的众多好处曾经在 Facebook 上得到了验证。从 Instagram的个性化功能到AR和VR的新兴运用程序,在众多运用中PyTorch都起到了加强技术和服务的作用。同时,也精简了工作流程,减少了改进系统所需的工夫。


Instagram个性化技术


Instagram个性化团队的义务是不断改进和完善引荐引擎。


国外用户可以经过多渠道接收、发现Ins音讯推送,比如Feeds, Stories, Reels,用户经过这些渠道找到与本人有关且感兴味的内容,这一功能都要归功于内后的机器学习算法.






有了 PyTorch,Ins团队可以更快地让Instagram成为探求你感兴味的内容并与家人和冤家分享的最佳平台之一。


如今,不断改进对Instagram用户的引荐意味着训练模型,最大可达10TB


在 PyTorch 之前,训练和调试这些大规模模型能够需求数月工夫,如今有了PyTorch,只需求几周,甚至几天工夫。


在 PyTorch中完成新的训练技术,可以让不同团队数百名工程师疾速采用和实验这些技术。它还简化了跨团队标准的创建,使部署和改进这些模型变得愈加容易。


该团队还对其编写和训练基础设备停止了改进,允许模型自动分片(分成更小的块) ,以便在主机上训练更大的模型。


他们还采用了如流水线和分层培训(将一个学习义务分解成一系列子成绩或义务)等培训范式,允许模型在不降低质量的状况下运用更多数据。


人物分割模型


AR和VR正逐渐成为Facebook的重要组成部分。


举例来说,一个内容创作者或普通用户——只是和冤家一同玩短视频的人,他们拍的视频用了个性化、计算机生成的图形和背景。

如今,想象一下他们在本人的移动设备上完成这些,不需求运用专业的绘图软件或者视频制造设备。



这就是AR的运用前景,PyTorch 经过分明加快训练过程并减少这些模型的规模,使其成为能够。


例如,研讨AR体验的研讨人员创建了人物分割模型,这种模型仅运用手机的摄像头就可以跟踪人们在视频中的动作(包括辨认他们的手和头发)。

当软件捕获一个人在物理空间中的地位时,它就会在人物周围放置加强理想图形,以及这些图形应该如何与人物交互。





△ 人物分割可以让人们直接在移动设备上为视频创建AR效果



最后开发这些模型时,它们的大小和复杂性意味着为特定效果部署一个模型能够需求长达三天的工夫,这还不包括调试模型修复任何错误的工夫。


然后还有跨设备的功能成绩。有时模型在某些设备或操作系统上运转速度不如其他设备或操作系统快,导致用户体验不分歧。


如今,运用 PyTorch 开发的相反模型,可以在几分钟内(假如不是几秒钟的话)跨多个设备和操作系统停止部署。

模型运用
Detectron2Go (D2Go)停止训练,这是一个新的、最先进的 PyTorch 扩展。


D2Go是同类工具中的第一个,它允许开发者将他们的机器学习模型从训练阶段不断带到移动设备上的部署阶段。


自从往年4月完成模型迁移到PyTorch 以来,推断工夫提高了14% ,模型加载速度提高了24% ,这使得团队可以在延迟相反的状况下,在移动设备上部署更复杂、更准确的模型。


PyTorch加入网络有害内容对抗


Facebook AI的一个核心重点是部署尖端的机器学习技术,保护人们免受仇恨言论和错误信息等有害内容的损伤。






我们的目的是为每一种内容方式,为世界各地的每一种言语和社区,疾速准确地辨认这些违犯政策的内容。


在大规模对抗不断规避我们系统的敌人时,这项义务难度系数越来越高。


这些应战复杂、巧妙、变化还很快。我们将继续探求人工智能如何成为检测有害内容更有效的工具,为了做到这一点,Facebook AI的工程师们正在应用 PyTorch 来协助他们更快地开发新的、更弱小的模型,并改进当前的模型。


应用PyTorch,Facebook的工程师们开发了 Facebook AI Multimodal (FAIM) ,这是一个外部库和 SDK,允许开发者疾速创建、优化和部署定制的多形式模型,以顺应特定的有害成绩(例如,错误信息和仇恨言论) ,这意味着他们可以经过图像、文本、回复和其他元素片面辨认内容。


FAIM 模型并不依赖于一系列不同的模型,而是专注于本人的内容类型或形式,它可以分析一切类型的内容(图片、视频等)。


一个模型是Whole Post Integrity Embeddings(WPIE) ,这是一个经过训练可以辨认不同方式有害内容的服务。因此,WPIE 对内容有了更深化的了解,可以在各种状况下辨认有害内容,并随着有害内容的新方式的出现迅速改进。






这样做的好处是更快、更有效、更片面地分析内容。例如,看起来无伤大雅的句子或图像,当组合在一同时,能够会呈现出完全不同的上下文。


明天,超过85% 的面向用户的多形式产品模型运用PyTorch和FAIM. 运用 FAIM 创建的模型,如 WPIE,可以了解视觉和文本概念的深层交互,这意味着它们可以更准确和彻底地检测有害内容。


虽然像FAIM这样的人工智能工具并不是我们处理有成绩内容的独一方法,但它们的确协助我们愈加顺应如何大规模应对这些应战。






文本到语音
随着语音助手和相似技术变得越来越普遍,无论是易用性还是可用性,我们的工程师正在努力使语音互动变得像人类交谈一样自然。


这些系统的行为和声响越像人类,我们与他们的互动就越无缝。


如今,Facebook 的工程师团队正在运用 PyTorch 创建一些语音运用程序的模型,这些程序包括 Facebook 的「你的名字如何发音」功能、 Portal 上的语音交互,以及文本到语音(text-to-speech,TTS)功能。






Facebook 的 TTS 团队最近构建并部署了一个具有最先进音频质量的系统,该系统部署在 CPU 服务器上,没有任何专门的硬件。


新的 TTS 系统具有很高的灵敏性,将在 Facebook 产品中创建新的语音运用程序方面发挥作用,这些语音运用程序听起来愈加真实和自然,其中还包括 VR 语音功能和阅读辅助功能


PyTorch简化了 TTS 团队的整个开发流水线,使新模型的开发、实验和训练变得更容易。


在模型训练端,PyTorch 具有方便、灵敏和易于运用的界面、 python 编码、高度优化的操作员内核的综合套件以及高效的multi-GPU原语,使模型既易于调试又能疾速停止大规模训练。


在模型推理和部署方面,PyTorch 有一个弱小的、基于TorchScript的模型优化管道,可以将计算图转换为部署环境中最有效的方式。


PyTorch 的轻量级和高功能移动运转时(runtime)为团队提供了低计算和内存占用的高功能模型推理服务。


在将来,部分归功于PyTorch,语音系统不只可以了解越来越多的言语,而且还可以根据语境线索做出相应的反应,比如某人声响的音调或音量,甚至是背景噪音的大小。


光学字符辨认
众所周知,互联网是图片汇集地




△ 图片买卖公司gettyimages官网截图





了解图片中出现的文本,无论是个人照片还是商业照片,包含信息的图像,如地图或菜单,甚至只是一个风趣的meme,会变得越来越重要。


照片搜索,视障人士的屏幕阅读器,以及辨认和删除有害内容都依赖于机器学习系统,该系统可以从图像和视频中分析文本


其中一个系统是 Facebook AI 开发的光学字符辨认(OCR)系统

OCR 可以从图像和视频中定位和提取多种言语文本,用于从残缺性到搜索的各种案例。经过将OCR的框架切换到PyTorch,团队曾经可以使系统愈加强壮,更容易。



OCR 有两个次要模型: 一个用于文本检测,另一个用于文本辨认


文本检测模型是运用 Detectron 2训练的,这是一个基于PyTorch的目的检测模型库。部署和调试。


思索到训练这些模型所需的数据量和模型本身的大小,延迟通常是开发人员所关怀的成绩。


但是转移到 PyTorch 就会变得愈加流利,这将允许他们在模型的体系结构上停止疾速的实验和迭代,并且愈加有效地调试和部署模型。






该团队目前正在开发一个新的端到端模型,它可以在一个一致的设计中处理文本检测和文本辨认,这个设计从训练到部署将完全基于 PyTorch.


将AI模型迁移至PyTorch的优势在哪?


PyTorch 迁移的目的是为工程师和开发人员创建一个更顺畅的端到端开发人员体验。


平均每天有4000多个模型在 PyTorch 上运转。


Facebook 的开发人员在他们的模型完全迁移到 PyTorch 之前阅历了多个阶段,包括关键的离线和在线测试训练(通常还有再训练)、推断和发布


还停止了多个测试,以检查 Caffe2和 PyTorch 之间的功能和正确性差异,这能够需求工程师长达数周的工夫才能完成。






有了 PyTorch 作为支持 Facebook 一切人工智能工作负载的底层平台,工程师可以在几分钟内而不是几周外部署新的人工智能模型,建立更弱小、更高效的系统,为新的体验提供动力等等。


以 PyTorch 作为常用的人工智能框架优势:


1、人工智能模型更容易构建、编程、测试和调试


2、研讨和消费环境变得愈加严密


3、在设备上部署加快


目前有超过1800个实体为 PyTorch 社区做出贡献,包括加州理工学院等机构和 OpenAI 等推进人工智能研讨的公司。


论坛拥有超过4万的活跃用户,在GitHub上有超过7万的下游项目运用 PyTorch。


在学术方面,仅从2019年6月到2020年6月,PyTorch 在 ArXiv 上的援用数量就比去年同期增长了127% .


根据谷歌学术搜索,PyTorch 论文的原始版本被援用了4400多次。










参考材料:

https://ai.facebook.com/blog/pytorch-builds-the-future-of-ai-and-machine-learning-at-facebook/








本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

大神点评1

核平小日a 2021-6-7 18:49:18 显示全部楼层
分享了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册