深入分析这家成立20年的英国公司在人工智能领域的核心技术竞争力

四月中旬,英特尔宣布收购一家名为omnitek的英国公司,旨在“增强fpga在视频(video)和视觉(vision)领域的产品组合”。对于很多人来说,omnitek并不是一个非常熟悉的名字。那么,究竟它为何受到了英特尔的青睐,以及这次收购背后的深层技术逻辑为何,就让老石在本文为大家深入分析。
(omnitek ceo与创始人,图片来自omnitek)
omnitek是何方神圣
omnitek并不是一个传统意义上的初创公司,它成立于1998年,总部位于英格兰南部的贝辛斯托克(basingstoke),见下图。
贝辛斯托克这个小城是英国比较有名的经济和科技中心之一,巴宝莉(burberry)就起源与此。这里集中了不少世界知名的大公司的总部或欧洲总部,其中包括很多半导体和科技公司,比如索尼、摩托罗拉、意法-爱立信等,华为的欧洲总部也曾经设在这个小城。
虽然omnitek已经成立了超过20年,但员工总数只有四十人左右,也没有公开的融资记录。从这些方面来看,omnitek只能算是一个中型、甚至小型的公司。
然而,在这20年中,omnitek开发和积累了超过220个fpga硬件ip、对应的软件系统、以及开发平台,见下图。
(图片来自omnitek)
这些fpga ip主要集中在视频和图像处理领域,包括使用fpga进行超高清视频图像的旋转、形变、3d映射、编解码等等各类处理,见下图。
(图片来自omnitek)
这些应用一直是fpga的传统应用领域,特别是在诸如视频会议、投影、显示屏等场合。因此,就像在公布收购后的官方新闻稿中所说,这次收购将会极大的补强英特尔fpga在视频和图像处理领域的ip资源。
然而,老石注意到,omnitek在2018年底发布了一款自研的深度学习处理器(dpu)。与市面上任何基于fpga的同类产品相比,omnitek宣称这款dpu的性能有着50%的优势。同时,与gpu相比,这款dpu在给定的功耗或成本限制下也有着更加优异的性能。
在当前各类人工智能处理器xpu层出不穷的时候,omnitek这个官宣大胆而自信。老石认为,这也是英特尔收购omnitek背后的主要逻辑。
(获取omnitek深度学习处理器技术白皮书,及相关幻灯片及视频资料,请在“老石谈芯”后台回复“dpu”)
“地表最强”fpga深度学习处理器
老石在之前的文章《fpga在人工智能时代的独特优势》一文中讲过,使用fpga对人工智能应用进行硬件加速主要有以下几个优点:
基于这些优点,omnitek选择使用fpga作为其深度学习处理器的主要实现平台,这与目前业界包括微软在内的很多公司不约而同,见下图。
(图片来自微软)
事实上,与微软在“脑波项目”中使用的dpu相比,omnitek的dpu在使用模型上也有着很多相似之处。这类dpu,也称为soft dpu,最主要的特点就是提供一个基础的硬件架构,用来进行深度神经网络的计算加速;同时提供完整的软件编程接口和编译器,使得上层用户使用高层语言对神经网络进行配置。
这种架构的最主要优点,就是实现了软硬件的完全解耦,这也让使用者无需掌握任何硬件相关的专业知识,从而只需要专注于算法和模型本身的设计,并可以通过诸如python、c/c++等高层语言对模型进行调整和配置。
与高层次综合(hls)相比,这种基于fpga的dpu设计方法无论在性能、开发敏捷性、编译时间等各个领域都有着明显优势。
omnitek dpu的主要特点
与微软dpu相比,omnitek的dpu又有着自己独有的特点。它的系统架构图如下所示。
(图片来自omnitek)
可以看到,用户可以使用tensorflow、caffe或者openvino等主流机器学习框架构建的模型,或者是自己用高层语言编写的模型,通过dpu编译器生成特定的微代码(microcode),这与微软dpu采用数据流图的方式不同。这些微代码将被用来配置fpga上的dpu数据处理流水线,如下图所示。
(图片来自omnitek)
omnitek dpu的另一个主要特点是可以通过编程,调整对不同dnn拓扑的支持效率。通常来讲,某种dnn硬件加速器往往是针对某种特定的dnn拓扑设计的。以谷歌的tpu为例,它对于阿尔法狗所使用的cnn模型(cnn0)有着很高的运行效率,高达78.2%,平均性能也可以达到86tops,见下图。然而对于另外的cnn模型,如googlenet(cnn1),谷歌tpu只能达到46.2%的运行效率,性能也骤降至14.1tops。
由此可见,不同cnn模型对于单一硬件架构的实际性能有着很大影响。除cnn之外,诸如rnn和mlp等其他dnn拓扑有着和cnn明显不同的特点。除此之外,随着人工智能理论研究的不断推进,想必会不断涌现出其他更加新颖的网络拓扑结构。因此,如果使用相同的硬件架构对这些dnn拓扑“一视同仁”,则必然不会得到满意的性能。
(图片来自omnitek)
对于这种情况,也只有fpga能够快速调整硬件结构,以适应不同的网络拓扑结构,这是asic或gpu都无法实现的。而这也是omnitek dpu的另一个主要特点。
此外,omnitek dpu还使用了“片上网络(noc)”技术,将多个dpu进行互联和数据共享,如下图所示。noc是目前在大型芯片上进行数据共享和高速传输的新型技术,在赛灵思最新的acap架构上,也使用了noc技术,这在之前的文章《赛灵思下一代计算平台acap技术细节全揭秘》中有过深入解读,有兴趣的读者可以看看,在本文中就不再赘述。
(图片来自omnitek)
性能方面,omnitek公布了在英特尔arria10 gx1150 fpga上实现的dpu性能数据,如下所示。
单就上面的数字来看,特别是tops一栏,只能说差强人意。不过性能功耗比(gops/w)比较高,能够体现fpga的低功耗优势。同时考虑到arria10是一款基于20nm工艺的fpga,因此可以预期当使用更先进的fpga,如stratix 10(14纳米)或agelix(10纳米)时,上面的数字将无疑会有大幅提升。
事实上,omnitek也有使用赛灵思16纳米ultrascale+ fpga所取得的性能结果,比上面的数据有着明显提升,本文不再给出,有兴趣的读者欢迎在老石谈芯后台回复“dpu”查看。
结语
omnitek作为一家做了20年的视频图像fpga ip提供商,刚刚切入人工智能芯片领域,就依托技术积累开发出了地表最强的深度学习处理器,并随后被英特尔收购,这一系列操作实在让人眼花缭乱。
这次收购对于英特尔而言,不仅补强了其在视频和图像处理领域的fpga ip组合,更是直接得到了omnitek已经比较成熟的dpu软硬件方案。这无疑进一步扩展了英特尔在人工智能领域的产品布局和多样性。
omnitek的官网上列出了很多公司的核心价值观,其中很有趣的一点,就是它允许员工有着灵活的工作时间,因为公司“理解对于所有员工来说,保持‘朝九晚五’的工作时间是很困难的”。这在996盛行的今天,无疑更加值得我们思考,工作和生活,哪个才是我们应该追求的福报。

