人工智能技术
上QQ阅读APP看书,第一时间看更新

1.2 AI相关技术概览

AI技术是多层面的,贯穿了应用、算法、芯片、器件、工艺等技术层级,如图1-5所示。

图1-5 AI相关技术概览

在各技术层级上,AI技术分别取得了以下等发展。

1.应用层

视频图像类:人脸识别、目标检测、图像生成、图像美化、以图搜图、视频分析、视频审核、增强现实(Augmented Reality,AR)。

声音语音类:语音识别、语音合成、语音唤醒、声纹识别、乐曲生成。

文本类:文本分析、机器翻译、人机对话、阅读理解、推荐系统。

控制类:自动驾驶、无人机、机器人、工业自动化。

2.算法层

机器学习算法:神经网络(Neural Network)、支持向量机(Support Vector Machine,SVM)、K近邻(K-Nearest Neighbor,KNN)算法、贝叶斯算法(Bayesian Algorithm)、决策树(Decision Tree)、隐马尔可夫模型(Hidden Markov Model,HMM)、集成学习(Ensemble Learning)等。

机器学习的常用优化算法:梯度下降(Gradient Descent)、牛顿法(Newton Method)、拟牛顿法(Quasi-Newton Methods)、共轭梯度(Conjugate Gradient)、脉冲时间依赖可塑性(Spiking Timing Dependent Plasticity,STDP)等。

深度学习是实现机器学习最重要的技术之一,其中深度神经网络(Deep Neural Network,DNN)是近年相关研究的热点,它包括多层感知器(Multilayer Perceptron,MLP)、卷积神经网络(Convolutional Neural Network, CNN)、循环神经网络(Recurrent Neural Network, RNN)、脉冲神经网络(Spiking Neuron Network,SNN)等多种类型。其中,热门的CNN包括AlexNet、ResNet、VGGNet等;热门的RNN包括长短期记忆神经网络(Long Short-Term Memory,LSTM)、神经图灵机(Neural Turing Machine,NTM)等。谷歌公司的BERT(Bidirectional Encoder Representation from Transformers)就是一种基于神经网络的自然语言处理预训练技术。

除了深度学习外,迁移学习、强化学习、单样本学习、对抗学习等都是实现机器学习,尤其是解决目前深度学习面临的一些困境的重要技术。

3.芯片层

算法优化芯片:效能优化、低功耗优化、高速优化、灵活度优化,如深度学习加速器、人脸识别芯片。

神经形态芯片:仿生类脑、生物脑启发、脑机制模拟。

可编程芯片:考量灵活度、可编程性、算法兼容性、通用软件兼容性,如数字信号处理技术(Digital Signal Processing,DSP)芯片、图形处理器(Graphics Processing Unit,GPU)、场可编程门阵列(Field-Programmable Gate Array,FPGA)。

芯片系统级结构:多核、众核、单指令多数据流(Single Instruction Multiple Data,SIMD)、运算阵列结构、存储器结构、片上网络结构、多片互联结构、内存接口、通信结构、多级缓存。

开发工具链:深度学习框架(TensorFlow、Caffe、MindSpore)衔接、编译器、仿真器、优化器(量化、裁剪)、原子操作(网络)库。

4.器件层

高带宽片外存储器:高带宽存储器(High Bandwidth Memory,HBM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM)、高速图形用双倍数据传输率存储器(Graphics Double Data Rate,GDDR)、低功耗双倍数据传输率内存(Low Power Double Data Rate SDRAN LPDDR)、自旋转移力矩磁阻随机存取存储器(Spin Transfer Torque-Magnetoresistive Random Access Memory,STT-MRAM)。

高速互联器件:串行器和解串器(Serializer-Deserializer,SerDes)、光互联通信。

仿生器件(人工突触、人工神经元):忆阻器。

新型计算器件:模拟计算、内存计算(In-Memory Computing)。

5.工艺层

片上存储器(突触阵列):分布式静态随机存取存储器(Static Random-Access Memory,SRAM)、电阻式随机存取存储器(ReRAM)、相变随机存取存储器(PCRAM)等。

