芯片上视觉职责的神经互联网设计,深度学习的异构加快技术

原标题:干货 | 地平线:面向低功耗 AI 芯片上海电视台觉职务的神经互连网设计 |
职播间第 2 期

笔者简介:kevinxiaoyu,高级商讨员,隶属腾讯TEG-架构平台部,主要探讨方向为深度学习异构计算与硬件加快、FPGA云、高速视觉感知等系列化的构架设计和优化。“深度学习的异构加快技术”体系共有三篇作品,首要在技能层面,对学术界和工产业界异构加速的构架演进实行剖析。

AI 科学技术评价按:随着这几年神经网络和硬件(GPU)的迅猛发展,深度学习在包括互连网,金融,开车,安全防护等许多行业都取得了广大的应用。不过在实际布置的时候,许多气象例如无人开车,安全防范等对装备在耗电,开销,散热性等地点都有额外的限制,导致了不能大规模使用纵深学习化解方案。

一、综述

在“深度学习的异构加快技术(一)”一文所述的AI加快平台的率先品级中,无论在FPGA照旧ASIC设计,无论针对CNN还是LSTM与MLP,无论使用在嵌入式终端依旧云端(TPU1),其构架的主导都是缓解带宽难题。不消除带宽难点,空有总括能力,利用率却提不上来。如同3个8核CPU,若里面贰个水源就将内部存储器带宽百分之百占用,导致别的几个核读不到计算机技术商讨所需的数据,将一向处于闲置状态。对此,学术界涌现了大气文献从差异角度对带宽难点展开切磋,可综合为以下三种:

A、流式处理与数码复用
B、片上囤积及其优化
C、位宽压缩
D、稀疏优化
E、片上模型与芯片级互联
F、新兴技术:二值互联网、忆阻器与HBM

上边对上述措施怎样消除带宽难题,分别解说。

近日,在雷锋同志网 AI 研习社第 2
期职播间上,地平线初创人士黄李超(英文名:lǐ chāo)就介绍了 AI
芯片的背景以及怎么从算法角度去规划符合嵌入式平台急速的神经互联网模型,并选取于视觉职分中。之后地平线的
HPRADO也拓展了招聘宣讲,并为大家举行了招聘解读。公开课重放摄像网址:

二 、分裂招式的PK与演进

黄李超(英文名:lǐ chāo):本科结业于中大,在帝国外国语大学生结业之后于
二零一六年到场了百度深度学习研讨院,时期研究开发了最早的依照全卷积互联网的靶子检查和测试算法——DenseBox,并在
KITTI、FDDB 等特定物体格检查测数据集上长时间保持头名。 二零一四年,他看成初创人士投入地平线,现切磋方向归纳深度学习系统研究开发,以及总括机视觉中物体格检查测,语义分割等方向。

2.一 、流式处理与数据复用

流式处理是选用于FPGA和专用ASIC高效运算结构,其主导是遵照流水生产线的吩咐并行,即当前处理单元的结果不写回缓存,而直白当做下顶级处理单元的输入,取代了当下处理单元结果回写和下一处理单元数据读取的存储器访问。多核CPU和GPU多使用数据交互构架,与流式处理构架的争持统一如图2.1所示。图左为数量交互的处理方式,全体运算单元受控于二个说了算模块,统一从缓存中取数据进行总结,计算单元之间不设有数量交互。当众多计量单元同时读取缓存,将发生带宽竞争导致瓶颈;图右为基于指令并行的二维流式处理,即各种运算单元都有单独的指令(即定制运算逻辑),数据从附近总括单元输入,并出口到下一级总计单元,唯有与储存相邻的旁边存在数量交互,从而大大下落了对存款和储蓄带宽的信赖,代表为FPGA和专用ASIC的定制化设计。

图片 1

图2.1 数据交互与流式处理的周旋统一

图片 2

图2.2 一维脉动阵列(上)TPU中的二维脉动阵列(下)

当流式处理中逐一处理单元(Processing Element,
PE)具有同样结构时,有3个附属名称——脉动矩阵,一维的脉动矩阵如图2.2(上)所示。当一个处理单元从存款和储蓄器读取数据处理,经过若干同构PE处理后写回到存款和储蓄器。对存储器而言,只需满足单PE的读写带宽即可,降低了数据存取频率。脉动架构的盘算很简单:让多少尽量在处理单元中多流动一段时间。当四个数据从第多少个PE输入直至到达最后叁个PE,它已经被拍卖了反复。由此,它能够在小带宽下促成高吞吐[1]。

TPU中选取的二维脉动阵列如图2.2(下)所示,用以达成矩阵-矩阵乘和向量-矩阵乘。数据分别从Cell阵列的上侧和右边流入,从下侧流出。每一个Cell是二个乘加单元,每一种周期完结2次乘法和二次加法。当使用该脉动阵列做卷积运算时,二维FeatureMap必要展开成一维向量,同时Kernel经过旋转,而后输入,如TPU专利中的图2.3所示。

图片 3

图2.3 TPU专利中,脉动阵列在卷积运算时的数额重排

在高大扩充多少复用的同时,脉动阵列也有多少个毛病,即数据重排和层面适配。第3,脉动矩阵首要实现向量/矩阵乘法。以CNN总结为例,CNN数据进入脉动阵列供给调动好方式,并且严俊根据时钟节拍和空间顺序输入。数据重排的附加操作增添了复杂,据推断由软件驱动实现。第③,在多少流经整个阵列后,才能出口结果。当总括的向量瓜月素过少,脉动阵列规模过大时,不仅难以将阵列中的每一种单元都利用起来,数据的导入和导出延时也趁机尺寸扩张而充实,下落了总结作用。因而在规定脉动阵列的局面时,在设想面积、能耗、峰值总计能力的还要,还要考虑典型应用下的频率。

寒武纪的DianNao种类芯片构架也选取了流式处理的乘加树(DianNao[2]、DaDianNao[3]、PuDianNao[4])和类脉动阵列的结构(ShiDianNao[5])。为了协作小框框的矩阵运算并保证较高的利用率,同时更好的支撑并发的多职分,DaDianNao和PuDianNao下降了总括粒度,接纳了双层细分的演算架构,即在顶层的PE阵列中,每一个PE由更小框框的多少个运算单元构成,更细致的任务分配和调度固然占据了额外的逻辑,但便宜确认保证每一个运算单元的总计功能并决定功耗,如图2.4所示。

