0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CNN高效升级,有一定的可编程性

高工智能汽车 来源:未知 作者:胡薇 2018-10-20 09:13 次阅读

2018年7月18日,自适应和智能计算公司赛灵思(Xilinx, Inc.)宣布完成对专注于神经网络剪枝、深度压缩技术及系统级优化的中国AI芯片公司深鉴科技的收购。

这是迄今为止第一家中国AI芯片初创公司与全球芯片领军厂商的深度绑定。

深鉴科技CTO单羿在近日举办的赛灵思全球开发者大会上表示,公司此前本身在深度学习方面有一定的技术积累,用户不需要写底层的RTL,就可以通过提供的API接口,进行应用的开发,可以进一步降低开发者的难度,这是最适合客户的开发模式。

赛灵思在客户积累以及服务方面,有着丰富的经验和能力,对于创业公司而言,一般是缺乏客户的开发能力,以及后续的技术支持方面的能力。

因此对于深鉴而言,同赛灵思合作,可以弥补这一方面的劣势,更快的将产品推广给更广范围的用户,省去教育用户的开销。

另外,赛灵思和深鉴科技双方对于客户的看法是一样的,今天的AI的算法是一直在变化的,ASIC的做法并不适用,加之流片的成本也越来越高,周期较长,传统的做法并不是适应这个变化极快的时代。

FPGA在灵活性方面有着不可比拟的优势,目前的频率是在数百兆HZ,未来也会根据需求以及技术的成熟,达到过GHZ的频率;FPGA上也有着丰富的DSP资源,充分的互联,接口众多。这些特性都对应了这个AI算法快速迭代发展的时代。

因此,双方的优势和互补性使得彼此走到了一起。

深鉴提供全栈的解决方案,包括基本的检测、追踪、分割等算法,比如汽车检测、行人检测、交通标志牌识别的参考算法,免费给用户。既有标准化的优化算法技巧,也给用户定制化的可能。

这些方案是基于FPGA的部署,深鉴科技实际上做的就是DPU的设计,处理器的架构中,有自己的存储访问的Hardware、调度器、微体系结构等。有了这些之后,用户使用CNN就会变得高效,有一定的可编程性。

一.

DNNDK降低AI startup门槛

为了方便用户使用,深鉴科技开发了一套软件的工具DNNDK(Deep Neural Network Development Kit,深度学习开发与部署全栈式解决方案)。

最新的版本可支持两种赛灵思的方案,ZCU102和ZCU104。这个工具每月会定期的更新,方便用户下载使用。

对于AI创业公司而言,能够使其具备竞争力的,就是产品的差异化,而差异化是需要在软件上不断的训练不同的模型。

训练模型是需要依赖算法团队的实力,很少有创业公司能够兼顾模型精准和短小精悍。为了让用户无差异的使用相同的处理器平台,提供了模型压缩技术。

通过自动化工具,可以训练模型,经过不长的时间,就可以得到一个精简、轻量化的模型。深鉴科技的自动化模型压缩工具,是基于硬件进行的,因此更适合硬件加速。

压缩工具工作主要有两个步骤,量化和剪枝,量化就是改变参数,从浮点表达变成定点表达,剪枝就是去掉无用的部分,比如一些连接和神经元。

分类网络的压缩结果,保证压缩的精度变化不大。比如SSD+VGG压缩能够在保证网络成倍数减小的同时,精度不发生太大变化,同时运行速度还会有提升。

这些技术不仅可以用于安防,同样也可以用在自动驾驶中。

模型压缩的下一步,可通过增强学习或者机器学习的方式,提升工具的自我进化,去掉人类因素的干扰;另外一方面,做更低bit的量化,这个量化技术是下一步模型压缩中关键的技术。

二.

突破1Tops/天花板

对于AI处理器而言,算力大小是一个重要的指标,但如果应用到终端上的时候,单位功耗下的算力才是硬实力,尤其是汽车行业。

目前CNN卷积网络处理器的天花板是1Tops/w,而无论FPGA、ASIC还是GPU,都徘徊在这个指标附近,如果要完成更复杂的工作,更精细化的处理,就必须要提升这个关键性指标。

单羿表示,因为这个天花板是在宽bit的量化性能下得到的,所以要改变这个值必然要换一种方式。

目前的解决方式有两种,Sparsity和Low Precision,前者实际上是模型压缩,将网络的模型变小,后者是将参数的位宽变小,使得硬件在同样的DSP下,能够支持更多的乘法和加法的运算。

在Sparsity方面,深鉴团队从算法、软件、硬件方面分别进行了探索。这方面有不少的挑战,比如随机MEM的访问和固定格式的计算,带来计算的低效,非常挑战体系结构的设计;

另外一方面就是在压缩模型的同时进行稀疏,以及为了稀疏,需要做的一些索引。随着稀疏的增加,花费的资源越多,最终会使得压缩工作没办法进行。

Low Precision方面,2018年的时候,ISSCC已经开始尝试一些更低bit,从原来的8bit已经延生到了1bit。

学术界之所以这样做,是因为同样功耗下,更低bit比更高bit的算力能提升一个数量级,模型大小的存储量也会大大的降低。存储量的降低意味着可以把更多的参数放到片上来进行,片上带宽极高,latency也会短。而用FPGA做Low Precision的方式是比较恰当的。

深鉴科技此前的做法是,将FPGA中敏感的层,保留8bit,不敏感的层,用其它较低bit代替。当然这样的处理方式也给处理器的设计带来问题,因为dsp原来是支持8bit,现在却要支持更多bit。