CMOS工艺:工艺节点(16 nm、7 nm)。

CMOS多层集成:2.5D IC/SiP、3D-Stack技术、Monolithic 3D等。

新型工艺:3D NAND、Flash Tunneling FETs、FeFET、FinFET。

1.2.1 深度学习框架介绍

深度学习框架的出现降低了深度学习入门的门槛。我们不需要从复杂的神经网络和反向传播算法开始编代码,可以依据需要,配置模型的超参数,而模型的参数可通过自动训练得到。我们也可以在已有模型的基础上增加自定义网络层,或者是在顶端选择自己需要的分类器和优化算法。

一个深度学习框架可以理解为一套积木。积木中的每个组件就是一个模型或者算法,我们可以使用积木中的组件去组装符合要求的积木模型。

目前主流的深度学习框架包括:TensorFlow、Caffe、PyTorch等。

1.2.2 AI处理器简介

AI有4大要素:数据、算法、算力、场景,其中算力依靠的就是AI处理器。AI处理器也被称为AI加速器,是专门用于处理AI应用中的大量计算任务的功能模块。

1.AI处理器分类

AI处理器有多种分类方式,这里从技术架构和功能维度来进行分类。

从技术架构来看,AI处理器大致分为以下4个类型。

(1)CPU

中央处理器(Central Processing Unit,CPU)是一块超大规模的集成电路,是一台计算机的运算核心和控制核心。它的功能主要是解释计算机指令以及处理计算机软件中的数据。

(2)GPU

图形处理器(Graphics Processing Unit,GPU)又称显示核心、视觉处理器、显示芯片,是一种专门在个人计算机、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的微处理器。

(3)ASIC

专用集成电路(Application Specific Integrated Circuit,ASIC)适合于某单一用途的集成电路产品。

(4)FPGA

现场可编程门阵列(Field Programmable Gate Array,FPGA)的设计初衷是为了实现半定制芯片的功能,即硬件结构可根据需要实时配置灵活改变。

从功能来看,AI处理器可以分为训练处理器和推理处理器2个类型。

① 训练通常需要输入大量的数据,采取强化学习等学习方法,从而训练出一个复杂的深度神经网络模型。训练过程涉及海量的训练数据和复杂的深度神经网络结构,运算量巨大,对于处理器的运算速度、精度、可扩展性等性能要求很高。常用的训练处理器有NVIDIA的GPU、谷歌的张量处理器(Tensor Processing Unit,TPU)、华为的神经网络处理器(Neural-Network Processing Unit,NPU)等。

② 推理指利用训练好的模型,使用新的数据去“推理”出各种结论,如视频监控设备通过后台的深度神经网络模型,判断一张抓拍到的人脸是否是特定的目标。虽然推理的计算量相比训练少很多,但仍然涉及大量的矩阵运算。GPU、FPGA和NPU都是常用的推理处理器。

2.AI处理器现状

(1)CPU

早期CPU的性能提升主要依靠底层硬件技术的发展,服从摩尔定律。近年来摩尔定律逐渐失效,集成电路发展放缓,硬件技术的发展遇到物理瓶颈,散热和功耗等限制了传统架构下CPU性能和串行程序效率的提升。

行业的现状促使人们不断寻找更加适合后摩尔定律时代的CPU架构以及相应软件框架。多核处理器应运而生,它是通过增加内核数来提升CPU性能的。多核处理器更好地满足了软件对硬件的需求。例如,英特尔(Intel)公司的酷睿i7系列处理器,基于x86指令集采用了多个独立内核构建的指令并行处理器核心,在一定程度上提升了处理器性能,但也使功耗和成本增加。由于内核的数量不能无限增加,并且传统的程序多数是以串行编程的思路编写的,因此这种方式对CPU性能和程序效率的提升有限。