图片 4

图片 5

图片 6

图片 7

图2.4
基于流式处理的测算单元组织结构:从上到下依次为DianNao、DaDianNao全部框架与处理单元、ShiDianNao、PuDianNao的完全框图和各种MLU处理单元的内部结构

而外使用流式处理缩短PE对输入带宽的依赖,还可经过测算中的数据复用下降带宽,CNN中的复用方式如图2.5所示。

(a) (b) (c)

图2.5 CNN中的数据复用

在图2.5 的(a)
(b)(c)分别对应卷积核的整张FeatureMap复用、一组FeatureMap对多组Filter的复用、Filter通过扩展BatchSize而复用。当上述两种方法结合使用时,可小幅提高数据复用率,那也是TPU在处理CNN时逼近峰值算力,达到86Tops/s的来由之一。

分享宗旨:面向低耗电 AI
芯片上海广播台觉职分的神经网络设计

2.二 、片上囤积及其优化

片外部存储器储器(如DDENVISION等)具有体积大的优势,可是在ASIC和FPGA设计中,DRAM的使用常存在五个问题,一是带宽不足,二是功耗过大。由于需求频仍驱动IO,DRAM的拜访能源消耗平日是单位运算的200倍以上,DRAM访问与其它操作的能源消耗比较如图2.6所示。

图片 8

图片 9

图2.6 片外DRAM访问的能源消耗费用

为了缓解带宽和能源消耗难点,日常使用二种情势:片上缓存和贴近存款和储蓄。

1)扩展片上缓存,有利于在更加多意况下扩大多少复用。例如矩阵A和B相乘时,若B能一体存入缓存,则仅加载B一回,复用次数等价于A的行数;若缓存不够,则需多次加载,扩张带宽消耗。当片上缓存丰富大,能够存下全体计算机技术商量所需的数量,或透过主要控制电脑按需发送数据,即可抛弃片外DRAM,相当的大降低功耗和板卡面积,那也是半导体收音机顶会ISSCC二〇一六中山大学部AI
ASIC诗歌接纳的方案。

2)临近存储。当从片上缓存加载数据时,若使用单一的片上存款和储蓄,其接口常常不能够满意带宽的急需,集中的存储和较长的读写路径也会增多延迟。此时可以扩展片上囤积的数量并将其遍布于计算单元数据接口的接近地方,使计量单元能够独享各自的存款和储蓄器带宽。随着数据的增多,片上囤积的总带宽也随之大增,如图2.7所示。

图片 10

图片 11

图2.7 TPU(上)和DianNao(下)的片上存款和储蓄器分布

图2.7中的脉动阵列和乘加树都以规模较大的推断单元,属于粗粒度。当使用细粒度总结单元的组织时,如图2.8所示,可选取分层级存储格局,即除去在片上配置共享缓存之外,在各种总计单元中也配备专属存款和储蓄器,使计量单元独享其带宽并压缩对共享缓存的拜会。寒武纪的DaDianNao选用也是分层级存款和储蓄,共三层构架,分别配备了主旨存款和储蓄器,四块环形分布存款和储蓄器,和输入输出存款和储蓄器,如图2.9所示,不小增强了片上的仓库储存深度和带宽,辅以芯片间的强强联合总线,可将总人体模型型放在片上,实现片上Training和Inference。

图片 12

图片 13

图2.8 细粒度计算单元与临近存款和储蓄,上海体育地方中胭脂暗黄为存款和储蓄器

图片 14

图2.9DaDianNao的计算单元与存储器分布

享受提纲

2.③ 、位宽压缩

在两年前,深度学习的定制处理器构架还处于初叶阶段,在Inference中继续了CPU和GPU的32bit浮点量化,每一次乘法运算不仅须要12字节的读写(8bit量化时为3字节),三十一个人运算单元占用较大的片上边积,扩张了能源消耗和带宽消耗。PuDianNao的舆论中建议[4],16bit乘法器在ASIC占用面积上是32bit乘法器的百分之二十,即在一如既往尺寸的面积上可布局5倍数量的乘法器。当使用8bit时将取得更高收入。由此,学术界诲人不倦的求偶更低的量化精度,从16bit,到自定义的9bit[6],8bit,甚至更激进的2bit和1bit的二值网络[7-8]。当高位宽转为低位宽的量化时,不可防止的拉动精度损失。对此,可因而量化形式、表征范围的调动、编码等艺术、甚至加码模型深度(二值互联网)来下滑对精度的震慑,当中量化格局、表征范围的调整情势如图2.10
所示。

(a) (b)

图2.10 (a) 三种量化方式,和 (b) 动态位宽调整

图2.10 (a)
中为不一致的量化方式,同样的8bit,可依照模型中数值的遍布情状选择为线性量化、Log量化、或非线性量化表示。图2.10
(b)是Jiantao
Qiu等提议的动态位宽调整[9],使8bit的量化在差别层之间接选举择区别的偏移量和整数、小数分配,从而在小小量化误差的束缚下动态调整量化范围和精度,结合重演习,可急剧回落低位宽带来的影响。在CNN模型中的测试结果见下表:

图片 15

不如宽意味着在拍卖相同的任务时更小的算力、带宽和耗电消耗。在算力不变的前提下,成倍的加码吞吐。对于数据主导,可大幅度降低运转花费,使用更少的服务器或更廉价的揣摸平台即可满意供给(TPU的数据类型即为8/16bit);对于更酷爱能源消耗比和小型化嵌入式前端,可小幅度下落资金。近来,8bit的量化精度已经获得工业界承认,GPU也公布在硬件上提供对8bit的援助,从而将总括品质提升近4倍,如图2.11所示。FPGA巨头Xilinx也在AI加快的法定文书档案中阐释了8bit量化的势头[10]。

图片 16

图2.11 NVIDIA对int8的支持

  1. 介绍当前 AI
    芯片概略,包罗现有的吃水学习硬件发展情状,以及为啥要为神经网络去规划专用芯片。
  2. 从算法角度,讲解怎样筹划高质量的神经网络结构,使其既满足嵌入式设备的低耗能要求,又满意使用场景下的属性须要。
  3. 享受高性价比的神经网络,在总结机视觉领域的使用,包括实时的实体格检查测,语义分割等。
  4. 地平线 2019 年最全的校招政策解读。

2.肆 、稀疏优化

