写点什么

Databricks 整合 Spark 和 TensorFlow 用于深度学习模型

  • 2016-03-14
  • 本文字数:1368 字

    阅读完需:约 4 分钟

结合去年年底谷歌宣布开源其机器学习开源库 TensorFlow,以及之前 InfoQ 报道的内容来看,数据科学界已经迎来了尝试将 TensorFlow 应用到自己的项目里的机会。

Databricks 公司的 Tim Hunter 通过 Spark 演示了使用 TensorFlow 生成模型选项和一定规模的神经网络处理。Hunter 在描述人工神经网络的时候,将之形容成一个在人脑的视觉皮层里模拟神经元一样,这样的模拟在经过大量充分训练之后,可以被用于处理复杂的输入数据,如图像或音频等等。

Hunter 详细讲述了他是如何把 TensorFlow 运行在各种 Spark 配置上来平衡对超参数的调整的。Hunter 说,目前 TensorFlow 支持 Python 和 C++ 这两种语言,帮助了“自动创建可用于各种形状和尺寸的神经网络的训练算法”,此训练算法是为了训练一个神经网络,用这个受训的神经网络来处理更大规模的数据,同时还能保证处理结果的高精度和最佳运行时性能。

Hunter 提到的一些超参数其实指的是各层神经元数据和学习率,这些数据都是从用于神经网络的训练算法本身分离出来的。

如何更好的调整超参数,让已经给定的算法对运行时间和模型精度产生最佳的影响。超参数的设置是经过相互比对的,目的是把在每一层神经元和错误测试数据里产生的变量关联起来,找到这之间的关系。

学习率是相当关键的点:如果学习率太低,神经网络是不会学习任何东西的。如果学习率太高,只能说明训练过程中可能出现了随机振荡,使得某些配置发生了偏离。

神经网络典型权衡曲线:

  • 学习率非常关键,太低学不到东西(高测试误差),太高则训练过程可能随机振荡导致某些配置偏离。
  • 神经元的数目对性能没那么重要,大量神经元的网络对学习率更敏感。

Databricks 建立了一项实验来测量基于 Spark 的 TensorFlow 神经网络训练算法对精度和运行时间性能的影响程度有多大。实验包括一个默认的超参数组,多个超参数的排列,一个测试数据集,一个单一节点,双节点和 13 节点的 Spark 集群。为了找出最优超参数设置,Hunter 使用 Spark 来分布式处理 TensorFlow 生成集,目的是并行测试模型的有效性。对于使用 Spark,Hunter 这样说:

为了传播数据和模型描述等常规元素,然后用容错的方式在一个机器集群里调度个别重复计算。

Hunter 指出,通过和 Spark 集成,在模型精确度和运行时间方面都有所改进:

尽管我们使用的神经网络框架本身只在单节点的时候起作用,但是我们可以使用 Spark 来分配超参数和模型部署。

选择分布式算法大大减少了训练时间,在超参数设置上将精度提高了 34% 以上,这也帮助 Databricks 更好地理解各种超参数的敏感性。它加快了模型验证速度,并证实了这种做法是单节点模型验证速度的七倍。一旦选择最佳的拟合模型和神经网络进行训练,神经网络就会被部署到 Spark 大数据集上运行。

Databricks 并没有谈到具体的硬件实现,但是一些迹象可以从为了这个实验而制作的基于 iPython notebook,以及 Databricks 为客户创建的集群选项里都可以看出来。测量模型选择和神经网络调整能力是通过采用像 Spark 和 TensorFlow 这样的工具而获得的,这可能是对数据科学和机器学习社区的一种恩惠,由于日益普及的云计算和大范围的并行资源在一定程度上帮助工程师们更好的选择实现方式。更多内容可以看看 Tim Hunter 之前写的博客《 Deep Learning with Spark and TensorFlow 》。

参考英文原文: Databricks Integrates Spark and TensorFlow for Deep Learning

2016-03-14 19:006888
用户头像

发布了 25 篇内容, 共 76926 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

使用 TiDB Vector 搭建 RAG 应用 - TiDB 文档问答小助手

TiDB 社区干货传送门

版本测评 新版本/特性解读 数据库前沿趋势

多点 x TiDB:在出海多云多活架构中,多点运维 TiDB 的实战分享

TiDB 社区干货传送门

实践案例 社区活动

如何通过店铺集群实现高效库存规划

第七在线

冲刺PCTA

TiDB 社区干货传送门

学习&认证&课程

记TiDB学习之路

TiDB 社区干货传送门

社区活动

全球最大图片社交网站Pinterest为什么会放弃HBase而改用TiDB

TiDB 社区干货传送门

社区活动

通过考证深入了解TiDB

TiDB 社区干货传送门

社区活动 数据库架构选型 学习&认证&课程

TiDB x KubeBlocks 集成案例

TiDB 社区干货传送门

管理与运维

IPQ5322 and IPQ9531-Technical comparison and application analysis

wifi6-yiyi

ipq5322

如何通过算法触达,高效唤醒沉睡会员?奇点云“向价值进发”直播回顾

先锋IT

【论文速读】|大语言模型是少样本测试员:探索基于LLM的通用漏洞复现

云起无垠

开启未来出行新纪元:44.8英寸超视界9K疾速屏智能座舱,高端车载显示技术引领用户体验新变革!

爱极客侠

故障排查难?xpu_timer 让大模型训练无死角!

可信AI进展

云计算技术架构揭秘与发展

Finovy Cloud

云计算 云计算架构

深入理解Python中的深拷贝与浅拷贝

我再BUG界嘎嘎乱杀

Python 编程语言 后端 开发语言 深拷贝与浅拷贝

聊聊Python多进程

我再BUG界嘎嘎乱杀

Python 编程 后端 多进程 开发语言

天翼AI云电脑重塑未来工作方式的利器,邀您5月25日相聚福州!

编程猫

FT-FMEA融合混沌演练,零售运营系统韧性架构在线验证实践

华为云开发者联盟

开发 华为云 华为云开发者联盟 确定性运维 企业号2024年5月PK榜

数据库与人工智能的关系

悦数图数据库

图数据库

6 大原则!助你构建高绩效的研发强军 | Liga译文

LigaAI

经验分享 研发团队 研发效能管理 高绩效团队 企业号 2024年5月 PK 榜

启航TiDB:调试环境搭建(vscode+wsl+pd)

TiDB 社区干货传送门

开发语言 TiDB 源码解读 应用适配

多点数千套集群实践:从“MySQL 又不是不能用,为什么选择 TiDB?”到“能用 TiDB 就不用 MySQL”

TiDB 社区干货传送门

实践案例 社区活动 管理与运维 TUG 话题探讨 数据库前沿趋势

Introducing Wallys DR5018M: Achieving Up to 1.5Gbps in Industrial WiFi6 Applications

wallyslilly

ipq5018

2024年API趋势,哪些API将增加市场份额?

幂简集成

API

TiDB Cloud x Datadog 集成案例

TiDB 社区干货传送门

应用适配

【TiDB 社区升级互助材料】TiDB 版本升级最全材料包

TiDB 社区干货传送门

版本升级

analyze 采样率是怎么算出来的(v6.5.3)

TiDB 社区干货传送门

TiDB 源码解读 6.x 实践

聊聊缺陷逃逸率

老张

质量保障 缺陷管理 缺陷预防

Databricks整合Spark和TensorFlow用于深度学习模型_Google_Dylan Raithel_InfoQ精选文章