30 倍效率,4 成费用,创业公司拥抱 AI 的另一个选择

作者:腾讯云 FPGA 团队

前景

随着 AI 这股热潮的发展,业界对人工智能发展的热情逐渐高涨,人工智能也成为了未来发展的趋势。中小型企业也期望搭上人工智能这辆列车。

过去,中小企业部署 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。

处理器

优点

缺点

通用处理器(CPU)

高度的灵活性和易用性,可以低廉的价格生产,并且适用于多种用途和重复使用

性能相对缺乏效率

专用集成电路(ASIC)

高性能

不够灵活,生产难度更大

图形处理器(GPU)

更适合进行并行计算

如果计算里面有大量的分支,或者算法的数据前后存在依赖关系,使得算法无法并行运行,则 GPU 的性能优势会被大大减弱。

可编辑门阵列(FPGA)

提供集成电路的性能优势,又具备 CPU 可重新配置的灵活性, 可操控粒度更小,具备更高的灵活度和算法适应性

性能没有专用芯片(ASIC)强

腾讯云国内首发 FPGA

1 月 20 日,腾讯云推出国内首款高性能异构计算基础设施——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 的计算性能对比

机型

CPU E3-1230 V2 @3.3GHz

FPGA

延时ms

1170

60

吞吐率(张/s)

20

133

成本对比

1.00

0.33

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 的计算性能对比

机型

CPU E5-2620 x2

FPGA

延时ms

120.55

1.2

吞吐率(集合/s)

1200

6000

成本对比

1.00

0.2

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 实例上多次编程,而无需重新设计硬件,让你能更加专注于业务发展。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DT数据侠

科技巨头都爱的Data Pipeline,如何自动化你的数据工作?

对于做数据分析或者需要建模的人来说,面对庞杂的大数据,最棘手的难题往往就是多线程工作了。面对这种情况,你其实可以尝试搭建一套Data Pipeline系统。Da...

910
来自专栏PPV课数据科学社区

2017年最全的数据科学学习计划(完结篇)

注: 在PPV课微信公众号回复“数据科学计划”获取PDF全文,内附学习资料网址推荐,让学习直达源头,不用找度娘更省心! 本文为2017年最全的数据科学学习计划(...

37711
来自专栏QQ会员技术团队的专栏

请拿数据说质量

前面我们从被动角度发现质量改进点,今天我们聊聊主动发现,即如何建立一个产品质量度量指标?如何监控?

892
来自专栏机器之心

资源 | GitHub上的五大开源机器学习项目

4167
来自专栏深度学习与数据挖掘实战

干货|程序员到机器学习工程师飞跃的实战经验

“我是一名软件开发工程师,阅读过一些关于机器学习方面的书籍和博客文章,也学习过一些在线的关于机器学习的公开课。但是,我仍然不知道怎么应用到工程实践中……”

831
来自专栏AI研习社

融合 Caffe2、ONNX 的新版 PyTorch 发布在即,能否赶超 TensorFlow?

AI 研习社按:上个月,Caffe2 代码正式并入 PyTorch,就在今天,Facebook AI 系统与平台部(AI Infra and Platform)...

1453
来自专栏熊二哥

项目管理快速入门02--“多快好省”

项目管理最重要的四个要素就是jd的口号,“多快好省”,当然这是不可能的,哈哈。 多:项目范围管理 快:项目时间管理 好:项目质量管理 省:项目成本管理 这部分内...

24110
来自专栏AI科技评论

开发 | 新版PyTorch发布在即,融合Caffe2、ONNX

AI 科技评论按:上个月,Caffe2 代码正式并入 PyTorch,就在今天,Facebook AI 系统与平台部(AI Infra and Platform...

1404
来自专栏AI科技评论

智能化软件开发:程序员与 AI 机器人一起结对编程

AI 科技评论按:伴随着 AI 技术的发展和应用,人们对「人工智能」的认知也不断被刷新和拓展,在大众眼中,AI 正变得越来越强大,不仅可以下棋博弈战胜人类的顶尖...

995
来自专栏顶级程序员

王咏刚:为什么 AI 工程师都要懂些架构?

作者简介 王咏刚 Google软件工程师 著名技术撰稿人和IT演说家 创新工场AI工程院副院长 AI 时代,我们总说做科研的 AI 科学家、研究员、算法工程师...

3396

扫码关注云+社区