深鉴使用了2bit和6bit,3bit和5bit的搭配方式,适合与赛灵思FPGA的架构,使得量化过程中不同层可以使用不同的位宽,从而达到提升效率的目的。

通过以上两种方式,处理器单位瓦数下的算力,就有可能提升。

三.

FPGA的减法

自动驾驶是当下一个火热的应用,其需要进行目标检测、分割、可行驶区域、以及行人车道线的识别等等,这些工作都是需要不同层网络进行计算处理。但这些工作同时用FPGA来做,系统负担会非常大。

为此,深鉴科技提出了一个通过多任务模型的训练,得到单一网络的方案,复用特征提取层的运算,把运算量最大的部分放到FPGA中的一个网络中进行。

而不同任务中,不同层的计算才可能会进行多次,从而达到缓解FPGA处理器运算压力的目的。

在系统级的优化方面,可以简化摄像头的图像处理,传统的摄像头内部有ISP、编解码等等,分属不同芯片处理,而通过使用赛灵思的FPGA,则只需要一块芯片既可以完成,内部不仅有DSP资源,同时还集成了第三方的ISP的库,可搭载一个完整的系统。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1592

    文章

    21207

    浏览量

    592143
  • cnn
    cnn
    +关注

    关注

    3

    文章

    322

    浏览量

    21247

原文标题:Sparsity+Low Precision突破CNN天花板 | GGAI技术

文章出处:【微信号:ilove-ev,微信公众号:高工智能汽车】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是可编程逻辑

    。事实上,由于可编程逻辑器件,些设备制造商现在正在尝试为已经安装在现场的产品增加新功能或者进行升级。要实现这点,只需要通过因特网将新
    发表于 05-29 11:36

    求问有没有可编程的电源识别芯片

    有没有可编程的芯片,可以输入不同的电压,输出为一定的值,做到能识别电源,我想用两个电源
    发表于 11-08 13:59

    SLPC可编程调节器PID控制参数整

    SLPC可编程调节器PID控制参数整[hide][/hide]
    发表于 03-14 15:14

    物联网工业智能网关DTU的二次开发可编程

    种动态的、可编程网关可以用作独立PLC来控制任务或用作网络设备进行外围可编程和可配置的网络处理环境。作为新代互联网的发展角度出发,分析研究可编程路由器的重要意义,然后简要叙述
    发表于 08-02 18:24

    什么是可编程逻辑控制器?可编程逻辑控制器哪些特点?

    什么是可编程逻辑控制器?可编程逻辑控制器主要有哪些特点?可编程逻辑控制器主要有哪些应用领域?
    发表于 07-05 06:00

    如何去使用Efuse一次性可编程存储器呢

    Efuse是什么?Efuse的作用哪些?如何去使用Efuse一次性可编程存储器呢?
    发表于 11-02 06:55

    FPGA可编程器件和CPLD可编程器件哪些相同点和不同点

    CPLD是什么?FPGA包含哪几类可编程资源呢?FPGA可编程器件和CPLD可编程器件哪些相同点和不同点?
    发表于 11-10 07:42

    线性可编程电源的工作原理

      程控电源被广泛用于测试和测量各种电子产品,并且也正在扩展到其他行业。可编程电源用于传统电镀行业,可大大提高电镀产品的质量和自动化程度。减少开支。另外,由于可编程电源的高效率,可以大大降低许多传统
    发表于 12-30 07:45

    可编程晶振详解「工作原理、结构、特点、应用」

    可编程晶振器是种高级的晶体振荡器,其工作原理、结构和应用均有一定的特点。今天晶发电子对可编程晶振的详细介绍。 、工作原理
    发表于 10-14 17:38

    可编程振荡器,什么是可编程振荡器

    可编程振荡器,什么是可编程振荡器 可编程振荡器是20世纪90年代早期为克服常规振荡器制造时间长的缺点而推出的。如图1所示,任意频率的常规
    发表于 03-22 14:40 2430次阅读

    可编程SoC(SoPC),什么是可编程SoC(SoPC)

    可编程SoC(SoPC),什么是可编程SoC(SoPC) SOPC ( System on a Programmable Chip,片上可编程系统)是以PLD(可编程逻辑器件)取代A
    发表于 03-26 17:01 2339次阅读

    可编程硅荡器SITIME

    可编程有源晶振的制造方式及其优点: 可编程有源晶振是由两颗芯片;一为全硅MEMS谐振器,一为具有温补功能之启动电路锁相环CMOS芯片;利用标准半导体芯片MCM封装方式完成。 可编程
    发表于 06-08 18:04 1689次阅读

    片上可编程系统原理及应用

    片上可编程系统SOPC是一种灵活、高效的SoC解决方案,而FPGA 是可编程再设计的“万能”芯片,FPGA是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,在硅片上预先设计实现的具有
    发表于 10-01 09:07 1619次阅读

    可编程逻辑器件测试

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑器件,主要由可编程的与阵列、或阵列、门阵列等组成,可通过编程来实现
    发表于 06-06 15:37 412次阅读
    <b class='flag-5'>可编程</b>逻辑器件测试

    可编程片上系统是什么意思

    可编程片上系统(Programmable System-on-Chip,PSoC)是一种特殊的嵌入式系统。它首先是一个片上系统,这意味着整个系统的主要逻辑功能由单个芯片完成。其次,它具有可编程的特性,设计方式灵活,可裁减、可扩充、可升级
    的头像 发表于 03-28 15:09 70次阅读