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 条评论
登录 后参与评论

相关文章

来自专栏AlgorithmDog的专栏

游戏智能系列之三:有限状态自动机

游戏智能是很传统的领域,有限状态机和行为树是两种主要方法。今天这篇博客主要介绍有限状态自动机。 ? 1. 有限状态机 有限状态机 (Fi...

20810
来自专栏每周一脱topic

推荐系统-学习总结

推荐系统目前几乎无处不在,主流的app都基本应用到了推荐系统。

88213
来自专栏人工智能头条

TalkingData大规模机器学习的应用

1324
来自专栏腾讯大数据的专栏

推荐系统算法初探

0. 序言 最近因为PAC平台自动化的需求,开始探坑推荐系统。这个乍一听去乐趣无穷的课题,对于算法大神们来说是这样的: ? 而对于刚接触这个领域的我来说,是这样...

31910
来自专栏互联网数据官iCDO

排名到底和谁相关?---论域名权威与品牌搜索量

两周前,我很高兴有机会在Search Love San Diego的活动上演讲。那次演讲的主题围绕“谷歌是否还重视链接?”该演讲着眼于谷歌在2017年会如何以及...

1144
来自专栏数据科学与人工智能

机器学习和数据科学领域,最流行的语言是什么?

在开展数据分析项目或职业生涯规划时,应选哪一种编程语言?对此问题,不同职业背景的人给出的答案各不相同。让我们从数据角度来看看,人们在机器学习和数据科学方面所选的...

2693
来自专栏CDA数据分析师

【资源】想进行数据科学项目却没有数据集?25个数据集网站汇总

原作者 Kunal Jain 编译  Mika 本文为 CDA 数据分析师原创作品,转载需授权 前言 如果用一个句子总结学习数据科学的本质,那就是: 学习数据科...

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

【数据可视化专题】做好数据可视化的五虎将

  因为接下来要做卖家后台数据纵横的改版,对数据可视化这块儿又进行了研究和心得的整理,跟大家分享下数据可视化常用的五种方式,希望能给大家带来思路的拓展。概念 ...

3384
来自专栏机器学习算法全栈工程师

【干货收藏】不要担心没数据!史上最全数据集网站汇总

本文将为您提供一个网站/资源列表,从中你可以使用数据来完成你自己的数据项目,甚至创造你自己的产品。

5725
来自专栏机器学习算法与Python学习

为什么程序员一定要学深度学习

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第二 【Python】:排名第三 【算法】:排名第四 对于深度学习,我也是一个初学者,能力...

3274

扫码关注云+社区