上述的论述首要针对稠密矩阵总结。在实际应用中,有极大学一年级些AI应用和矩阵运算属于稀疏运算,其关键来自五个地方:

1) 算法自己存在稀疏。如NLP(Natural Language
Processing,自然语言处理)、推荐算法等采纳中,寻常1个几万维的向量中,仅有多少个非零成分,统统依据稠密矩阵处理肯定进寸退尺。

2)
算法改造成稀疏。为了扩张普适性,深度学习的模子本身存在冗余。在针对某一选取完结演练后,很多参数的进献非常低,能够因此剪枝和另行磨练将模型转化为疏散。如深鉴科学技术的韩松在FPGA2017上建议针对性LSTM的模子剪枝和专用的稀疏化处理架构,如图2.12
所示[11]。

图片 17

图2.12 LSTM模型剪枝比例与精度(左)和稀疏处理构架(右)

图2.12
左图,为LSTM模型剪枝掉十分之九的参数后,基本没有精度损失,模型获得了庞大的稀疏化。图右边为针对稀疏的FPGA处理构架,将处理的PE之间进行异步调度,在各类PE的数量输入采用独立的数目缓存,仅将非零元素压入插手总计,获得了3倍于PascalTitan
X的属性收益和11.5倍的功耗受益。稀疏化并不仅限于LSTM,在CNN上也有照应的使用。

与之对应的,寒武纪也开销了针对稀疏神经互联网的Cambricon-X[12]计算机,如图2.13所示。类似的,Cambricon-X也在各样PE的输入端口参预了Indexing的步子,将非零成分筛选出后再输入进PE。与深鉴分裂的是,Cambricon-X辅助区别稀疏程度的三种indexing编码,在分裂稀疏程度的模子下利用区别的编码模式,以优化带宽消耗。

图片 18

图2.13 寒武纪Cambricon-X稀疏神经网络处理器结构

可针对稀疏的优化有八个指标,一是从缓存中读入的都以行得通数据从而制止多量没用的零成分占满带宽的情形,二是保险片上PE的盘算功效,使每一种PE的每一遍总括的输入都以“干货”。当模型剪枝结合稀疏处理构架,将加倍提高FPGA和ASIC的乘除能力,效果明显,是异构加速的热点之一。

汇总,稀疏化是从模型角度,从根本上收缩计算量,在构架演进贫乏突破的意况下,带来的收入是构架优化所不能够比较的。特别在结合位宽压缩后,品质升高万分显明。然则稀疏化需求依照构架特点,且会拉动精度损失,须要组合模型重锻炼来弥补,反复调整。上述进度平添了疏散优化的门路,供给算法开发和硬件优化团队的同台协作。对此,深鉴科学和技术等片段商户推出稀疏+重磨练的专用工具,简化了这一历程,在多量配备的现象下,将带动10分的工本优势。

雷锋(Lei Feng)网 AI
研习社将其享用内容整理如下:

2.五 、片上模型与芯片级互联

为了化解带宽难点,平常的做法是增添多少复用。在每一遍计算的三个值中,3个是权值Weight,贰个是输入Activation。如若有丰富大的片上缓存,结合适当的位宽压缩方法,将装有Weight都缓存在片上,每回仅输入Activation,就能够在优化数据复用此前就将带宽减半。但是从谷歌Net50M到ResNet
150M的参数数量,在高资本的HBM普及从前,ASIC在周旋面积上不可能形成那样大的片上存款和储蓄。而随着模型商讨的不断深远,更深、参数更加多的模子还会持续出现。对此,基于芯片级互联和模型拆分的处理格局,结合多片互联技术,将多组拆分层的参数配置于多少个芯片上,在Inference进程中用多芯片共同达成同一职务的拍卖。寒武纪的DaDianNao正是达成如此的一种芯片互联结合大缓存的规划,如图2.14所示。

图片 19

图2.14DaDianNao中的存款和储蓄器分布(图浅米深青白部分)和多片互联时的加速能力(以GPU
K20M为单位性质的比较)

为了将全部模型放在片上,DaDianNao一方面将片上缓存的容积扩张到36MB(DaDianNao为36MB和460八个乘加器,TPU为28MB缓存和65536乘加器),丰富保险计算单元的读写带宽,另一方面通过HT2.0实现6.4GB/s*4大路的片间通讯带宽,降低数据才层与层之间传递的延迟,完全代表了片外DRAM的竞相,消除带宽制约总结的题材。与之对应的,微软在Hot
Chips
2017上建议将LSTM模型拆分后布署到多片FPGA,以摆脱片外部存款和储蓄器储器访问以贯彻Inference下的超低延迟[2]。

明日,作者将从以下四个地方来展开分享:

2.陆 、新兴技术:二值互连网、忆阻器与HBM

除外运用上述方式消除带宽难题,学术界近期涌现出了三种特别激进的章程,二值网络和忆阻器;工产业界在存款和储蓄器技术上也有了新的突破,即HBM。

二值网络是将Weight和Activation中的一某些,甚至整个转化为1bit,将乘法简化为异或等逻辑运算,大大降低带宽,相当适合DSP能源有限而逻辑财富丰盛的FPGA,以及可完全定制的ASIC。相对而言,GPU的一个钱打二十五个结单元只可以以32/16/8bit为单位开展览演出算,即便运转二值模型,加快效果也不会比8bit模型快多少。因而,二值网络变成FPGA和ASIC在低功耗嵌入式前端接纳的利器。近来二值网络的第①还在模型研商阶段,探究哪些通过增添吃水与模型调整来弥补二值后的精度损失。在大致的数据集下的功用已得到认同,如MNIST,Cifar-10等。

既是带宽成为总计瓶颈,那么有没有大概把总结放到存款和储蓄器内部呢?既然总括单元临近存款和储蓄的构架能升级总计效用,那么是或不是把计算和仓库储存二者合一呢?忆阻器正是贯彻存储器内部总计的一种器件,通过电流、电压和电导的乘法关系,在输入端加入相应电压,在输出即可获得乘加结果,如图2.15所示[13]。当将电导作为可编制程序的Weight值,输入作为Activation,即可完成神经互联网计算。近日在工艺限制下,8bit的可编制程序电导技术还不成熟,但在更低量化精度下还不错。将积存和测算结合,将形成一种有别于冯诺依曼种类的全新型构架,称为在储存计算(In-Memory
Computing),有着光辉的想像空间。

图片 20

图2.15 忆阻器完结乘加示意图(左)与向量-矩阵运算(右)

