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

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

3天内不再提示

Hot Chips 2017——人工智能近期的发展及其对计算机系统设计的影响(附PPT资料下载)

m3Fp_almosthuma 来源:机器之心 作者:机器之心 2017-08-24 17:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在刚刚结束的 2017 年国际高性能微处理器研讨会(Hot Chips 2017)上,微软、百度、英特尔等公司都发布了一系列硬件方面的新信息,比如微软的 Project Brainwave、百度的 XPU、英特尔的 14nm FPGA 解决方案等。谷歌也不例外,在大会 keynote 中 Jeff Dean 介绍了人工智能近期的发展及其对计算机系统设计的影响,同时他也对 TPU、TensorFlow 进行了详细介绍。文末提供了该演讲资料的下载地址。

在演讲中,Jeff Dean 首先介绍了深度学习的崛起(及其原因),谷歌在自动驾驶、医疗健康等领域取得的最新进展。

Jeff Dean 表示,随着深度学习的发展,我们需要更多的计算能力,而深度学习也正在改变我们设计计算机的能力。

我们知道,谷歌设计了 TPU 专门进行神经网络推断。Jeff Dean 表示,TPU 在谷歌产品中的应用已经超过了 30 个月,用于搜索、神经机器翻译、DeepMind 的 AlphaGo 系统等。

但部署人工智能不只是推断,还有训练阶段。TPU 能够助力推断,我们又该如何加速训练?训练的加速非常的重要:无论是对产品化还是对解决大量的难题。

为了同时加速神经网络的推断与训练,谷歌设计了 TPU 二代。TPU 二代芯片的性能如下图所示:

除了上图所述意外,TPU 二代的特点还有:

  • 每秒的浮点运算是 180 teraflops,64 GB 的 HBM 存储,2400 GB/S 的存储带宽

  • 设计上,TPU 二代可以组合连接成大型配置

下图是 TPU 组成的大型配置:由 64 块 TPU 二代组成,每秒 11.5 千万亿次浮点运算,4 太字节的 HBM 存储。

在拥有强大的硬件之后,我们需要更强大的深度学习框架来支持这些硬件和编程语言,因为快速增长的机器学习和深度学习需要硬件和软件都能具备强大的扩展能力。因此,Jeff Dean 还详细介绍了最开始由谷歌开发的深度学习框架 TensorFlow。

深度学习框架 TensorFlow

TensorFlow 是一种采用数据流图(data flow graphs),用于数值计算的开源软件库。其中 Tensor 代表传递的数据为张量(多维数组),Flow 代表使用计算图进行运算。数据流图用「节点」(nodes)和「边」(edges)组成的有向图来描述数学运算。

TensorFlow 的目标是建立一个可以表达和分享机器学习观点与系统的公共平台。该平台是开源的,所以它不仅是谷歌的平台,同时是所有机器学习开发者和研究人员的平台,谷歌和所有机器学习开源社区的研究者都在努力使 TensorFlow 成为研究和产品上最好的机器学习平台。

下面是 TensorFlow 项目近年来在 Github 上的关注度,我们可以看到 TensorFlow 是所有同类深度学习框架中关注度最大的项目。

TensorFlow:一个充满活力的开源社区

TensorFlow 发展迅速,有很多谷歌外部的开发人员

  • 超过 800 多位 TensorFlow 开发人员(非谷歌人员)。

  • 21 个月内 Github 上有超过 21000 多条贡献和修改。

  • 许多社区编写了 TensorFlow 的教程、模型、翻译和项目

  • 超过 16000 个 Github 项目在项目名中包含了「TensorFlow」字段

社区与 TensorFlow 团队之间的直接联合

  • 5000+已回答的 Stack Overflow 问题

  • 80+ 每周解答的社区提交的 GitHub 问题

通过 TensorFlow 编程

在 TensorFlow 中,一个模型可能只需要一点点修改就能在 CPUGPU 或 TPU 上运行。前面我们已经看到 TPU 的强大之处,Jeff Dean 表明,对于从事开放性机器学习研究的科学家,谷歌可以免费提供 1000 块云 TPU 来支持他们的研究。Jeff Dean 说:「我们很高兴研究者能在更强劲的计算力下进行更杰出的研究」

TensorFlow Research Cloud 申请地址:https://services.google.com/fb/forms/tpusignup/

