金山云基于Tesla T4的GPU云服务器上线,性能提升超过350%

by admin on 2020年3月14日

Facebook 开源了 FBGEMM,一个针对服务器推理优化的高性能核心库。
与其他库不同,FBGEMM 最大程度优化了 CPU
性能,通过降低精度计算来加速深度学习模型。 目前 Facebook
已经在自己的服务中使用该库,与目前的生产基准相比,它带来了两倍的性能提升。

机器之心报道

图片 1

FBGEMM 的最大特点是优化低精度数据。
与科学计算中使用的传统线性代数库不同,FBGEMM 不使用 FP32 或 FP64
精度,可以为小批量提供有效的低精度通用矩阵乘法(GEMM)运算,并支持精确损失最小化技术,例如行式(Row-wise)量化和异常值感知量化。

机器之心编辑部

近日,金山云基于Tesla
T4的GPU云服务器正式对外商用,这也是继去年国内首家商用Tesla
V100之后,金山云在GPU云服务器领域再一次拔得头筹,代表金山云在新技术应用上始终处于行业领先水平。作为全面升级的新一代GPU云服务器,T4采用了最新的Turing架构,单卡提供8.1
TFLOPS的单精浮点计算能力和65
TFLOPS的混合精度(FP16/FP32)矩阵计算能力。Tesla T4相比于上一代产品Tesla
P4,其整体性能有了较大的提升,在给定场景下,T4的推理性能提升超过350%。

FBGEMM 已在 Facebook
上大规模部署,加速了许多端到端人工智能服务,包括将英语翻译成西班牙语的速度提高
1.3 倍,减少了 40% 的推荐系统信息源动态内存带宽的使用
,并将机器学习系统 Rosetta 的字符检测速度提升2.4倍(Rosetta 是 Facebook
用来理解文本,图像和视频内容的系统。)

美国时间4月30日,Facebook F8
开发者大会在美国加利福尼亚州的圣何塞举办。在此次开发者大会期间,Facebook开源了简化模型优化的工具——BoTorch和Ax,还发布了Pytorch
1.1。

震撼的多精度推理性能为AI全面加速Tesla
T4基于Turing架构,提供了更加强大的训练和推理能力,在原有对FP32和FP16支持的基础上,Turing架构中的Tensor
Core新增了对INT8和INT4的支持,并探索性地推出了INT1精度模式。通过对多种精度模式的支持,T4能够有效缩短在线预测和离线训练时长。根据Nvidia公布的测试数据,在语言推理的场景中(NLP:
GNMT Model),T4相对于P4,其性能提升超过350%。

图片 2

Facebook F8
大会主要面向围绕该网站开发产品和服务的开发人员及企业家,大会通常包括主题演讲以及
Facebook 新产品、新工具的发布。其名称源自 Facebook 的 8
小时黑客马拉松竞赛。

Tesla T4使用TU104核心,搭载136亿个晶体管,共40个SM(stream
multiprocessor),每个SM单元中有64个CUDA
Core和8个混合精度的矩阵运算单元Tensor Core,共2560个CUDA
core和320个Tensor core,提供8.1 TFLOPS的单精度性能和65
TFLOPS的混合精度(FP16/FP32)性能。此外,T4中还集成了Turing架构首次引入的RT
Core,可实现高效的光线追踪(Ray
Tracing)功能,在图形图像渲染方面有着广泛的应用。目前,金山云基于T4的GPU加速计算服务已全面商用,为诸多客户提供着高性能的计算支撑。

详情请看这里的介绍。

在今年的 Facebook F8
大会上,扎克伯格谈到了过去一年最敏感的隐私问题,称「过去我们常常是先发布,然后发现问题后再解决」,「未来我们会更加谨慎,咨询专家做出评估,并采取更为主动积极的应对策略」。

优异的机器学习能力让技术更智能

(文/开源中国)    

除此之外,Facebook 还发布了 PyTorch 的最新迭代版本——Pytorch 1.1
以及用于简化模型优化流程的新工具 BoTorch 和 Ax。

T4针对深度学习应用场景,进行了全方位的优化。首先,T4卡配备了320个Tensor
Core。Tensor
Core作为专门用于执行张量/矩阵运算的计算单元,能够为训练和推理场景中的矩阵运算提供极大的加速,被广泛用于各种深度学习的场景中。Turing
Tensor
Core相对于先前的Volta版,强化了推理的功能,支持了INT8和INT4两种精度模式,算力分别高达130TOPS和260TOPS。其次,T4继承了Volta架构中首次引入的Multi-Process
Service(MPS)功能,优化了对batch较小时推理的性能,减少启动延迟,从而能够支持更多的并发请求。