乘势工产业界芯片创制技能的升华与Moore定律的日渐失效,不难通过升级工艺制造进度来在面积不变的标准化下增添晶体管数量的法门已经日渐陷入瓶颈。相应的,二维技术的受制使工艺向第叁维度迈进。例如在储存领域,3D构架和片内垂直堆叠技术可在片上成倍增添缓存体积,其代表为高带宽存款和储蓄器(HighBandwidth
Memory,HBM)和交集存款和储蓄器立方体(HybridMemory
Cube,HMC)。据AMD表露,LakeCrest的片上HBM2可提供最高12倍于DDGL4504的带宽。近年来,NVIDIAP100和V100
GPU已集成HBM2,片内带宽高达900GB/s;TPU2的片内HBM带宽为600GB/s;Xilinx集成HBM的FPGA将在18年上市。这一技革使得对于近日的深度学习模型,尽管不利用芯片级互联方案也开始展览将总人体模型型置于片上,释放了FPGA/ASIC对片外DRAM的需要,为AI芯片发展提供巨大重力。

第三,当前 AI 芯片发展的现状。那里的 AI
芯片并不是单指狭义的 AI 专用芯片,而是指广义上包蕴 GPU 在内全体能够承接
AI 运算的硬件平台。

三、结语

地点的阐发主要以当下学界在AI处理器构架方面包车型地铁钻探为主。可是在工产业界,AI的大量供给已经在好几领域集中产生,如云服务、大数据处理、安全防患、手提式有线电话机端应用等。甚至在有的利用中已经诞生,如谷歌(Google)的TPU,华为的麒麟970等。AI处理器的进化和现状怎么样?大家下期见!

其次,在嵌入式设备的环境下怎么统一筹划相当的慢的神经互连网。那里小编动用的案例都选自产业界中相比主要的一对工作——也有部分起点大家的地平线。同时这一节半数以上的行事都已经诞生到骨子里利用场景。

参考文献

[1] 唐杉, 脉动阵列-因谷歌(Google)TPU获得新生. 
[2] Chen Y, Chen Y, Chen Y, et al.DianNao: a small-footprint
high-throughput accelerator for ubiquitousmachine-learning[C]//
International Conference on Architectural Support forProgramming
Languages and Operating Systems. ACM, 2014:269-284.
[3] Luo T, Luo T, Liu S, et al.DaDianNao: A Machine-Learning
Supercomputer[C]// Ieee/acm InternationalSymposium on
Microarchitecture. IEEE, 2015:609-622.
[4] Liu D, Chen T, Liu S, et al.PuDianNao: A Polyvalent Machine
Learning Accelerator[C]// TwentiethInternational Conference on
Architectural Support for Programming Languages andOperating Systems.
ACM, 2015:369-381.
[5] Du Z, Fasthuber R, Chen T, et al.ShiDianNao: shifting vision
processing closer to the sensor[C]// ACM/IEEE,International Symposium
on Computer Architecture. IEEE, 2015:92-104.
[6] Eric Chung, Jeremy Fowers, KalinOvtcharov, et al. Accelerating
Persistent Neural Networks at Datacenter Scale.Hot Chips 2017.
[7] Meng W, Gu Z, Zhang M, et al.Two-bit networks for deep learning on
resource-constrained embedded devices[J].arXiv preprint
arXiv:1701.00485, 2017.
[8] Hubara I, Courbariaux M, SoudryD, et al. Binarized neural
networks[C]//Advances in neural informationprocessing systems. 2016:
4107-4115.
[9] Qiu J, Wang J, Yao S, et al.Going deeper with embedded fpga
platform for convolutional neuralnetwork[C]//Proceedings of the 2016
ACM/SIGDA International Symposium onField-Programmable Gate Arrays. ACM,
2016: 26-35.
[10] Xilinx, Deep Learningwith INT8Optimizationon Xilinx
Devices, 
[11] Han S, Kang J, Mao H, et al.Ese: Efficient speech recognition
engine with compressed lstm on fpga[J]. arXivpreprint
arXiv:1612.00694, 2016.
[12] Zhang S, Du Z, Zhang L, et al. Cambricon-X: An accelerator for
sparseneural networks[C]// Ieee/acm International Symposium on
Microarchitecture.IEEE Computer Society, 2016:1-12.
[13] Shafiee A, Nag A, MuralimanoharN, et al. ISAAC: A convolutional
neural network accelerator with in-situ analogarithmetic in
crossbars[C]//Proceedings of the 43rd International Symposium
onComputer Architecture. IEEE Press, 2016: 14-26.

 

其三,算法+硬件在计算机应用上的部分收获。

连带阅读

一站式满意电孟秋云总结供给的要诀

腾讯云批量计算:用搭积木的方法创设高质量总括种类

「腾讯云游戏开发者技术沙龙」7月5日卡拉奇站申请开启
畅谈游戏加速

 

此文已由小编授权腾讯云技术社区公告,转发请评释作品出处

初稿链接:

海量技术实践经验,尽在腾讯云社区!

介绍 AI 芯片从前,先介绍 AI
的大环境。大家都清楚将来是机器学习时期,当中最具代表性的是深浅学习,它大大有助于图像、语音、自然语言处理方面包车型地铁上进,同时也给众多行当带动了社会级的影响。例如在应酬互联网的引进系统、自动开车、医疗图像等世界,都用到了神经图像技术,个中,在图像医疗,机器的准确率甚至大大超过了人类。

图片 21

从全方位网络发展的境况来看,我们先后经历了 PC
互联网、移动互连网时期,而接下去大家最有或者进入三个智能万物互联的时日。PC
时期主要消除消息的联通难题,移动互连网时期则让通信设备小型化,让音信联通变得触手可及。小编相信在以后,全部的设施除了能够团结之外,还可以够拥有智能:即设备能够自立感知环节,并且能依据条件做出判断和操纵。今后我们其实看来了许多前景的雏形,比如无人车、无人驾驶飞机、人脸开卡支付等等。但是,要让拥有设施都具备智能,自然会对人工智能这一主旋律提出愈多供给,迎接更加多的挑衅,包蕴算法、硬件等地方。