HDJB-5000光数字继电保护测试仪装置功能介绍
导出PCB设计软件坐标数据的方法
除了显示车牌号,电子车牌还有啥用?
旷视与金隅共同打造金隅智造工场的智慧化升级项目
中国半导体照明/LED产业与应用联盟成立
深入分析这家成立20年的英国公司在人工智能领域的核心技术竞争力
ESP32-H2 x Bluetooth 5.2=智能家居新拼图?
AMEYA360全国第23!2022年中国电子元器件分销商营收榜出炉
变压器工程师需要牢记的14点是那些
交换机接口及连接图解
中国智慧城市建设后来居上,运营商5G新基建赋能智慧城市建设
互联网+医疗健康发展的政策效应日益显现
抢“鲜”了解!第二届CCF“司南杯”量子计算编程挑战赛赛程概况
OPPOK5全曝光,6400万四摄内置30W闪存
黄仁勋:生成式AI将为创作者带来加速动力
基于Maxim的MAX4295构建的电机速度控制器电路图
千视发布新一代 | 低成本、多终端、跨互联网、IP多方语音通话系统
5G的到来对于物联网的发展有什么意义
小米AX3600和小米AX6000对比,哪款更好?
在QuartusII开发平台上实现基于FPGA的音乐演奏电路的设计