点上方计算机视觉联盟获取更多干货

仅作学术分享,不代表本公众号立场,侵权联系删除

转载于:新智元

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

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/

-------------------

END

--------------------

我是王博Kings,985AI博士,华为云专家、CSDN博客专家(人工智能领域优质作者)。单个AI开源项目现在已经获得了2100+标星。现在在做AI相关内容,欢迎一起交流学习、生活各方面的问题,一起加油进步!

我们微信交流群涵盖以下方向(但并不局限于以下内容):人工智能,计算机视觉,自然语言处理,目标检测,语义分割,自动驾驶,GAN,强化学习,SLAM,人脸检测,最新算法,最新论文,OpenCV,TensorFlow,PyTorch,开源框架,学习方法...

这是我的私人微信,位置有限,一起进步!

王博的公众号,欢迎关注,干货多多

王博Kings的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(上)

博士笔记 | 周志华《机器学习》手推笔记第八章集成学习(下)

博士笔记 | 周志华《机器学习》手推笔记第九章聚类

博士笔记 | 周志华《机器学习》手推笔记第十章降维与度量学习

博士笔记 | 周志华《机器学习》手推笔记第十一章稀疏学习

博士笔记 | 周志华《机器学习》手推笔记第十二章计算学习理论

博士笔记 | 周志华《机器学习》手推笔记第十三章半监督学习

博士笔记 | 周志华《机器学习》手推笔记第十四章概率图模型

点分享

点收藏

点点赞

点在看

升级! Facebook 模型全部迁移至 PyTorch 框架相关推荐

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

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 转自 | 新智元 来源 | Facebook AI Blog 编辑 ...

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

    来源:新智元本文约3800字,建议阅读8分钟PyTorch 占领 Facebook. [ 导读 ] 2017年,PyTorch诞生,成为当下最流行的深度学习框架.近日,Facebook宣布让PyTor ...

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

    来源:新智元 PyTorch自2017年推出以来,就迅速占领GitHub热度榜榜首,一度有赶超Tensorflow的趋势. 这是一个开源的Python机器学习库,基于Torch,底层由C++实现. 近 ...

  4. 图像迁移风格保存模型_图像风格迁移也有框架了:使用Python编写,与PyTorch完美兼容,外行也能用...

    原标题:图像风格迁移也有框架了:使用Python编写,与PyTorch完美兼容,外行也能用 选自Medium 作者:Philip Meier 机器之心编译 编辑:陈萍 易于使用的神经风格迁移框架 py ...

  5. PyTorch框架学习二十——模型微调(Finetune)

    PyTorch框架学习二十--模型微调(Finetune) 一.Transfer Learning:迁移学习 二.Model Finetune:模型的迁移学习 三.看个例子:用ResNet18预训练模 ...

  6. PyTorch框架学习十九——模型加载与保存

    PyTorch框架学习十九--模型加载与保存 一.序列化与反序列化 二.PyTorch中的序列化与反序列化 1.torch.save 2.torch.load 三.模型的保存 1.方法一:保存整个Mo ...

  7. 用pytorch框架搭建一个写藏头诗的模型

    记得两年多以前,在网上看到一个关于机器生成诗歌的新闻,感觉好神奇. 工作之后开始用pytorch框架,忙里偷闲,自己也试做了这样一个模型. 先展示一下模型生成的两首五言诗(以'宅女姜璐'以及'宅女胡盼 ...

  8. PyTorch框架:(1)基本处理操作

    目录 1.PyTorch框架介绍 2.安装Pytorch 2.1.CPU版本的安装命令: 2.2.GPU版本的安装命令: 2.2.1.安装CUDA 3.基本使用方法 4.Pytorch中的自动求导机制 ...

  9. PyTorch框架:(4)如何去构建数据

    接PyTorch框架:(3) 1.最基本的方法 (1)使用模块 模块1:TensorDataset.模块2:DataLoader 自己去构造数据集,然后一个batch一个batch的取数据,自己去写构 ...

最新文章

  1. 06章 映射一对多双向关联关系、以及cascade、inverse属性
  2. python端午dragboat消消乐 美轮美奂的界面效果
  3. cookie和session的区别和用法
  4. 破解数据匮乏现状:纵向联邦学习场景下的逻辑回归(LR)
  5. JAVA基础整理-6.Java数据类型
  6. MySQL实时获取有性能问题的SQL
  7. x-bov16 firmware android,MSD0431XX 松下
  8. DayDayUp:计算机技术与软件专业技术资格证书之《系统集成项目管理工程师》课程讲解之十大知识领域之4辅助—项目采购管理
  9. 心中无码便是高清,用“脑补”除马赛克!
  10. vue+css3 旋转木马效果
  11. hdu2154跳舞毯(dp)
  12. 2019(第八届)国际桥梁与隧道技术大会-会议议程
  13. org.apache.flink.util.FlinkRuntimeException: Exceeded checkpoint tolerable failure threshold
  14. 哪个服务器开了无限火力,国服无限火力已经开放入口?有玩家已经提前卡进无限火力模式...
  15. 前端开发需要学习什么?
  16. PHP批量下载远程文件到本地
  17. centos7 如何编译ffmpeg 带x265和nvenc
  18. 机器学习中对数据集进行拆分及模型训练
  19. python3中编解码、进制、字节、bytes及爬虫中经常遇到的编码问题的总结
  20. 【jsdoc-to-markdown】一步步实现js文件的文档生成

热门文章

  1. feed流和瀑布流_基础知识讲解:什么是feed流?(图文)
  2. python如何进行垃圾回收_python垃圾回收机制
  3. 用c语言编程计算10,计算方法c语言编程.doc
  4. php怎么查询数据库,php怎么查询数据库
  5. php fs 上传文件,PHP操作GridFS存储文件到MongoDB的三种方式
  6. python用circle画多边形_pythonopencv圆、椭圆与任意多边形的绘制
  7. html 调用tcpdump,Linux tcpdump命令的用法详解(内容较多)
  8. android开机动画多长时间_Android系统开机动画的一生
  9. Android表格拖拽排序,Android 拖拽排序控件 DragGridView
  10. spring aop 必须的包 及里面用到的东西_学习Spring的思考框架