大面积利用深度学习须要去应对众多挑衅。首先从算法和软件上看,如若把
AI
和纵深学习用在某些行业中,要求对那个行业的景况有尖锐的知道。场景中也有不可胜数痛点要求去消除,可是是或不是必然要用深度学习去解决吧?在一定情景下,往往供给拥有能耗比、性价比的解决方案,而不是一个单纯可以刷数据集的算法。随着这几年算法的极快发展,人们对
AI
的想望也在持续增高,算法的开拓进取是还是不是能跟上海南大学学家的期待,那也是1个难题。

从硬件上看,当前硬件的腾飞已经难以匹配当前深度学习对于总括财富的必要,特别是在一些利用场景中,开销和耗能都是受限的,缺乏低本钱、低耗电、高品质的硬件平台直接制约了
AI
技术和深度学习方案的常见利用,那也是大家地平线致力于化解的行业难题。

最近 AI 芯片发展的现状

接下去大家介绍一下 AI
硬件的部分情状。大家都理解,最早神经互联网是运作在 CPU 上的。然而 CPU
并不可能丰硕迅猛地去运作神经网络,因为 CPU
是为通用计算而规划的,而且其总结办法以串行为主——就算有个别运维指令能够同时处理较多多少。除了这么些之外,CPU
在安排上也花了重重精力去优化多级缓存,使得程序能够绝对高效地读写多少,不过那种缓存设计对神经网络来讲并没有太大的必备。其它,CPU
上也做了诸多任何优化,如分支预测等,这个都以让通用的运算越发急速,不过对神经网络来说都以额外的支出。所以神经网络适合用什么的硬件结构吧?

图片 22

在讲这一个标题之前,大家先从神经网络的风味说起:

第二,神经互连网的演算具有大规模的并行性,须要各个神经元都可以独自并行总结;

其次,神经互连网运算的中央单元首要依旧相乘累加,那就须要硬件必须有丰富多的演算单元;

其三,神经元每二次运算都会生出不少当中结果,那个中级结果最终并不会复用,那就供给配备有丰硕的带宽。八个杰出的装置,它应当有就比较大的片上存款和储蓄,并且带宽也要丰裕,那样才能放下网络的权重和互连网的输入;

第肆,由于神经网络对计量的精度并不曾那么敏感,所以在硬件设计的时候能够选拔更简单的数据类型,比如整型或许16bit 的浮点数。因而,这几年我们利用的神经互连网化解方案,都是CPU+相比较适合于神经互连网运算的硬件(能够是 GPU、DSP、FPGA、TPU、ASIC
等)组成异构的盘算平台。

最常用的方案是
CPU+GPU,这一个是深度学习磨练的三个标配
,好处是算力和吞吐量大,而且编制程序对比便于,可是它存在的题材是,GPU
的功耗比较高,延迟比较大,尤其是在应用陈设领域的现象下,大概从不人会用服务器级其余GPU。

运用场景下用的越多的方案是 FPGA 可能DSP,它们功耗比 GPU
低很多,不过相对的开发花费较大。DSP 正视专用的指令集,它也会趁机 DSP
的型号变化所大相径庭。FPGA
则是用硬件语言去开发,开发难度会更大。其实也有一起公司会用 CPU+FPGA
去搭建磨练平台,来化解 GPU 陶冶安顿的功耗问题。

固然刚刚提了众多神经互联网加快的缓解方案,而是最合适的依然 CPU+专用芯片。大家需求专用 AI 芯片的根本原因是:
尽管以往的硬件工艺不断在进化,可是发展的快慢很难满意深度学习对总结力的需求。当中,最根本有两点:

率先,过去人们以为晶体管的尺码变小,耗电也会变小,所以在同一面积下,它的耗电能保全主旨不变,但实际上这条定律在
二零零五 年的时候就曾经终止了

其次点,大家熟练的穆尔定律其实在这几年也一度终结了。

我们能够见到芯片在这几年工艺的发展变得进一步慢,由此大家须要借助专门的芯片框架结构去提高神经网络对计量平台的急需。

图片 23

最盛名的的贰个例子正是 谷歌 的
TPU,第贰版在 二零一三 年初步支付,历时大致 15 个月。TPU
里面使用了大量乘法单元,有 256*256 个 8 位的乘法器;片上有 28MB
的缓存,能够存款和储蓄网络的参数和输入。同时,TPU 上的多寡和下令经过 PCN
总线一起发过来,然后经过片上内部存款和储蓄重视新排布,最终总计完放回缓冲区,最后直接出口。第叁版
TPU 有 92TOPS
的演算能力,不过只针对于神经互连网的前向预测,协理的互联网项目也很简单,首要以多层感知器为主。

而在第①版的 TPU
里面,已经能够扶助磨练、预测,也能够运用浮点数进行练习,单个 TPU 就有
45TFLOPS 的算力,比 GPU 要大得多。

图片 24

实则我们地平线也研究开发了专用的 AI
芯片,叫做 BPU,第2代从 二〇一六 年初阶设计,到 2017
年最后流片回来,有七个密密麻麻——旭日和道路体系,都对准图像和录制职责的计算,包蕴图像分类、物体格检查测、在线跟踪等,作为四个神经网络协助处理理器,侧重于嵌入式的高品质、低功耗、低本钱的方案。

图片 25

正如值得说的是,大家在我们的 BPU
架构上统一筹划了弹性的 Tensor
Core,它能够把图像计算机技术研商所须求的为主单元,常用操作例如卷积、Pooling
等硬件化,格外急忙地去实施那些操作。中间经过数据路由桥(Data Routing
Bridge)从片上读取数据,并负责数据的传导和调度,同时,整个数据存款和储蓄财富和总计能源都能够经过编辑器输出的通令来进行调度,从而达成更灵敏地算法,包涵各种类型的模子结构以及不一样的义务。

总的看,CPU+专用硬件是时下神经网络加快的二个较好的消除方案。针对专用硬件,大家能够依据功耗、开发不难度和灵活性实行排序,其能源消耗跟别的两者(开发简单度和灵活性)是相互争持的——芯片的能效比分外高,可是它的开支难度和灵活度最低。

什么样规划非常快的神经网络

说了如此多硬件知识,接下去大家谈论哪些从算法角度,也正是从神经互连网设计的角度去谈怎么加速神经互联网。相信那几个也是豪门比较关注的题材。

咱俩先看 AI
化解方案,它从数额处理的措施得以分为云端 AI 和前端 AI。云端 AI
是说我们把总括放在远程服务器上去执行,然后把结果传到地面,那么些就要求配备能够时刻一连网络。前端
AI
是指设备本人就可见进行测算,不要求联网,其在安全性、实时性、适用性都会比云端
AI 更有优势,而有一些面貌下,也只可以动用嵌入式的前端 AI 去化解。

