开源后 5 个月,Google 的深度学习系统都有哪些改变?

简介:

Google昨日发布分布式TensorFlow版本!

即 便TensorFlow在2015年底才出现,它已经吸引了全球机器学习开发者的目光。Google创始人Eric Schmidt坚信TensorFlow是Google的未来。深度学习引擎+云服务平台,将会带来编程范式的改变:不仅给电脑编程,而且让电脑拥有一定 的自主能力。

根据Github的数据统计,TensorFlow成为了2015年最受关注的六大开源项目之一。考虑到TensorFlow仅仅在12月才发布,一个月的时间就让它成为世界关注的焦点。

不过那时候的TensorFlow,还仅仅是只能在一个机器上运行的单机版本。这意味着它虽然设计精巧,但很难被公司、组织大规模的使用,也很难对产业造成实质的影响。

但昨天发布的分布式TensorFlow,最突出的特征是能够在不同的机器上同时运行。虽然说并不是所有人都需要在几千台服务器上运行TensorFlow,但研究者和创业公司的确能在多台机器运行的TensorFlow中获益。

TensorFlow技术负责人Rajat Monga解释了分布式TensorFlow的延期发布:“我们内部使用的软件栈(Software Stack),和外部人们使用的非常不同......所以要让它变得开源,对于我们来说是极其困难的事情。”

经过5个月的等待,分布式 TensorFlow 终于到来了。

TennsorFlow 0.8发布了,它有一些很好的改进。它为分布式的版本做了一些改变,而且把它们包裹起来使之更容易使用。这篇博客还介绍了用分布式系统训练卷积图像识别模型的一些可扩展的数字。

| Google 官方博客介绍

TensorFlow:

TensorFlow 是为使用数据流程图的数值计算开发的开源软件库。图中的节点表示数学运算,而图的边代表着彼此沟通的多维数据阵列(Tensors)。在只使用单个API 的情况下,灵活的架构可以让你在桌面、服务器或者移动设备的单个或多个CPUs和GPUs部署计算。TensorFlow最早由Google Brain团队的研究人员和工程师研发,目的是管理机器学习和深度神经网络的研究工作,但是这个系统也足够通用,适用于其他的应用领域。

开源后5个月,Google的深度学习系统都有哪些改变?

TensorFlow 0.8:支持分布式计算

开源后5个月,Google的深度学习系统都有哪些改变?

Google 在很多的产品中都使用了机器学习技术。为了不断改进我们的模型,最为重要的是训练速度要尽可能的快。要做到这一点,其中一个办法是在几百台机器中运行 TensorFlow,这能够把部分模型的训练过程从数周缩短到几个小时,并且能够让我们在面对不断增加的规模和复杂性的模型时,也能够进行实验。自从我 们开源了TensorFlow,分布式的版本就成为最需要的功能之一了。现在,你不需要再等待了。

今天(4月14日),我们很兴奋地推出了 TensorFlow 0.8,它拥有分布式计算的支持,包括在你的基础设施上训练分布式模型的一切支持。分布式的TensorFlow由高性能的gRPC 库支持,也能够支持在几百台机器上并行训练。它补充了我们最近的公布的Google云机器学习,也能够使用Google云平台训练和服务你的 TensorFlow模型。

为了和TensorFlow 0.8版本的推出保持一致,我们已经发表了一个“分布式训练”给TensorFlow模型库的生成图像分类的神经网络。使用分布式训练,我们训练了生成网 络(Inception Network),在100个GPUs和不到65小时的训练时间下,达到了78%的正确率。即便是更小的集群,或者只是你桌子下面的几台机器,都可以受益 于分布式的TensorFlow,因为增加了更多的 GPUs 提升了整体的吞吐量,并且更快生成准确的结构。

开源后5个月,Google的深度学习系统都有哪些改变?
图:TensorFlow 可以加快训练生成网络的速度,使用 100 个 GPUs 能达到 56 倍。来源:Google

分布式训练也支持你使用像Kubernetes这样的集群管理系统,以进行扩大规模的训练。更进一步说,一旦你已经训练了模型,就可以部署到产品并且加快在Kubernetes使用TensorFlow服务的推理速度。

除 了分布式生成器,TensorFlow 0.8还发布了定义你自己分布式模型的新库。TensorFlow分布式架构允许很灵活的定义模型,因为集群中的每个进程都可以进行通用的计算。我们之前 的系统DistBelief(像很多追随它的系统)使用特殊的“参数服务器”来管理共享的模型参数,其中的参数服务器有简单的读/写接口,以更新共享的参 数。在TensorFlow中,所有的计算,包括参数的管理,都会在数据流的图中呈现,并且系统会把数据流映射到不同设备的可用处理器中(例如多核 CPUs,一般用途的GPUs,手机处理器等)。为了让TensorFlow更好使用,我们也推出了Python的库,使之更容易写模型,在一个处理器中 运行,并且扩展到使用多个副本以进行训练。

这种架构使得它可以更容易的扩大单进程的工作到集群中,同时还可以进行新颖的分布式训练架构的实 验。举个例子,我的同事最近展示了“重新访问分布式同步 SGD”(Revisiting Distributed Synchronous SGD),在TensorFlow图部署,实现了在图像模型训练中更好的“时间-精度”。

目前支持分布式计算的TensorFlow版本还仅仅是个开始。我们将继续研究提高分布式训练表现的方法,既有通过工程的,也有通过算法的改进,我们也会在GitHub社区分享这些改进。

抢先尝试

开源后5个月,Google的深度学习系统都有哪些改变?

来源:TensorFlow

如果你想跳过复杂的按照过程,感受TensorFlow,Google提供了一个基于浏览器的模拟器,能让你感受基本的TensorFlow和深度学习。

首先在左边选择你要分析的数据,然后在中间选择和组合道具,最后看输出的结果是如何和最早的数据相匹配。最开始看起来会显得很可笑,但是这很好理解,而且能在抽象层面理解神经网络是如何运作的。

TensorFlow 更新历史

2016.4.13

Announcing TensorFlow 0.8 – now with distributed computing support!

2016.3.23

Machine Learning in the Cloud, with TensorFlow

2016.3.23

Scaling neural network image classification using Kubernetes with TensorFlow Serving
2016.3.9

Train your own image classifier with Inception in TensorFlow

2016.2.16

Running your models in production with TensorFlow Serving

2016.1.21

Teach Yourself Deep Learning with TensorFlow and Udacity

2015.12.7

How to Classify Images with TensorFlow

2015.11.9

Google’s latest machine learning system, open sourced for everyone

====================================分割线================================
文章转载自 开源中国社区[http://www.oschina.net]

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
17天前
|
机器学习/深度学习 数据采集 供应链
使用Python实现智能食品安全追溯系统的深度学习模型
使用Python实现智能食品安全追溯系统的深度学习模型
41 4
|
1月前
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
100 9
|
2月前
|
机器学习/深度学习 数据采集 供应链
Python实现深度学习模型:智能库存管理系统
【10月更文挑战第5天】 Python实现深度学习模型:智能库存管理系统
226 9
|
7天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
62 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
8天前
|
机器学习/深度学习 算法 前端开发
基于Python深度学习的果蔬识别系统实现
果蔬识别系统,主要开发语言为Python,基于TensorFlow搭建ResNet卷积神经网络算法模型,通过对12种常见的果蔬('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜')图像数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django框架搭建Web网页端可视化操作界面,以下为项目实现介绍。
18 4
基于Python深度学习的果蔬识别系统实现
|
15天前
|
机器学习/深度学习 数据采集 数据可视化
TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤
本文介绍了 TensorFlow,一款由谷歌开发的开源深度学习框架,详细讲解了使用 TensorFlow 构建深度学习模型的步骤,包括数据准备、模型定义、损失函数与优化器选择、模型训练与评估、模型保存与部署,并展示了构建全连接神经网络的具体示例。此外,还探讨了 TensorFlow 的高级特性,如自动微分、模型可视化和分布式训练,以及其在未来的发展前景。
38 5
|
25天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
74 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
25天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
73 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 数据采集 存储
使用Python实现智能农业灌溉系统的深度学习模型
使用Python实现智能农业灌溉系统的深度学习模型
160 6
|
2月前
|
机器学习/深度学习 数据处理 数据库
基于Django的深度学习视频分类Web系统
基于Django的深度学习视频分类Web系统
57 4
基于Django的深度学习视频分类Web系统

热门文章

最新文章