使用中央处理器(CPU),图形处理器(GPU),现场可编程逻辑门阵列(FPGA)和专用集成电路(ASIC)来理解人工智能。
树莓派(Raspberry Pi,是一款针对电脑业余爱好者、教师、小学生以及小型企业等用户的迷你电脑)在电脑业余爱好者中十分受欢迎。纵观各国,有的人用它来推动啤酒生产自动化,有的人用它打开了机器人新世界的大门,还有的人在电影学科快速发展的现状下,用它变革了科学、技术、工程、数学四大学科的教学方式。这些方式都是值得赞美的。那么微软又利用它做了些什么呢?答案是设计了捕猎松鼠的喷水机器人。
在某公司的机器学习与优化小组中,研究员发现几只松鼠正在从喂鸟器中偷取花蕾和种子。为此,这个研究小组设计了一个计算机视觉模型,并把模型放到树莓派3的主板上。然后,每当有啮齿动物出现时,它就会打开洒水器。
这个故事的关键并不是他们多么讨厌松鼠——而是他们将卷积码神经网络与ARM处理器(英国Acorn有限公司设计的低功耗成本的第一款RISC微处理器)相结合。这也体现了这些公司正在改进硬件以支持AI运算法则。随着AI越来越受关注,研究员们致力于发展其解决基础事务的能力,比如识别图像和语音。
随着人们对科技的期望越来越大,如研发自动飞行无人机和自动驾驶汽车,硬件发展所面临的挑战也越来越大。对此,各个公司正在生产硅制品和计算节点来应对这些挑战。
美国市场研究公司ABI Research研究部主任Jeff Orr将AI硬件发展划分为3个广泛领域:云服务,在线设备及混合领域。云服务主要是在微软、亚马逊和谷歌等超大规模数据中心环境下,在线上完成AI任务进程。
而在另一领域,他看到了设备的更多进程。在这些进程中,连接或延时禁止了数据传送回云。
他说,“它的作用可能是发出声音指令,使智能手机或智能眼镜等可佩戴式设备不再需要人们亲自动手操作。这方面的技术还会继续发展,因为 当今世界还没有大量在线设备的例子。”他认为增强现实是关键驱动力,要不然就只能假设永远都有这种应用程序。
最后,混合领域结合了以上两个领域来完成AI计算。然后,你的手机便能通过基于云的AI来识别你的问题和要求。
云:下雨式算法
云的重要性源于AI的学习方式。AI模型渐渐能够开始深度学习,能使用多层复杂神经网络来创造更精确的AI程序。
神经网络的运用包含两个方面。第一是测验网络是在何处分析数据并得出数据模型的,这是一种有效的“学习”阶段。第二是推断神经网络在何处解析新数据并得出精确结果。测验这些网络会消耗大量的计算能力,但是测验负载可以分成多个并发运行的任务。这就是为什么有双倍浮点精度和大芯数的GPU会如此擅长该任务。
然而,神经网络规模正在扩大,面临的挑战也越来越多。GPU主要供应商英伟达公司(Nvidia,是一家以设计智核芯片组为主的无晶圆(Fabless)IC半导体公司)加速计算小组的副组长Ian Buck说他们正在以每年两倍的速度扩张。该公司正在创造更多计算密集的图形处理器架构来应对其扩张,但也在改变着其对待数学的方式。
他说“即使精确度不那么高,它也能完成”。最初,神经网络测验主要着手于32-位浮点数,但他们在5月宣布,该神经网络优化了新的Volta架构(英伟达的新一代GPU架构),使之能将16-点输入32-位内部计算。
Buck说,将其计算精确度缩减到16点有两大好处。
“一是用户可以利用更快的算法,因为处理器在较低的分辨率下往往具有更多的生产量。二是增加了可用带宽的数量,因为你正在获取每一个算法的数据。”
Buck谈道,“问题是,其精确度可以达到多低呢?如果太低,便无法测验,就无法达到生产所需的精准度,或者会变得不稳定。”
超越GPU
虽然英伟达公司在精炼其架构,但一些云供应商已经使用其他架构的GPU创建了自己的芯片。谷歌研发的TPU(谷歌为机器学习而设计的处理器)一代最初为推理工作负载而致力于8-点整数。在五月推出的新一代TPU提供了浮点精度,还能被用于测验。这些芯片是专用集成电路(ASIC)。与CPU和GPU不同,它们是为特定目的而设计的(这些天你经常会看到它们用于采矿比特币),但它们不能重新编程。缺乏无关的逻辑使得他们的电力使用在性能和经济上都非常高,但却非常昂贵。
谷歌的规模已经大到可以承担与设计ASIC相关的大量非经常性支出(NRE),因为它在基于AI的数据中心运营中节约了成本。它在许多操作中使用它们,从识别街景视图文本到执行Rankbrain搜索查询,并且每当TPU执行某些操作(除GPU)时,Google可以节省电力。
Moor Insights & Strategy的高级分析师Karl Freund说:“这将节省很多钱。”
不过,他认为Google并不完全是为了节省成本才这样做。 “我认为他们这样做能够完全控制硬件和软件堆栈。”如果Google在AI上投注资金,那么从终端应用程序(如自动驾驶汽车到软件框架)和云端来控制它是有意义的。
现场可编程逻辑门阵列(FPGA)及其它
当面对的不是溺水的松鼠时,微软在自己的数据中心改造推出现场可编程门阵列(FPGA)。它们类似于ASIC(专用集成电路),但是可重新编程,以便更新其算法。它们处理Azure中的联网任务,但是微软也在机器翻译这样的AI工作负载上释放出来。英特尔想要AI行业的一部分,无论它在哪里运行,包括云。
到目前为止,其Xeon Phi高性能CPU已经处理了通用机器学习,最新版本代号为Knight s Mill,并预计在今年出货。
尽管如此,该公司还拥有三项加速器,用于更具体的AI任务。对于研究深度学习神经网络,英特尔将其希望寄托在Lake Crest(专门为深度学习定制的一款芯片)。这是一个协处理器,该公司表示,使用一种名为HBM2的内存来克服数据传输性能上限,这比DDR4快了大约12倍。
虽然这些大厂商在与GPU,FPGA和ASIC构建的系统进行竞争,但其他人正在尝试从头改写AI架构。
据报道,Knuedge准备用基于云操作的256核心芯片,但他并未多说。
英国公司Graphcore由于需在2017年发布技术,已经透露了一些。它希望其智能处理单元(IPU)使用基于图形的处理,而不是GPU使用的向量或CPU中的标量处理。该公司希望这将使其能够将训练和推理工作负载适用于单个处理器。关于其技术有一个有趣的事情,它的基于图的处理 应该是减轻AI处理中最大的问题之一——从内存到处理单元的数据。而戴尔一直是该公司的支持者。
波的计算也专注于不同类型的处理,使用它所谓的数据流架构。它有一个专为数据中心运行而设计的训练器具,可以达到2.9 PetaOPs /秒。