嵌入式前端的场馆落地难点在于耗能、开销和算力都以简单的。以互联网录制头即
IP Camera 为例,它通过网线供电,所以耗能唯有 12.5 瓦,而常用的嵌入式
GPU——Nvidia TX2,为 10-15 瓦。此外这一个 TX2
尽管在测算财富、算力方面都比较强,能达到规定的标准 1.5T,但它的价格是 400
英镑,对于广大嵌入式方案以来都以不足承受的。由此要办好前端嵌入式方案,我们要求在加以的功耗、算力下,最大限度地去优化算法和神经网络模型,达到契合场景落地的必要。

图片 26

大家夜以继太阳菩萨经网络的最后目的是:让互联网在维持正确的属性下,尽量去降低总括代价和带宽必要。常用的局地办法有:网络量化、互连网减支和参数共享、知识蒸馏以及模型结构优化,当中,量化和模型结构优化是当下总的来说最有效的法门,在产业界也获取相比常见的采纳。接下来会器重讲一下那多少个措施。

首先个是量化,它是指将接二连三的变量通过类似从而离散化。其实在微型计算机中,全体的数值表示都以离散化的,包涵浮点数等,然而神经网络中的量化,是指用更低
bit 的数字去运维神经互联网,而是否一向动用 32bit
的浮点数(去运作神经互连网)。近几年的有的商讨发现,其实数值表明的精度对神经网络并不曾太大的震慑,所以常用的做法是选取16bit 的浮点数去代替 32bit
的浮点数来进行测算,包涵演习和前项预测。那个在 GPU 以及 Google 的 TPU
第贰代中早已被大面积选择。其它,咱们竟然发现,用半精度浮点数去练习多少,有时候还是能获得更好的鉴定识别品质。实际上,量化本人就是对数码集正则化的一种方式,能够追加模型的泛化能力。

图片 27

其它,大家还可以将数据精度实行更为削减使用,将
8 bit 的整数作为计算的一个钱打二十七个结单元,包涵演习和前项预测,那样带宽就只有 32bit
浮点数的25%,那类方法方今也有诸多做事,且已被业界所采取,比如
Tensorflow Lite 已经支撑陶冶时模拟 8bit 整数的运算,安排时真的使用 8 bit
整数去顶替,其在浮点和图像分类的性质上一定。我们地平线也有相近的干活,磨练工具也是用
Int 8 bit 去练习、预测,并且我们的芯片帮助 MXNet 和 TensorFlow
框架练习出来的模子。

能否把精度压得更低呢,4 bit、2bit 竟是
1 bit?也是有的,可是会拉动精度的巨大损失,所以没被选择。

量化神经网络模型分为神经网络的权重量化、神经网络特征的量化。权重量化对于结果输出的损失比较小,特征量化其实对模型的输出损失会比较大,其余,大模型和小模型的量化造成的损失也分歧等,大模型如
VGG1陆 、亚历克斯Net
这种互联网模型,量化后大概向来不损失;而小模型则会有局部损失。未来 8bit
参数和特征量化能够说是1个相比早熟的方案,基本上能够形成跟浮点一样好,并且对硬件也愈来愈融洽。上面那一个表,是在
Image Net 数据集上的举办的量化结果的测验评定,也是 Google Tensorflow Lite
的量化方案与大家地平线内部的量化方案的五个相比。

图片 28

笔者们得以看到,无论是哪一家的方案,损失其实都一点都相当小,个中,小模型
MobileNet 0.25 在 Image Net 的损失方面,谷歌 在 1.6%
左右,而大家的量化方案能够维持在 0.5% 以内。同时我们以此量化方案在 二〇一五年就早已成熟了,而 谷歌(Google)的2018年才放出去,从那一个角度上讲,大家这上头在产业界内是抢先的。

除了量化,模型加快还足以因此模型剪枝和参数共享达成。贰个大才盘盘的案例正是韩松大学生的代表性工作——Deep
Compression。减支能够是对全部卷积核、卷积核中的有个别通道以及卷积核内部任意权重的剪枝,那里就不多说,我们有趣味能够去看一下原杂谈。

图片 29

与网络量化比较,剪枝和参数共享从利用角度上来看,并非一个好的解决方案。因为关于剪枝方面包车型大巴钻研,以往这个随想在大模型上做的可比多,所以在大模型上效益相比较好,可是在小模型上的损失比较大,当然大家那边说的小模型是比
MobileNet
等模型更小的一部分模子。其余,剪枝所拉动的数量稀疏(任意结构稀疏),平时要求三个鲜明的疏散比例才能拉动叁个实质性的的增长速度。结构化的疏散加速比相对更便于达成,可是结构化的疏散相比难演练。同时从硬件角度上讲,若是要快捷地运作稀疏化的网络布局还是带共享的网络,就要尤其布置硬件去支撑它,而以此开发花费也正如高。

知识蒸馏也是很常用的缩减模型方法,它的合计很想大概,用三个小模型去上学叁个大模型,从而让小模型也能促成大模型的功用,大模型在那边一般叫
Teacher net,小模型叫 Student
net,学习的指标包涵最后输出层,互连网中间的性情结果,以及网络的三番五次方式等。知识蒸馏本质上是一种迁移学习,只可以起到为虎添翼的功力,比一向用数据去陶冶小模型的效劳要好。

图片 30

最终讲一讲模型结构优化,它是对模型加快最得力的方法。下图能够看出从初期的 亚历克斯Net 到今年的
MobileNetV2,参数已经从原来的 240MB 缩短到
35MB,模型的总计量也有了必然的滑坡,不过在图像分类的准确率上,从 47%提到到了
四分三,模型结构优化最直接的格局便是,有经验的工程师去探究小模型结构,而那个年来也有通过机器去举办查找模型结构的办事。

图片 31

接下去讲一下在模型结构优化中,怎么去规划一个飞跃的神经网络结构,它必要根据的有个别焦点原则。

图片 32

首先,要改良几个误区:第1,是或不是小模型跑得比大模型快?那几个显著是不成立,我们能够看下图中
谷歌 Net 和 亚历克斯Net 箭头指向的趋向,亚历克斯Net 鲜明大学一年级些,但它比 谷歌Net
跑得快一些,总计量更小部分。第三,网络计算量小是或不是就跑得更快吧?其实也不是,因为最终的周转速度取决于总结量和带宽,总计量只是决定运维速度的一个要素。