机器学习需要在各种环境中运行,我们可以在下面看到 TensorFlow 所支持的各种平台和编程语言。

除此之外,TensorFlow 还支持各种编程语言,如 PythonC++JavaC#、R、Go 等。

TensorFlow 非常重要的一点就是计算图,我们一般需要先定义整个模型需要的计算图,然后再执行计算图进行运算。在计算图中,「节点」一般用来表示施加的数学操作,但也可以表示数据输入的起点和输出的终点,或者是读取/写入持久变量(persistent variable)的终点。边表示节点之间的输入/输出关系。这些数据边可以传送维度可动态调整的多维数据数组,即张量(tensor)。

如下是使用 TensorFlow 和 Python 代码定义一个计算图:

在 Tensorflow 中,所有不同的变量和运算都储存在计算图。所以在我们构建完模型所需要的图之后,还需要打开一个会话(Session)来运行整个计算图。在会话中,我们可以将所有计算分配到可用的 CPU 和 GPU 资源中。

如下所示代码,我们声明两个常量 a 和 b,并且定义一个加法运算。但它并不会输出计算结果,因为我们只是定义了一张图,而没有运行它:

a=tf.constant([1,2],name="a")
b=tf.constant([2,4],name="b")
result = a+b
print(result)

#输出:Tensor("add:0", shape=(2,), dtype=int32)

下面的代码才会输出计算结果,因为我们需要创建一个会话才能管理 TensorFlow 运行时的所有资源。但计算完毕后需要关闭会话来帮助系统回收资源,不然就会出现资源泄漏的问题。下面提供了使用会话的两种方式:

a=tf.constant([1,2,3,4])
b=tf.constant([1,2,3,4])
result=a+b
sess=tf.Session()
print(sess.run(result))
sess.close

#输出 [2 4 6 8]

with tf.Session() as sess:
  a=tf.constant([1,2,3,4])
  b=tf.constant([1,2,3,4])
  result=a+b
  print(sess.run(result))
  
#输出 [2 4 6 8]

TensorFlow + XLA 编译器

XLA(Accelerated Linear Algebra)是一种特定领域的编译器,它极好地支持线性代数,所以能很大程度地优化 TensorFlow 的计算。使用 XLA 编译器,TensorFlow 的运算将在速度、内存使用和概率计算上得到大幅度提升。

  • XLA 编译器详细介绍: https://www.tensorflow.org/performance/xla/

  • XLA 编译器开源代码: https://github.com/tensorflow/tensorflow/tree/master/tensorflow/compiler

TensorFlow 的优势

高性能机器学习模型

对于大型模型来说,模型并行化处理是极其重要的,因为单个模型的训练时间太长以至于我们很难对这些模型进行反复的修改。因此,在多个计算设备中处理模型并取得优秀的性能就十分重要了。如下所示,我们可以将模型分割为四部分,运行在四个 GPU 上。

高性能强化学习模型

通过强化学习训练的 Placement 模型将图(graph)作为输入,并且将一组设备、输出设备作为图中的节点。在 Runtime 中,给定强化学习的奖励信号而度量每一步的时间,然后再更新 Placement。

通过强化学习优化设备部署(Device Placement Optimization with Reinforcement Learning,ICML 2017)

  • 论文地址:https://arxiv.org/abs/1706.04972

通过强化学习优化设备部署

降低推断成本

开发人员最怕的就是「我们有十分优秀的模型,但它却需要太多的计算资源而不能部署到边缘设备中!」

Geoffrey Hinton 和 Jeff Dean 等人曾发表过论文 Distilling the Knowledge in a Neural Network。在该篇论文中,他们详细探讨了将知识压缩到一个集成的单一模型中,因此能使用不同的压缩方法将复杂模型部署到低计算能力的设备中。他们表示这种方法显著地提升了商业声学模型部署的性能。

  • 论文地址:https://arxiv.org/abs/1503.02531

这种集成方法实现成一个从输入到输出的映射函数。我们会忽略集成中的模型和参数化的方式而只关注于这个函数。以下是 Jeff Dean 介绍这种集成。

训练模型的几个趋势

1. 大型、稀疏激活式模型

之所以想要训练这种模型是想要面向大型数据集的大型模型容量,但同时也想要单个样本只激活大型模型的一小部分。

逐个样本路径选择图