此外,还可以通过增加指令集的方式来提升AI性能,例如为x86复杂指令集计算机(Complex Instruction Set Computer,CISC架构)指令集加入AVX512等指令集,在算术逻辑单元(Artithmetic and Logic Unit,ALU)计算模块加入积和熔加运算(Fused-Multiply-Add,FMA)指令集;为ARM(精简指令集计算机(Reduced Instruction Set Computer,RISC)架构加入指令集。

通过提高频率也可以提升CPU性能,但频率提高空间有限,并且高主频会引发功耗过大和处理器过热的问题。

(2)GPU

GPU在矩阵计算和并行计算上具有突出的性能,是异构计算的主力,最早作为深度学习的加速器被引入AI领域,目前已形成成熟的生态。

NVIDIA针对GPU在深度学习领域主要向以下3个方向发力。

① 丰富生态:推出了专门针对深度学习的GPU加速库CUDNN (The NVIDIA CUDA Deep Neural Network Horary),优化了GPU底层架构,提升了GPU应用于深度学习的易用性。

② 提升定制性:增加多数据类型支持(不再坚持float32,增加int8等)。

③ 添加深度学习专用模块(如NVIDIA V100 Tensor Core GPU采用了引入并配备张量核的改进型架构Volta)。

当前GPU存在的主要问题是成本高、能耗比低、输入输出延迟高。

(3)TPU

谷歌从2016年起致力于将专用集成电路ASIC的设计理念应用到神经网络领域,并于2016年发布了支持深度学习开源框架TensorFlow的AI定制处理器TPU。TPU利用大规模脉动阵列结合大容量片上存储来高效加速深度神经网络中最为常见的卷积运算:脉动阵列可用来优化矩阵乘法和卷积运算,以达到提高算力和降低能耗的作用。

(4)FPGA

FPGA采用硬件描述语言(Harduare Description Language,HDL)可编程方式,灵活性高,可重构,可深度定制。并且可通过多片FPGA联合将DNN模型加载到芯片上进行低延迟计算,计算性能优于GPU。但考虑到由于不断擦写,FPGA性能达不到最优。由于FPGA可重构,供货风险和研发风险较低,硬件成本取决于购买数量,容易控制。但FPGA设计、流片过程解耦,开发周期较长(通常半年),门槛高。

3.GPU、CPU设计比对

GPU主要面对类型高度统一、相互无依赖的大规模数据和不需打断的纯净计算环境。CPU需要具有很强通用性以处理不同类型数据,同时需要进行逻辑判断,还需要引入大量分支跳转和中断处理。CPU与GPU架构对比如图1-6所示。

图1-6 CPU与GPU架构对比

GPU拥有若干由数以千计的更小的核心(专为同时处理多重任务而设计)组成的大规模并行计算架构。CPU由专为串行处理而优化的几个内核组成。

(1)GPU有很多ALU和很少Cache。GPU的Cache是为线程(thread)提供服务的,扮演数据转发的角色,这点和CPU不同。当多线程需要访问同一数据时,Cache会合并这些访问,然后去访问DRAM,获取到数据后再转发给各线程,这自然会带来延时问题。但大量ALU实现大量线程并行可掩盖延时问题。此外,GPU的控制单元可以合并访问。

(2)CPU有强大的ALU,可以在很短的时钟周期内完成运算。CPU有大量Cache可以降低延时。CPU还有复杂的控制单元来进行分支预测和数据转发:当程序含有多个分支时,控制单元通过分支预测降低延时;对于依赖之前指令结果的指令,控制单元要决定这些指令在流水线(pipeline)中的位置,并尽快转发之前指令的结果。

GPU擅长密集和易于并行的运算;CPU擅长逻辑控制、串行运算。

GPU与CPU的架构差异是由于它们的侧重点不同,GPU在大规模的密集型数据并行计算方面的优势极为突出,而CPU侧重于指令执行中的逻辑控制。为了优化某个程序,往往需要同时借助CPU和GPU,发挥各自的能力进行协同处理。

4.华为昇腾(Ascend)AI处理器

NPU是指专门针对神经网络计算进行特殊优化设计的处理器,其处理神经网络任务的性能比CPU、GPU要高得多。NPU在电路层模拟人类神经元和突触,并且用深度学习指令集直接处理大规模的神经元和突触,一条指令完成一组神经元的处理。目前NPU的典型代表有华为昇腾(Ascend) AI处理器、寒武纪芯片、IBM的TrueNorth芯片。

华为昇腾AI处理器有两款:昇腾310和昇腾910。昇腾910主要应用于训练场景,大多部署在数据中心;而昇腾310主要应用于推理场景,覆盖端、边、云全场景部署环境。

昇腾910是当前全球算力最强、训练速度最快的AI处理器,其算力是国际顶尖AI处理器的2倍,相当50个当前最新最强的CPU。昇腾310和昇腾910的相关参数如表1-1所示。

表1-1 昇腾310和昇腾910的相关参数

1.2.3 AI产业生态

在过去的50年里,我们经历了3次AI浪潮,这3次AI浪潮都是以人机对弈为代表的,第一次是1962年,IBM的阿瑟·萨缪尔开发的西洋跳棋程序战胜了全美最强的西洋跳棋高手;第二次是1997年,IBM公司的计算机深蓝以3.5:2.5战胜了人类国际象棋世界冠军加里·卡斯帕罗夫;第3次AI浪潮的爆发是2016年,谷歌旗下的DeepMind公司的AlphaGo围棋AI战胜了韩国围棋世界冠军、九段棋手李世石。

未来AI会渗透到各行各业,覆盖的行业领域将包括汽车、金融、消费品与零售、医疗、教育、制造、通信、能源、旅游、文化娱乐、交通、物流、房地产、环境保护等。

例如,在汽车领域,辅助驾驶、辅助决策、全自动驾驶等智能驾驶功能都是由AI实现的。智能驾驶是一个巨大的市场,并能够很好地反哺AI领域的技术研究,形成良性的循环,是发展AI的优质土壤。

金融领域积累了大量的数据,AI可以在这一领域实现智能资产管理、智能投顾、做更加合理的金融决策等。AI还可以解决金融欺诈的问题,用于反欺诈、反洗钱,从各种各样的蛛丝马迹中推断交易的可靠性,判断资金的流向以及识别金融市场的周期性规律等。

AI在医疗领域也应用广泛,如经过对影像进行精确的几何层面的解读训练,判断影像反映的问题,为医生诊疗提供有效的辅助;经过分类任务的训练,区分正常细胞和癌细胞等。

相关调研数据显示,预计至2025年,AI市场规模将超过3万亿美元,如图1-7所示。

(单位:亿美元)

图1-7 AI市场规模预测

从图1-7可以看到,AI市场空间巨大。AI有3大基石:数据、算法、算力。但是AI要真正落地应用,仅有这3大基石是不够的,还必须加上场景。数据、算法、算力从技术角度来推动AI的发展,但是如果没有实际应用场景,技术的发展只能是数字上的变化。要实现AI落地应用,需要将AI与云计算、大数据和物联网相结合,这就构成了AI应用的平台架构,如图1-8所示。

图1-8 AI应用平台架构

基础设施为AI产业提供计算能力支撑,是AI产业发展的重要保障,其范围包括智能传感器和智能芯片等。AI技术服务主要关注如何构建AI技术平台,并对外提供相关的解决方案和服务。此类厂商在AI产业链中处于关键位置,它们依托基础设施和大量的数据,为各类AI应用提供关键性的技术平台、解决方案和服务。随着制造强国、网络强国、数字中国建设进程的加快,在制造、家居、金融、教育、交通、安防、医疗、物流等领域对AI的需求将进一步释放,相关产品的种类和形态也将越来越丰富。只有将基础设施、4大要素和AI技术服务结合,才能有效地支持AI产业生态的上层应用。

虽然AI应用领域广阔,但其开发应用也面临巨大挑战:AI开发应用水平与巨大的市场需求不适应。AI开发应用主要面临如下问题。

(1)门槛高。从事AI的先决条件与技能要求有:机器学习与深度学习知识、统计学知识、线性代数知识、微积分知识等。

(2)效率低。训练一个模型的周期长:需要进行数据采集、数据清洗、模型训练与调优和可视化体验提升等。

(3)能力碎。体验碎片化:不同场景应用相同AI模型需要重新做数据采集、数据清洗、模型训练与调优和体验提升,能力无法直接继承。

(4)提升难。能力提升困难:模型升级困难、有效数据获取困难等。

目前,以手机为核心的端侧AI成为业界共识,更多的手机将具备AI能力,英国及美国一些咨询公司预测,到2022或2023年,将有80%的手机会具备AI能力。为满足市场前景并应对AI的挑战,华为推出了面向智能终端的AI能力开放平台,即HUAWEI HiAI。HUAWEI HiAI的宗旨是“把简单留给开发者,AI连接无限可能”。HUAWEI HiAI可以让开发者快速地利用华为强大的AI处理能力为用户提供更好的智慧应用体验。

1.2.4 华为云企业智能应用平台

1.华为云企业智能应用平台概述

华为云企业智能应用平台(Enterprise Intelligence,EI)是企业智能的使能者,基于AI和大数据技术,通过云服务的方式(公有云、专属云等模式),提供一个开放的、可信的、智能的平台,结合产业场景,使企业应用系统能看、能听、能说,具备分析和理解图片、视频、语言、文本等的能力,让更多的企业可以便捷地使用AI和大数据服务,加速业务发展,造福社会。

2.华为云EI的特点

华为云EI有以下4个突出的特点。

(1)行业智慧:对行业有深刻理解,掌握行业技术决窍(Know-How),理解行业的相关痛点,利用AI技术解决行业痛点,引导AI落地。

(2)行业数据:让企业利用自己的数据,通过数据处理、数据挖掘来创造大量价值。

(3)算法:为企业提供丰富的算法库、模型库、通用AI服务以及一站式开发平台,解决企业的问题。

(4)算力:基于华为30年信息通信技术(Information Communication Technology,ICT)积累,全栈式的AI开发平台可以为企业提供聚变最强、最经济的AI算力。

3.华为云EI的发展历程

华为云EI的发展历程如图1-9所示。

图1-9 华为云EI的发展历程

华为云EI的发展历程具体如下。

(1)2002年华为开始在电信领域面向传统商业智能(Business Intelligence,BI)业务开发数据治理和分析产品。

(2)2007年华为开始投入Hadoop技术研究,布局大数据相关技术,储备大量的人才和技术专利。

(3)2011年华为将大数据技术应用在电信大数据解决方案中,用于网络诊断与分析、网络规划、网络调优等。

(4)2013年招商银行、工商银行等大企业开始与华为交流大数据相关需求,并启动技术合作。同年9月华为在华为云计算大会(Huawei Cloud Congress,HCC)发布了面向企业的大数据分析平台FusionInsight,该平台已广泛应用于各行业。

(5)2012年华为正式规模投入AI,2014年开始陆续产品化,2015年年底,财经、供应链、工程验收、电商等各个方向的产品开始进行内部实践,并取得如下成绩。

① 报关单据识别光学字符识别(Optical Character Recognition,OCR):导入效率提升10倍。

② 提货路径规划:例外费用降低30%。

③ 智能审核:效率提升6倍。

④ 电商用户智能推荐:应用转化率提升71%。

(6)2017年华为开始正式以云服务方式提供EI服务,联合更多的合作伙伴一起对外提供更丰富的AI服务。

(7)2019年华为云EI致力于普惠AI,让AI用得起、用得好、用得放心,基于自研昇腾芯片,提供59个云服务(21个平台类服务、22个视觉类服务、12个语言类服务、4个决策类服务)和159项功能(52项平台类功能、99项API类功能、8项预集成方案)。其中,API指应用程序接口(Application Programming Interface)。

华为投入了上千名研发人员进行技术研发(既包括产品化技术的研发,也包括分析算法、机器学习算法、自然语言处理等前沿技术的研究),同时将研究成果积极回馈给华为AI研究社区。