开源 Ax 和 BoTorch 简化 AI 模型优化

及时响应是提升用户参与度的关键,随着模型准确性和复杂性的提高,快速交付正确答案所需的计算能力也在呈指数级提升。T4拥有先进的实时推理性能,在会话式人工智能、推荐系统和可视化搜索等场景的处理上,可提供低延时、高吞吐量的计算能力,进而实时满足更多的处理请求。T4通过优异的机器学习推理能力让技术应用更为智能。除了深度学习外,T4在视频转码和虚拟桌面等诸多场景中都能够发挥重要的作用。

在 F8 开发者大会上,Facebook 开源了两款全新的 AI 工具:Ax 和
BoTorch,让开发者无需大量数据就能在研究与产品中解决 AI 难题。

作为中国领先的云计算服务提供商,金山云始终致力于通过最前沿的技术、最高效的产品为客户提供更加安全、稳定、便捷的云服务。目前基于T4的
GPU云服务器已经开放商用,卓越的深度学习推理性能,让用户能够更加快速、高效地构建AI业务,运行大规模模型推理应用。同时,基于Tesla
T4的实例具备易扩展和高性价比的特性,能够为用户节省大量计算成本,有效提升AI产品迭代的速度,提高企业AI竞争力。

据 Facebook 博客介绍:

文章来源:DOIT

BoTorch 是一个基于 PyTorch 的灵活、新式的贝叶斯优化库;

Ax 是一个理解、管理、部署、自适应实验的易获取、通用 AI 平台;

贝叶斯优化库 BoTorch

图片 3

项目地址: ()

其实,BoTorch 并非首个贝叶斯优化工具,但 Facebook
发现已有的工具难以扩展或者自定义,无法满足他们日益增长的需求。所以,Facebook
开发了全新的方法,让它能够支持多噪声目标函数优化,可扩展到高度并行的测试环境,利用低保真度逼近、优化高维参数空间。

Facebook 利用 PyTorch
的计算能力,重新思考了实现模型和优化程序的路径,开发出了
BoTorch。整体来说,BoTorch
提供了一个模块化以及用于组合贝叶斯优化原语的易扩展接口,包括概率代理模型,采集函数(acquisition
functions)和优化器。它还提供以下支持:

当前硬件上的自动差分、高度并行化计算,以及通过 PyTorch
与深度学习模块的无缝集成。

GPyTorch 中最顶级的概率建模,包括支持多任务高斯过程、可扩展
GP、深度核学习、深度 GP 和近似推理。

通过再参数化技巧的基于蒙特卡罗的采集函数,使得实现新思想变得简单,不需要对基础模型施加限制性假设。

Facebook 表示,BoTorch
大大提高了贝叶斯优化研究的开发效率。它为无法分析解决方案的新方法打开了大门,包括批量采集函数和正确处理具有多个相关结果的丰富多任务模型。BoTorch
的模块化设计使研究人员能够更换或重新排列单个组件,自定义算法的各个方面,从而使他们能够对现代贝叶斯优化方法进行最前沿的研究。

自适应实验可扩展平台 Ax

为了配合 BoTorch,Ax 提供了易于使用的
API,以及面向产品和研究复现所需的管理。在开发层面,这使得开发人员能够专注于应用的问题,例如探索配置等;在研究层面,它让研究人员能够花更多时间专注于贝叶斯优化的构建块。

下图展示了 Ax 和 BoTorch 在优化生态系统中的应用。以 Facebook 为例,Ax
与其主要 A / B
测试、机器学习平台,以及模拟器、其他后端系统相接,需要最少的用户参与来部署配置以及收集结果。

图片 4

Ax 让开发人员能够创建自定义优化应用程序,或者从 Jupyter
笔记本中临时优化。新算法可以使用 BoTorch 库或其他应用程序实现。

通过以下核心功能,Ax 降低了开发人员和研究人员进行自适应实验的障碍:

跨框架接口:实现新的自适应实验算法。虽然 Ax 大量使用 BoTorch
作为其优化算法,但提供了通用的 NumPy 和 PyTorch
接口,以便研究人员和开发人员可以插入任何框架中可实现的方法。

可定制的自动化优化程序。根据实验的特征,Ax 从贝叶斯优化、 bandit
优化以及其他技术中选择适当的优化策略。用户可以轻松定制这些默认例程,以满足其特定应用程序的需求。

系统理解工具。交互式的可视化让用户可以查看代理模型、执行诊断,以及了解不同结果之间的权衡。

人可参与的优化。除了支持多个 objective 和系统理解之外,Ax
的底层数据模型还使实验者能够在收集新数据时安全地介入其搜索空间和目标。