图片 33

由此说,多少个好的、跑起来相比较快的神经网络结构,必供给平衡总括量和带宽的须要,那里大家跟随
ShuffleNetV2
舆论的一些视角——就算这些并不是大家的劳作,不过小说写得很好,个中有成千上万见识也和我们在模型结构优化进度中取得的有的结论是平等的。在条分缕析的时候,大家以
1×1
的卷积为例,假设全数的参数和输入输出特征都能够被置于缓存当中,大家需求尤其关切的是卷积的总结量——用
FLOPs(Float-Point Operations) 即浮点数的操作次数去表述,带宽用
MAC(Memorry Access Cost)
即内部存储器访问的次数去表示。同时,大家要求万分关怀的是带宽和计算量的比。对于嵌入式的配备来讲,带宽往往是瓶颈。拿
Nvidia 的嵌入式平台 TX2 为例,它的带宽比上总结力差不离是 1:26。

图片 34

第叁,要分析一下输入通道数、输出通道数以及输入大小对带宽和总括量的影响,ShuffleNetV2
建议的规则第②条是,在平等的总括量下、输入通道数和出口通道数下,带宽是最节省的
,公式为:

图片 35

。其实输入通道、输出通道和输入大小任意1个过小的话,对带宽都会生出不谐和的震慑,并且会花不少日子去读取参数而不是实在去总结。

图片 36

其次,卷积中 Group
的个数又对质量有哪些影响呢?ShuffleNetV2 那篇小说建议,过多的 Group
个数会增多单位总括量的带宽,我们得以看来总计量的带宽和 Group
的个数好像为正比
。从这点上来看,MobileNet 里头的 Depthwise
Convolution
实际上是3个带宽要求量相当的大的操作,因为带宽和总计量的比率接近于
2。而事实上行使的时候,只要带宽允许,大家仍是能够确切扩充 GROUP
个数来节省中华全国总工会结量,因为众多时候,带宽实际上是从未有过跑满的。

图片 37

其三,ShuffleNetV2
说到的第贰条规则是,过度的互连网碎片化会降低硬件的并行度,那正是说,大家要求思想
operator 的个数对于最后运转速度的震慑
。其实 ShuffleNetV2
那种观点不够严刻,准确的话,我们须求把 operator
分为两类:一类是足以互相的(如左图),五个框能够并行总计,concat
的内部存款和储蓄器也足以提前分配好;另一类是必须串行去进行计算,没有章程并行的
operator 则会回落硬件的并行度。对于硬件来说,能够相互的 operator
可以通过指令调度来足够利用硬件的竞相能力。从那条准测上看,DenseNet
那种互连网布局在动用实际上13分不和谐。它每便的卷积操作总括量相当小,而且每趟总结供给依靠先前颇具的结果,操作之间无法并行化,跑起来相当的慢。其它,太深的互连网跑起来也相比慢。

最后,ShuffleNetV2 也提议,Element-wise
对于速度的震慑也是不可忽略的
——一定水平上得以那样说。因为 Element-wise
尽管计算量一点都不大,可是它的带宽供给相比大。其实只要把 Element-wise
的操作和卷积结合在联合署名,那么 Element-wise
的操作对最终带宽带来的影响大约为
0。常用的例子是,大家得以把卷积、激活函数和 BN
位于一起,那样的话,数据足以只读二次。

讲到那里,大家做一下总括,安排很快的神经网络,大家供给尽恐怕让 operator
做并行化总括,同时去缩小带宽的供给
,因为最终的速度由带宽和计算量共同决定的,所以那二者哪个存在瓶颈,都会制约运转速度。

连忙神经网络的自行设计

千古优化神经网络结构往往借助非凡有经验的工程师去调参,大家能否直接让机器去自动搜索互联网布局吧?

图片 38

事实上也是足以的,比如说 Google前段时间进行一项工作叫
NASNet,便是经过深化学习,把图像分类的准确率和网络自己的总结量作为反映,去磨练互连网布局生成器,让网络布局生成器去变通相比好的互连网布局。

图片 39

谷歌(Google) 的那项工作大概用了 450 GPUs 和 4
天,搜索出了品质和总结量都尚可的互联网布局,那七个图是互连网布局的中坚单元。不过,通过大家事先的剖析,它这五个基本单元肯定是跑非常慢的,因为操作太零碎,而且许多操作没有主意并行。所以对于搜索互联网布局,考虑实际的运作速度是八个更确切的精选。所以就有了一而再的行事,叫做
MnasNet。

图片 40

谷歌此次直接把手机上的运作速度作为深化互联网的举报。我们得以见见用那种措施寻找出来的网络结构合理很多,同时质量也比以前稍微好一些。

图片 41

在同时期,大家也有拓展了看似的干活——RENAS,它事实上借鉴了
NASNet,但大家重视于去化解查找频率低下的标题。和 NASNet
不一致,大家利用升高算法搜索网络布局,同时用强化学习去学学进步的方针。工作方法的链接放在上边,大家感兴趣也足以去看一下。

图片 42

RENAS
的二个亮点是,它的网络寻找的频率要高得多:大家用了 4GPU 和 1.5
天就搜出比 NASNet 更好的协会。但是它的欠缺也跟 NASNet
一样,都用了总结量作为多个衡量指标,由此它寻找出来的享有结果只是计算量低,可是运转速度并不一定尤其快。

算法+硬件在电脑应用上的有个别成果

讲了那样多,最终我们得以显得一下,经过优化后的网络在主流视觉任务上的行使效能:

最常见的图像级其他感知职务比如图像分类、人脸识别等,由于它们输入相比小,所以完全总括量并一点都不大,对于网路的功用供给也绝非那么苛刻。而在图像分类以外的行事比如物体检查和测试语义分割等等,它们的输入比图像分类大得多,往往在 1280×720
那种分辨率或许更大的分辨率。MobileNet 或然 ShuffleNet
在那些分辨率下的总结量,依旧挺高的。别的在物体格检查测、语义分割的题目其中,尺度是一个要考虑的成分,所以大家在安顿网络的时候,要对准尺度难题做一些分外的配置,包蕴并引入越来越多分支,调整合适的感受野等等。

图片 43