这里,可参考谷歌 Google Brain ICLR 2017 论文《OUTRAGEOUSLY LARGE NEURAL NETWORKS: THE SPARSELY-GATED MIXTURE-OF-EXPERTS LAYER》。

2. 自动机器学习

Jeff Dean 介绍说,目前的解决方式是:机器学习专家+数据+计算。这种解决方案人力的介入非常大。我们能不能把解决方案变成:数据+100 倍的计算。

有多个信号让我们看到,这种方式是可行的:

  • 基于强化学习的架构搜索

  • 学习如何优化

如 Google Brain ICLR 2017 论文《Neural Architecture Search with Reinforcement Learning》,其思路是通过强化学习训练的模型能够生成模型。

在此论文中,作者们生成了 10 个模型,对它们进行训练(数个小时),使用生成模型的损失函数作为强化学习的信号。

在 CIFAR-10 图像识别任务上,神经架构搜索的表现与其他顶级成果的表现对比如上图所示。

上图是正常的 LSTM 单元与架构搜索所发现的单元图。

此外,学习优化更新规则也是自动机器学习趋势中的一个信号。通常我们使用的都是手动设计的优化器,如下图所示。

而 Google Brain 在 ICML 2017 的论文《Neural Optimizer Search with Reinforcement Learning》中,就讲到了一种学习优化更新规则的技术。神经优化器搜索如下图所示:

总结

最后,Jeff Dean 总结说,未来人工智能的发展可能需要结合以上介绍的所有思路:需要大型、但稀疏激活的模型;需要解决多种任务的单个模型;大型模型的动态学习和成长路径;面向机器学习超级计算的特定硬件,以及高效匹配这种硬件的机器学习方法。

当然,目前在机器学习与系统/计算机架构的交叉领域还存在一些开放问题,例如:

  • 极为不同的数值是否合理(例如,1-2 位的激励值/参数)?

  • 我们如何高效的处理非常动态的模型(每个输入样本都有不同的图)?特别是在特大型机器上。

  • 有没有方法能够帮助我们解决当 batch size 更大时,回报变小的难题?

  • 接下来 3-4 年中,重要的机器学习算法、方法是什么?

如今,神经网络与其他方法随数据、模型大小变化的准确率对比图如下:

未来,可能又是一番境况。

演讲PPT地址:http://pan.baidu.com/s/1kVyxeB1

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

    关注

    1655

    文章

    22283

    浏览量

    630219
  • 微处理器
    +关注

    关注

    11

    文章

    2416

    浏览量

    85334
  • AI
    AI
    +关注

    关注

    89

    文章

    38090

    浏览量

    296529
  • 人工智能
    +关注

    关注

    1813

    文章

    49734

    浏览量

    261490

原文标题:Jeff Dean「Hot Chips 2017」演讲:AI对计算机系统设计的影响

文章出处:【微信号:almosthuman2014,微信公众号:机器之心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Neousys宸曜发布适用于狭小空间的经济型边缘人工智能计算机

    强固型嵌入式计算机厂商Neousys宸曜科技发布了NRU-160-FT系列,一款紧凑型无风扇人工智能边缘计算机,搭载NVIDIA®JetsonOrin™NX/Nano系统模块。NRU-
    的头像 发表于 12-01 16:21 667次阅读
    Neousys宸曜发布适用于狭小空间的经济型边缘<b class='flag-5'>人工智能</b><b class='flag-5'>计算机</b>

    上海市计算机行业协会携手深兰科技推动人工智能高质量发展

    2025年11月13日,由上海市计算机行业协会主办的“智启未来·走进深兰——人工智能赋能高质量发展参访交流会”在位于张江的深兰科技总部顺利举行。市经信委无线和电子信息产业处相关领导、协会理事单位及会员企业代表出席活动,共同探讨具
    的头像 发表于 11-17 16:08 336次阅读

    龙架构计算机系统能力核心课程教学研讨会圆满举行

    2025年11月8日,由教育部计算机类专业系统能力课程群虚拟教研室指导、北京航空航天大学计算机学院主办的龙架构计算机系统能力核心课程教学研讨会在京举行。
    的头像 发表于 11-14 13:52 377次阅读

    2025中国高校计算机大赛人工智能创意赛圆满落幕

    11月2日,2025中国高校计算机大赛-人工智能创意赛(C4-AI竞赛)在海南大学海甸校区正式落下帷幕。
    的头像 发表于 11-05 15:39 380次阅读

    人工智能技术的现状与未来发展趋势

    人工智能技术的现状与未来发展趋势     近年来,人工智能(AI)技术迅猛发展,深刻影响着各行各业。从计算机视觉到自然语言处理,从自动驾驶到
    的头像 发表于 07-16 15:01 1180次阅读

    利用边缘计算和工业计算机实现智能视频分析

    IVA的好处、实际部署应用程序以及工业计算机如何实现这些解决方案。一、什么是智能视频分析(IVA)?智能视频分析(IVA)集成了复杂的计算机视觉,通常与卷积神经网
    的头像 发表于 05-16 14:37 631次阅读
    利用边缘<b class='flag-5'>计算</b>和工业<b class='flag-5'>计算机</b>实现<b class='flag-5'>智能</b>视频分析

    一文带你了解工业计算机尺寸

    工业计算机是现代自动化、人工智能(AI)和边缘计算的支柱。这些坚固耐用的系统旨在承受恶劣的环境,同时为关键应用提供可靠的性能。然而,由于有这么多可用的外形尺寸,为您的工业
    的头像 发表于 04-24 13:35 790次阅读
    一文带你了解工业<b class='flag-5'>计算机</b>尺寸

    计算机网络入门指南

    计算机网络是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的
    的头像 发表于 04-22 14:29 1858次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    2025全国大学生计算机系统能力大赛启幕,RT-Thread助力高校人才培养

    全国大学生计算机系统能力大赛是由系统能力培养研究专家组发起,全国高等学校计算机教育研究会、系统能力培养研究专家组、系统能力培养研究项目发起高
    的头像 发表于 04-10 21:26 776次阅读
    2025全国大学生<b class='flag-5'>计算机系统</b>能力大赛启幕,RT-Thread助力高校人才培养

    【「芯片通识课:一本书读懂芯片技术」阅读体验】从deepseek看今天芯片发展

    的: 神经网络处理器(NPU)是一种模仿人脑神经网络的电路系统,是实现人工智能中神经网络计算的专用处理器,主要用于人工智能深度学习模型的加速训练。
    发表于 04-02 17:25

    人工智能推理及神经处理的未来

    人工智能行业所围绕的是一个受技术进步、社会需求和监管政策影响的动态环境。机器学习、自然语言处理和计算机视觉方面的技术进步,加速了人工智能发展和应用。包括医疗保健、金融和制造业在内的各
    的头像 发表于 12-23 11:18 869次阅读
    <b class='flag-5'>人工智能</b>推理及神经处理的未来

    专业的第三类医疗器械经营企业计算机系统,确保合规无忧

    第三类医疗器械经营企业计算机系统因其简单明了的特性而受到了众多用户的欢迎。与其他第三类医疗器械经营企业计算机系统相比,盘谷医疗的快速上手为用户提供了极大的便利。该系统还支持远程操作,用户可以随时随地对医疗器械进行进销存管理。
    的头像 发表于 12-12 16:05 694次阅读
    专业的第三类医疗器械经营企业<b class='flag-5'>计算机系统</b>,确保合规无忧

    什么是嵌入式人工智能

    嵌入式人工智能是指将人工智能技术应用于嵌入式系统中的一种技术。嵌入式系统是嵌入到其他设备或系统中的计算机
    的头像 发表于 12-11 09:23 1519次阅读
    什么是嵌入式<b class='flag-5'>人工智能</b>

    人机环境系统智能化:人工智能的未来发展趋势

    与机器、环境之间的高效协同和智能化互动。随着AI技术的发展,特别是自然语言处理、计算机视觉、物联网、大数据分析、机器学习等技术的成熟,人机环境系统
    的头像 发表于 12-09 14:05 1185次阅读

    人工智能发展需要新的芯片技术

    人工智能的繁荣发展需要新的芯片技术。   1997年,IBM的“深蓝”超级计算机打败了国际象棋世界冠军加里•卡斯帕罗夫。这是超级计算机技术的一次突破性展示,也首次让人们看到了高性能
    的头像 发表于 12-07 09:49 1504次阅读
    <b class='flag-5'>人工智能</b><b class='flag-5'>发展</b>需要新的芯片技术