创建自定义优化服务的能力。多个 API 使得 Ax
既可用作部署控制、收集数据的框架,也可用作可通过远程服务调用的轻量级库。

用于评估新的自适应实验算法的基准测试套件。轻松比较不同算法在测试问题上的优化性能,并保存结果,以便进行可重复的研究。

为了展示 Ax 是如何工作的,以下是一个使用人工 Booth
函数作为评估函数的简单优化循环示例:

发布 PyTorch1.1

自 2017 年开源以来,PyTorch
已经成为全世界最受欢迎的深度学习框架之一。去年秋季发布的《2018 年 GitHub
Octoverse 报告》称 PyTorch 是 GitHub
平台上最受欢迎的开源项目之一,全世界有 3100 万开发者使用 PyTorch。去年
12 月,在 NeurIPS 2018 大会上,Facebook 发布了 PyTorch 1.0
正式版。时隔半年,今天,Facebook 发布了 PyTorch1.1。

项目地址:

官方博客:

与之前的版本相比,PyTorch 1.1 具备以下特性:

提供 TensorBoard 的官方支持;

升级了即时编译编译器;

提供新的 API;

不再支持 CUDA 8.0。

提供 TensorBoard 的官方支持

TensorBoard 是 Tensorflow
中的一个在浏览器内直接可视化机器学习模型的工具。作为一个用于检查和理解训练脚本、张量和图的
web 应用程序套件,用户可利用 TensorBoard
进行第一级和原生可视化支持以及模型调试。PyTorch
中没有这样的工具,之前有一些方法可以让开发者们在 PyTorch 中使用
TensorBoard,但 PyTorch 一直没有提供官方支持。

现在,PyTorch 1.1 开始官方支持 TensorBoard,只要写入一个简单的「from
torch.utils.tensorboard import
SummaryWriter」命令即可。直方图、嵌入、图像、文本、图等可在训练中实现可视化。不过,PyTorch
对 TensorBoard
的官方支持目前还处于试验阶段。文档浏览地址:

升级了即时编译编译器

PyTorch 发明者 Soumith Chintala 认为,JIT
编译器促成了深度学习框架的里程碑式性能改进。PyTorch1.1
升级了用于优化计算图的 JIT 编译器。

Chintala
说道:「一直以来,我们都与英伟达紧密合作,基本上将所有优化都添加到 JIT
编译器中……新版 JIT 编译器实际上接近 cuDNN
的速度,这意味着用户的工作效率会提高很多。」

Chintala 称:「JIT 编译器初版在 PyTorch1.0
中即可使用,但其工作速度并没有比 PyTorch 的基本模式快多少。新的 JIT
编译器是研究者和自动驾驶模型构建者非常需要的一种工具。」JIT 编译器还将为
PyTorch 带来更多的 Python 编程语言概念。

现在,JIT 编译器能够在运行时确定如何生成最有效率的代码。Chintala 希望
JIT 编译器可以为自定义 RNN 模型提供更佳的性能。

提供新的 API

PyTorch1.1 具有新的 API,支持布尔张量以及自定义循环神经网络。

不再支持 CUDA 8.0。

CUDA 8.0 与 PyTorch 1.0 搭配使用效果较好,但 PyTorch 1.1 将不再支持 CUDA
8.0。

主要性能提升

nn.BatchNorm CPU 推理速度增加 19 倍

nn.AdaptiveAvgPool:将常见情况下 size 为 1 的输出加速 30 倍

nn.Embedding Bag:CPU 性能提高了 4 倍

Tensor.copy_:将更大的张量复制加速 2-3 倍。

torch.nonzero:比 CPU 上的 numpy 快 2 倍

改进用于 Pascal 和新 GPU 的缓存分配器;Mask-RCNN 上的内存使用率提升了
10-20%

reducation functions:将一些大张量加速 50-80%

[JIT] 图融合器:在广播的情况下更好地融合反向图

[JIT] 图融合器:用于推理的 batch_norm 融合

[JIT] 图融合器:用于推理的 layer_norm 融合

参考链接:

本文为机器之心报道,转载请联系本公众号获得授权。

fromaximportoptimizebest_parameters,_,_,_=optimize(parameters=[{“name”:”x1″,”type”:”range”,”bounds”:[-10.0,10.0],},{“name”:”x2″,”type”:”range”,”bounds”:[-10.0,10.0],},],evaluation_function=lambdap:(p[“x1”]+2*p[“x2”]-7)**2+(2*p[“x1”]+p[“x2”]-5)**2,minimize=True,)best_parameters#returns{‘x1′:1.02,’x2’:2.97};trueminis

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图