FPGA云服务器为何是人工智能的底层加速器?

数据观  •  扫码分享
我是创始人李岩:很抱歉!给自己产品做个广告,点击进来看看。  

 由腾讯云基础产品中心、腾讯架构平台部组成的腾讯云FPGA联合团队在这里向读者分享,传统FPGA存在什么样的问题、FPGA与其他计算硬件平台的区别是什么?腾讯云FPGA的价值和应用案例有哪些?

 FPGA诞生至今已有30余年,此前主要应用于大型互联网科技公司,但是并没有被普及应用。1月20日,腾讯云推出国内首款高性能异构计算基础设施——FPGA 云服务器,将以云服务方式将大型公司才能长期支付使用的 FPGA 普及到更多企业,企业只需支付相当于通用CPU约40%的费用,性能可提升至通用CPU服务器的30倍以上。

  行业背景

 随着 AI 这股热潮的发展,业界对人工智能发展的热情逐渐高涨,人工智能也成为了未来发展的趋势。中小型企业也期望搭上人工智能这辆列车。FPGA能够从底层开始变革人工智能的设计逻辑,推动全行业在人工智能领域的创新步伐。

 不过,过去中小企业部署 FPGA 面临诸多问题:FPGA 硬件成本高、灵活性差、一次性采购投入大,需要高昂的费用和巨大精力进行 FPGA 的定制和采购, FPGA 硬件交易价格不透明,为保障服务稳定需高额的运维 IT 成本,并需配备相应的硬件工程师和软件工程师。

 同时企业接下来还会面临 FPGA 芯片更新换代带来的资源闲置流转问题。虽然 FPGA 知识产权(FPGA IP,FPGA Intellectual Property)提供了业务所需的硬件加速功能,但研发周期长,研发投入和风险高,令诸多企业望而却步。

 FPGA是什么?

 人工智能包括三个要素:算法,计算和数据。人工智能算法目前最主流的是深度学习。计算所对应的硬件平台有:CPU、GPU、FPGA、ASIC。由于移动互联网的到来,用户每天产生大量的数据被入口应用收集:搜索(百度)、通讯(QQ、微信)。我们的 QQ、微信业务,用户每天产生的图片数量都是数亿级别,如果我们把这些用户产生的数据看成矿藏的话,计算所对应的硬件平台看成挖掘机,挖掘机的挖掘效率就是各个计算硬件平台对比的标准。

 通用处理器(CPU)可提供高度的灵活性和易用性,可以低廉的价格生产,并且适用于多种用途和重复使用。但性能相对缺乏效率。

 专用集成电路(ASIC)可提供高性能,但代价是不够灵活且生产难度更大。这些电路专用于某特定的应用程序,并且生产起来价格昂贵且耗时。

 从灵活性而言,介于 CPU 和 ASIC 两者之间的处理器,使用比较多的异构处理器目前有两个,一个是 GPU,一个是 FPGA。

 FPGA 属于一类更通用的可编程逻辑设备(PLD), FPGA 既能提供集成电路的性能优势,又具备 CPU 可重新配置的灵活性。简单来说,FPGA 是一种可重新配置的「通用集成电路」。

 GPU 的灵活性是介于 FPGA 与 CPU 之间。GPU 的核心数量一般是 CPU 的成百上千倍,计算能力要比 CPU 多出几个数量级,也更适合进行并行计算。但是如果计算里面有大量的分支,或者算法的数据前后存在依赖关系,使得算法无法并行运行,则 GPU 的性能优势会被大大减弱。

 相比 GPU,FPGA 的可操控粒度更小,具备更高的灵活度和算法适应性。FPGA 能够简单地通过使用触发器(FF)来实现顺序逻辑,并通过使用查找表(LUT)来实现组合逻辑。当算法需要并行计算能力时,可以将大部分的逻辑资源都用来做计算,达到更高的计算效率;当算法需要更多的控制流程时,可以将大部分的逻辑资源都用来做控制。(实际的 FPGA 内部也存在大量的硬核来完成固定的功能)。正是基于 FPGA 资源的高可控度,可以带来算法实现时的灵活度。

 FPGA 全称「可编辑门阵列」(Field Programmable Gate Array),其基本原理是在 FPGA 芯片内集成大量的数字电路基本门电路以及存储器,而用户可以通过烧写 FPGA 配置文件来来定义这些门电路以及存储器之间的连线。这种烧入不是一次性的,即用户今天可以把 FPGA 配置成一个图像编解码器,明天可以编辑配置文件把同一个 FPGA 配置成一个音频编解码器,这个特性可以极大地提高数据中心弹性服务能力。所以说在 FPGA 可以快速实现为深度学习算法开发的芯片架构,而且成本比设计的专用芯片(ASIC)要便宜,当然性能也没有专用芯片(ASIC)强。ASIC 是一锤子买卖,设计出来要是发现哪里不对基本就没机会改了,但是 FPGA 可以通过重新配置来不停地试错知道获得最佳方案,所以用 FPGA 开发的风险也远远小于 ASIC。