对此实体格检查测、语义分割职务,大家特意设置了三个互连网布局,它的大概样子如上海体育场地中的右图所示,特点是大家选拔了累累跨尺度的特色融合模块,使互连网能够处理不一样尺度的实体,其它,大家那一个网络的基本单元都依照了总结、高效的标准化,用硬件最友好、最简单达成的操作去组建基本模块。

图片 44

小编们在一部分当面数量集上测试了这几个模型的天性,首要有四个数据集,四个是
Cityscapes,它是语义分割数据集,图像分辨率相当大,原始图像分辨率为
2048×1024,标注有 19 类。在那些数据集上,大家的网络跟旷世最新的一篇诗歌BiSeNet 做相比——BiSeNet
是方今能够找到的在语义分割领域中速度最快的二个方式,它的盘算在右侧的表格中,当中的揣度模型*Xception39
在 640×320 的分辨率,大致须求 2.9G
的计算量,而笔者辈的三个小模型在同一规模的输入下,达到大致一模一样的效应,只供给0.55G 的总计量。

同时,在质量上,——语义分割里面大家用 mIoU
作为指标,在 2048×1 024 的分辨率下,大家多少大学一年级点点的互联网跟 Xception3七分外接近。大家的网络还在 KITTI 数据集上做了二个测试,它的分辨率大约为
1300×300 多,特别是车和人的检测职责上所显示出来的性情,和 法斯特er
LacrosseCNN,SSD,YOLO 等科学普及的措施的模型对照,具有相当高的性价比。

下边展现一下大家算法在 FPGA
平台上进行的一个 德姆o。

我们以此网络同时去加强体检查和测试和语义分割,以及身体姿态推测。FPGA
也是大家第贰代芯片的八个原型,第叁代芯片年初会流片回来,单块芯片品质会是
FPGA 这一个平台的 2-4
倍。这几个数目是在美利坚同盟国的澳门采集的,除了身体姿态的检查和测试,我们还做了车载(An on-board)三维关键点定位,它的运营速度能够达到实时,也作为大家主要的出品在车厂中应用。德姆o
只是大家工作的冰山一角,大家还有好多任何的取向的做事,比如智能摄像头、商业场景下的施用,指标是为万物赋予智能,从而让大家的生存更美好。那是大家的宣传片,相信大家在进职播间的时候都早就看过了。

末段回归此次做直播的一项尤其关键的目的——校招。大家二零一九年的校招立刻要从头了,接下去由
HLAND 表妹来介绍一下地平线招聘的场馆。

地平线 2019
年最全的校招政策解读

我们好,作者是地平线负责招聘的 H揽胜极光赵红娟,接下去本身来全体介绍一下供销合作社的事态以及校招流程。

地平线(「公司」)是国际超过的嵌入式人工智能(「AI」)平台的提供商。集团依照自主研究开发人工智能芯片和算法软件,以智能驾车,智慧城市和智慧零售为根本选取场景,提需要客户开放的软硬件平台和动用化解方案。经过三年的腾飞,地平线将来有
700-800 的规范职工,加上实习生,大概有 900 人左右。同时,企业 7/10多的职员和工人都以研究开发职员,大家的平分工产业界经验为 7 年左右。

大家合营社的技能公司实力丰饶,除了境内的各大厂之外,同时也有来源如
脸谱、HTC、德州仪器等国际盛名集团的分子。方今,大家的业务迈出「软+硬,端+云」领域,后续会没完没了深耕嵌入式人工智能。

当下,大家也对已经创制的事情方向内部做了一个总计归类,叫「一核三翼」,「核」是指大家的芯片,应用到智能开车、智慧城市和智慧零售多个领域。当中,智慧城市首假诺泛安全防范领域——那是2个分外有潜力的商场,而我们的小聪明零售的切实方向是基于大家嵌入式人工智能芯片技术,将线下零售数据线上化、数据化,为零售管理者提供多层次消除方案。

上面进加入关贸总协定协会键点,即我们盼望什么样的同桌参预?用几个词来回顾正是:Dedicated、
Hands-on、 Team working。

大家能够提须要大家如何呢?那也是豪门比较感兴趣的点。笔者将从职务、工作地方和有利于八个趋势讲一下。

岗位方向有算法、软件、芯片、硬件、产品中国共产党第五次全国代表大会方向。

工作地方,总部在京都,同时在、青岛、法国巴黎、卢萨卡、温哥华、阿德莱德、硅谷都有
office,大家能够接纳自身喜爱的都会。

福利则囊括:

  1. 得到校招 Offer
    的同室,结束学业前能来地平线实习,可以分享到跟结业以后正式职工同样的薪水专业;

2.
试用期停止未来,全数毕业生统一社团转正答辩,依照转正答辩战绩有推荐我们去加入各样国际一级会议,或然前往硅谷工作或参观等居多开眼界的空子。

3.
针对性我们从学生到职场人的转型,大家会提供进步版地平线高校,助力职业生涯发展。地平线高校分为必修课和选修课,同时会有常用的礼仪方面包车型地铁培育

4.
其余福利其余公司可能都有,不过我们商户会更亲近,比如电竞椅、升降桌,补充医疗、入职&年度体格检查、全天零食供应、餐补、交通补、租房补贴、带薪年假
10 天、产假 6 个月、陪产假 15 天、多彩
offsite、各个兴趣协会等等。

最后,大家附团长招通过海关秘籍:

图片 45

宣讲高校:东北京高校学、卑尔根交通大学、华中国科高校技大学、南大、清华大学、上海清华、西安复旦、河南高校、中国科学技术大学和
中科院高校等十所高校。

校招流程:宣讲会当天笔试,当晚出笔试战表,隔天进行面试,面试通过就会发录用意向书,十一后发正式
Offer。

简历投递格局:包蕴网申和宣讲会现场投简历。

简单来讲,地平线相当注重校招生及其培育,希望给大家更好的进步空间,作育一代又一时的地平线人,为铺面成立更大的股票总值,为科技(science and technology)进步进献自身的能力!

上边是中国中国科学技术大学学站的宣讲群二维码,欢迎同学们前来围观。

享受结束后,两位嘉宾还对校友们建议的标题展开了答复,大家能够点击文末开卷最初的作品移步社区进行详细询问。

以上正是本期嘉宾的一体享用内容。越多公开课摄像请到雷锋同志网
AI 研习社社区看看。关心微信公众号:AI
研习社(okweiwu),可取得最新公开课直播时间预报。回去博客园,查看越来越多

责编: