Google传奇Jeff Dean最新演讲:如何构建未来的机器学习芯片

简介:
本文来自AI新媒体量子位(QbitAI)

如何构建未来的机器学习加速芯片?

Google大脑负责人Jeff Dean是最有资格回答这个问题的人之一。昨天,还是在NIPS大会期间,Jeff Dean详细介绍了Google在AI芯片方面的最新研究。

ab88575f64df2331de37a239bc1abc63bf7a7370

以下是Jeff Dean最新演讲的主要内容。

众所周知,深度学习需要大量的计算资源支持,深度学习正在改变我们设计电脑的方式。例如,降低计算精度也是OK的。

Google在新机器学习方面的成果之一,就是TPU。这个专用的AI加速芯片,主要用来执行神经网络的推理计算。Google的搜索、神经机器翻译、语音图像识别,以及大名鼎鼎的AlphaGo背后,都是TPU在提供计算支持。

第一代TPU在推理方面取得了巨大的进步,但是训练怎么办?

于是Google又研发了第二代TPU。第二代TPU被设计用来同时执行训练和推理计算。第二代TPU的架构如下图所示:

3461f8f49dc36a66282d8507ec8d0897f7382411

Google还用64块TPU组成阵列(TPU Pod),这进一步提升了计算效力。具体有多厉害?例如,训练Resnet-50达到75%以上精确度,单个第二代TPU要耗时一整天,而阵列只需要22分钟,速度提升31倍,不需要任何额外代码优化。

成绩属于过去,未来挑战依然严峻。2009年以来,arXiv上机器学习论文的增长速度,已经超过摩尔定律。

0a87cad71a50242f1a58d7246e05f12c745c764e

所以,接下来要思考的问题还是:应该如何构建未来的机器学习加速器?如果现在开始着手,如何设计一个两年内能投入使用,五年内不会过时的AI芯片?

需要考虑的问题包括精度、稀疏和嵌入、Batch大小、训练算法等等。但首先是整个系统都应该有所改变。传统的low-level系统代码(操作系统、编译器、存储系统)还没有广泛利用当今的机器学习。

对于更高性能的机器学习模型来说,并行性非常重要。但是在多个计算设备上获得良好的性能,是并不是一件易事。

为什么这样?

因为Learned Index结构,不是传统的索引结构。这部分实际上是Google最新的研究成果。

在这个研究中,Google从假设现在所有的索引结构都可以用其他类型的模型来代替,包括深度学习模型,这被称为Learned Index。核心思想是,一个模型可以学习查询的排序顺序或者结构,并且利用这个信号来有效预测记录的位置。

294aa34a32cc77fc4934684b805a009982ad4e8c

Google还从理论上分析了Learned Index在哪些条件下,表现优于传统的指标结构,描述了Learned Index结构设计中的主要挑战。

初步的结果显示,在神经网络环境中,这能让经过缓存优化的B-Tree提速70%,同时节省了一个数量级的内存占用。

973e0ec3a4adff2ab6685d655d5cfc9c0e1e6412

另外,GPU/TPU让Learned Index更加可行。当然,GPU/TPU还面临高调用延迟等挑战,但是使用批量请求等技术,可以分摊调用成本。

重要的是,Google认为通过学习模型取代数据管理系统核心组件的想法,对未来的系统设计有着深远的影响。

如果对这部分研究的细节感兴趣,可以查看Google的论文The Case for Learned Index Structures,地址在此:https://arxiv.org/abs/1712.01208 。

在量子位微信公众号(QbitAI)对话界面,回复关键词“jeff”,就能下载此次Jeff Dean演讲PPT的全文。

One more thing…

Jeff Dean终于在推特上开了账号~

e484ec7bf5268a4cf0664da1509bc748acaef6dd

本文作者:允中
原文发布时间:2017-12-10
相关文章
|
6天前
|
机器学习/深度学习 数据采集 搜索推荐
利用Python和机器学习构建电影推荐系统
利用Python和机器学习构建电影推荐系统
20 1
|
1月前
|
机器学习/深度学习 算法 数据挖掘
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
|
1月前
|
机器学习/深度学习 算法 数据可视化
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
【机器学习】决策树------迅速了解其基本思想,Sklearn的决策树API及构建决策树的步骤!!!
|
3月前
|
机器学习/深度学习 PHP 开发者
探索PHP中的面向对象编程构建你的首个机器学习模型:以Python和scikit-learn为例
【8月更文挑战第30天】在PHP的世界中,面向对象编程(OOP)是一块基石,它让代码更加模块化、易于管理和维护。本文将深入探讨PHP中面向对象的魔法,从类和对象的定义开始,到继承、多态性、封装等核心概念,再到实战中如何应用这些理念来构建更健壮的应用。我们将通过示例代码,一起见证PHP中OOP的魔力,并理解其背后的设计哲学。
|
3月前
|
机器学习/深度学习 人工智能 Android开发
揭秘AI编程:从零开始构建你的第一个机器学习模型移动应用开发之旅:从新手到专家
【8月更文挑战第29天】本文将带你走进人工智能的奇妙世界,一起探索如何从零开始构建一个机器学习模型。我们将一步步解析整个过程,包括数据收集、预处理、模型选择、训练和测试等步骤,让你对AI编程有一个全面而深入的理解。无论你是AI初学者,还是有一定基础的开发者,都能在这篇文章中找到你需要的信息和启示。让我们一起开启这段激动人心的AI编程之旅吧! 【8月更文挑战第29天】在这篇文章中,我们将探索移动应用开发的奇妙世界。无论你是刚刚踏入这个领域的新手,还是已经有一定经验的开发者,这篇文章都将为你提供有价值的信息和指导。我们将从基础开始,逐步深入到更复杂的主题,包括移动操作系统的选择、开发工具的使用、
|
3月前
|
机器学习/深度学习 人工智能 算法
【悬念揭秘】ML.NET:那片未被探索的机器学习宝藏,如何让普通开发者一夜变身AI高手?——从零开始,揭秘构建智能应用的神秘旅程!
【8月更文挑战第28天】ML.NET 是微软推出的一款开源机器学习框架,专为希望在本地应用中嵌入智能功能的 .NET 开发者设计。无需深厚的数据科学背景,即可实现预测分析、推荐系统和图像识别等功能。它支持多种数据源,提供丰富的预处理工具和多样化的机器学习算法,简化了数据处理和模型训练流程。
54 1
|
3月前
|
机器学习/深度学习 数据处理 定位技术
构建您的首个机器学习项目:从理论到实践
【8月更文挑战第28天】本文旨在为初学者提供一个简明的指南,通过介绍一个基础的机器学习项目——预测房价——来揭示机器学习的神秘面纱。我们将从数据收集开始,逐步深入到数据处理、模型选择、训练和评估等环节。通过实际操作,你将学会如何利用Python及其强大的科学计算库来实现自己的机器学习模型。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往机器学习世界的大门。
|
3月前
|
机器学习/深度学习 自动驾驶 算法
揭秘机器学习:用Python构建你的首个预测模型
【8月更文挑战第26天】 机器学习,这个听起来既神秘又遥不可及的领域,实际上正悄然改变着我们的世界。从推荐系统到自动驾驶汽车,机器学习技术无处不在。本文将带你走进机器学习的世界,通过一个简单的Python代码示例,展示如何构建一个基本的线性回归模型来预测房价。不需要复杂的数学公式或深奥的理论,我们将以最直观的方式理解机器学习的核心概念。无论你是编程新手还是数据科学爱好者,这篇文章都将为你打开一扇新的大门,让你看到数据背后的力量。
|
3月前
|
机器学习/深度学习 人工智能 算法
如何使用Scikit-learn在Python中构建一个机器学习分类器
如何使用Scikit-learn在Python中构建一个机器学习分类器
41 3
|
3月前
|
机器学习/深度学习 数据采集 分布式计算
构建一个高效的机器学习工作流:技术实践与优化策略
【8月更文挑战第12天】构建一个高效的机器学习工作流是一个复杂而持续的过程,需要综合考虑数据、模型、算法、平台等多个方面。通过遵循上述步骤和优化策略,可以显著提高机器学习项目的开发效率和质量,为业务带来更大的价值。未来,随着技术的不断进步和应用场景的不断拓展,我们有理由相信机器学习工作流将变得更加高效、智能和灵活。

热门文章

最新文章