FPGA云服务器为何是人工智能的底层加速器?

 腾讯云FPGA的行业价值

 腾讯云带来的革命性进展是:将 FPGA 部署时间从数月缩短到数分钟,企业可按需付费使用 FPGA,极大降低 FPGA 的使用成本,实现高性能 FPGA 硬件加速处理。企业可以通过 FPGA 云服务器进行 FPGA 硬件编程,可将性能提升至通用 CPU 服务器的 30 倍 以上。同时腾讯云率先在国内提供第三方 FPGA 知识产权市场,通过腾讯云服务市场,FPGA 开发者和使用者可以更高效地交易。

 长期以来,FPGA 行业内的提供者和使用者一直缺乏交易平台和信用保证,导致交易环节冗长,很难达成交易。腾讯云服务市场搭建一个简单可靠的 FPGA 知识产权交易市场。

 对于 FPGA 使用者而言,可以在腾讯云服务市场购买已开发并验证好的 FPGA 知识产权功能,可节约长达数月的 FPGA 研发周期,同时采用按需使用付费的模式,能最大化地节省硬件投入成本。

 而 FPGA 开发者可以通过使用腾讯云 FPGA 的开发框架,显著提升研发效率,更专注于核心功能开发,将图像处理功能、深度学习功能等已有的成熟 FPGA 知识产权通过简单封装适配,集成并投放到腾讯云服务市场,开放给 FPGA 使用者使用,分摊 FPGA 知识产权的研发成本。

  FPGA 应用案例

• FPGA 应用案例一

 项目背景:

 随着移动互联网的发展,基于用户社交平台的腾讯每天用户上传的图片越来越庞大,公司目前用于图片转码的业务主要有 QQ 相册、微信及其他业务。图片格式中有 JPEG 格式、WEBP 格式等,WEBP 图片格式比 JPEG 图片格式存储空间小 30%。如果落地存储采用 WEBP 格式替代 JPEG 格式,可以减少三分之一存储空间;而传输分发用 WEBP 格式,还可以降低传输流量,从而提升用户的图片下载体验。而采用 WEBP 的问题在于 WEBP 压缩计算复杂度是 JPEG 压缩的 10 倍以上,采用 CPU 进行 WEBP 转码成本很高,导致很难在业务中全面推广。为了增强图片转码能力,我们使用 FPGA 对图片转码进行加速。

项目结果:

 完成 JPEG 格式图片转成 WEBP 格式图片,测试图片大小为 853x640,FPGA 处理延时相比 CPU 降低 20 倍 ,FPGA处理性能是CPU机器的 6 倍 ,FPGA机型单位成本是 CPU 机型的 1/3。

 表1. FPGA 和 CPU 的计算性能对比

FPGA云服务器为何是人工智能的底层加速器?

• FPGA 应用案例二

项目背景:

 传统上,Google、百度等搜索引擎公司以 Logistic Regression(LR)作为预估模型。早在 2012 年开始,百度开始尝试将 DNN 算法作用于搜索广告,并在2013 年 5 月就开始服务于百度搜索广告系统。近年来异军突起的今日头条在技术上也使用了 DNN 算法,提高新闻的点击率。但是 DNN 算法对系统的计算量明显增大,如果还是用 CPU 进行计算,无法满足系统的延时和吞吐率要求。

 DNN 算法模型为 17*200*20*1 的 4 层模型,要求 4000 个样本的 DNN 计算时延要小于 5ms。如果用 CPU 计算,B6(CPU E5-2620 X 2) 机器的计算时延为 120.55ms*,无法满足要求(计算时间见表2)。因此,我们用 FPGA 对 DNN 计算进行加速,使 4000 个样本的 DNN 计算时延小于 5ms。

项目结果:

 我们在使用 50% 的 FPGA 资源的情况下,将 4000 个样本的 DNN 计算时延减小为 1.2ms,吞吐率达到 6000 集合/s(4000 个样本为 1 个集合),不仅达到了系统对低延时的要求,而且极大地提高了系统的吞吐能力,处理延时降低 100 倍,处理吞吐率提高 5 倍,成本是 CPU 机型的 1/5。说明 FPGA 在 DNN 计算加速上有较明显的优势。

 表2. FPGA 和 CPU 的计算性能对比

FPGA云服务器为何是人工智能的底层加速器?

• FPGA 应用案例三

项目背景:

 深度学习(DL)近年来在语音识别、图片分类和识别、推荐算法等领域发挥了越来越大的作用。深度学习基于深度神经网络理论,用在图片分类的神经网络是其中的一个分支:卷积神经网络(CNN)。随着移动互联网的发展,基于用户社交平台的腾讯每天用户上传的图片越来越庞大,并且增长速度很快。为了增强图片检测的处理能力,降低图片检测成本,我们使用 FPGA 对 CNN 计算进行加速。

项目结果:

 FPGA 完成 CNN 算法的 Alexnet 模型,FPGA 处理性能是 CPU 机器的 4 倍,FPGA 机型单位成本是 CPU 机型的 1/3。

 小结

 当前 AI 火爆,得益于 FPGA 的高密度计算能力以及低功耗的特性,FPGA 率先在深度学习在线预测方向(广告推荐、图片识别、语音识别等)得到了较大规模的部署。

 用户也常常将 FPGA 与 GPU 进行对比,GPU 的易编程性、高吞吐与 FPGA 的低功耗、易部署等特性也各有千秋。相较于 GPU 以及 ASIC,FPGA 的低延时以及可编程性也是其核心竞争能力。

 使用腾讯云 FPGA 云服务,你只需单击几下即可在几分钟内轻松获取并部署你的 FPGA 计算实例。你可以在 FPGA 实例上编程,为你的应用程序创建自定义硬件加速。我们为你提供可重编程的环境,可以在 FPGA 实例上多次编程,而无需重新设计硬件,让你能更加专注于业务发展。

☞点击进入 腾讯云 在数据观的企业栏目>>>

责任编辑:陈近梅

本文被转载1次

首发媒体 数据观 | 转发媒体

随意打赏

云计算 人工智能人工智能百度云阿里云人工智能人工智能预测腾讯云服务器人工智能技术强人工智能fpga
提交建议
微信扫一扫,分享给好友吧。