TensorFlow中国研发负责人李双峰:TensorFlow从研究到实践

比如我们可以用TensorFlow.js来实现吃豆人游戏,电脑摄像头捕捉你的头像,来控制吃豆人的移动。这一切都运行在浏览器当中。

分布式TensorFlow

TensorFlow的分布式执行对于大规模的模型非常重要。TensorFlow 可以很方便地实现数据并行工。举个例子:你可以写一个Cluster的描述文件,分配哪些是计算资源“worker”,哪些是参数的服务器“ps”,这样可以在我们定义图的时候可以把这些计算分配在不同的设备上,进行分布式的执行。

更进一步,谷歌支持了开源的Kubernetes项目,来管理大规模计算资源,它被业界广泛采纳,特别是一些云平台。而为了更好地让机器学习运行在大规模集群上,谷歌也带头推动了KubeFlow的项目,大家可以关注。

而在Benchmarks方面,谷歌也公开了测试的程序。我们可以看到TensorFlow系统的可扩展能力非常强,基本上机器的数量和能力是线性正相关的。

在最近一个月,公司也发布了一个MLPerf,便于大家公开地比较机器学习的性能,这样可以推进产业的发展。

TF Hub

TensorFlow中国研发负责人李双峰:TensorFlow从研究到实践

为了更好的促进模型共享,我们发布了TensorFlow Hub (TF Hub)。例如,一个人设计机器学习模型,他可以从Github中找到不同的模型,进行组合,从而形成更强大的能力。

我们可以看到,一个模块包含了训练好的权重和图,这就是一个简单的模型,我们可以将这个模型组装,重用,或者再训练。

目前我们已经公开了很多模型,包括图像,语言相关等等,这些都需要大量的GPU训练才能得到。开发者可以在这些基础上,做一些迁移学习的工作,用很小的代价,就可以利用现有的模型帮助解决自己的问题。

tf.data

另外一个是关于提高机器学习的技巧,叫tf.data。举个例子,在CPU上,训练速度是很大的限制,但当我们加上GPU后,训练速度就得到了极大的提升,但是CPU输入变成了一个瓶颈。数据需要做一些转换使得可以加载,进行训练。

大家知道,计算机体系结构研究中一个主要的问题是如何加速并行化,而提高CPU和GPU的运行效率,是提高机器学习系统很重要的问题。而tf.data提供了一系列工具,帮助开发者更好的并行地输入和处理数据。

更进一步,和TensorFlow 训练相关的Packages/Features还有很多,例如Estimators, Feature Engineering, XLA, TensorFlow Serving等等,这些可以在很多行业上都可以得到方便的应用。

TFX

当构建一个真实的端到端的机器学习系统时,除了上面讨论的核心机器学习算法之外,还有大量相关系统需要构建,比如数据的获取,数据的分析,模型部署,机器学习资源管理等等问题。

谷歌内部有一个大规模的系统TFX (TensorFlow Extended),它是基于TensorFlow的大规模部署的机器学习平台,相关论文已经发表在2017年的KDD。目前我们已经开源了一些重要的部件,更多的部件开源正在进展当中,做产业界的朋友可以关注下。

第五部分:TensorFlow在中国的发展

最后,谈谈TensorFlow在中国的发展。

基本上,我们看到中国领先的技术公司大都在使用TensorFlow,来解决多种多样的问题,比如:广告推荐、点击预测,OCR,语音识别,自然语言理解等等。包括很多家知名公司,像京东,小米,网易,搜狗,360,新浪,联想等等;也包括很多的创业公司,比如知乎,出门问问,云知声,Kika,流利说等等。

京东使用TensorFlow来进行包装的OCR,应用到了图像,语音和广告等多个领域,并建立了高效的内部机器学习平台。

小米使用TensorFlow,并借助Kubernetes来管理集群,建立分布式学习系统,来帮助小米内部和生态链业务。

网易使用了TensorFlow Lite来做文档扫描应用,并用TensorFlow来做机器翻译。

360使用了TensorFlow来进行短视频的分析,也建立了相关内部机器学习平台。

还有一些研究机构,比如清华大学的朱军老师,将贝叶斯网络和深度学习结合起来,开源了基于TensorFlow的系统,叫“珠算”。

另一个例子也是来自清华大学,开源了一些基于TensorFlow的知识图谱工具。

在中国,TensorFlow社区活动非常丰富。比如,这是Jeff Dean和TensorFlow中国开发者视频互动的场景。另一个是我们在重庆的一个活动,支持教育部产学合作协同育人项目,有上百位大学老师参加,我们希望培训更多大学老师来教机器学习。

更多官方中文文档,可以访问:https://tensorflow.google.cn/

不久前,我们还开源了Google内部使用的两天机器学习速成课程(MLCC),过去几年大量Google工程师学习了该课程。大家可以访问:https://developers.google.cn/machine-learning/crash-course/

你也可以加入TensorFlow中文社区,访问tensorflowers.cn,和业界一起来学习和探讨TensorFlow技术。

TensorFlow社区的基本理念是:开放,透明,参与。

我们希望尽量开放,所以发布了TensorFlow的开发路线图,使技术更加透明化,增加社区人员的参与感,共同推动技术的发展。Google内部使用的Tensorlow也和外部也一样,我们每周都在不断同步。

在这个开放的社区里,不管是初学者,研究者还是产业界开发者,每个人都可以分享自己的问题,发布自己的代码、数据和教程,帮助其他社区成员,组织线下技术小组聚会等等。更一步,可以申请成为谷歌开发者专家(GDE)荣誉称号。

Q&A

TensorFlow中国研发负责人李双峰:TensorFlow从研究到实践

TensorFlow作为一个机器学习的平台,那其在未来发展上,大概有哪些方向呢?

我们公开了Tensorlow开发路线图,大家可以在下面网站找到:https://tensorflow.google.cn/community/roadmap。

另外,也可以加入相关兴趣小组,给Tensorlow提出发展建议。

总结而言,我觉得有以下几个方向:

1、 快。我们持续不断地进行优化,更好的分布式执行,针对各种新的硬件进行优化,以及在移动端更快的执行,等等。

2、 简单、可用性。追求效率,容易上手。一方面我们让高层API更好用,让Keras API和Eager Execution更好用。另一方面,我们提供更多的工具集,以及参考模型,便于开箱即用。

3、 移动性。移动方面我们发布了TensorFlow Lite,它所能支持的模型和性能在不断提升当中。我们也发布了TensorFlow.js,进一步促进了无处不在的AI。

4、 完整性。我们发布了TensorFlow Hub,希望促进模型共享和重用。另一方面,Google内部大规模产品环境中所使用的TFX系统也在开源当中。我们希望进一步减少开发者构建端到端的完整的机器学习系统所遇到的挑战。

5、推动机器学习的发展,共享,加速研究。我们很期待通过TensorFlow社区,大家一起协作,去解决世界上最难的问题,比如医疗等造福人类的重大问题。

基于TensorFlow这个平台,极大的降低了深度学习的难度,那么是不是稍微懂技术的人,经过一些学习和打磨,就可以借助这个平台做深度学习或者AI相关开发,还是说背后还需要很多工作才能成为这方面的人才?

首先这是TensorFlow的设计目标,让尽可能多的人能用上深度学习技术,尝试新的研究想法,做产品,解决难题。

这样一方面可以推动深度学习技术的发展,加快很多方面的AI应用。而这些AI应用,更需要拥有广阔背景的众多开发者来一起推动。

另一方面,从简单地用到一些模型,到比较专业的深度优化,还是有不少距离。如果你只是达到平均水平,付出可以比较少,但要达到更高水平的突破,还需要很多的经验。

大家需要有一点工匠的精神,对问题的理解程度,参数的调节,数据的清洗和处理等等,这些都是需要积累的。

我们希望可以降低TensorFlow使用的难度,也提供一系列的工具集来辅助用户,希望可以让初级用户更多的探索应用场景,而高级用户可以做更多的前沿科技研究。

深度学习融入Google的每一个部门,那么每一个部门都会因为AI产生效应吗?有没有什么意想不到的效果?

我个人的感受是,加入了深度学习,确实带来了很大的突破。像机器翻译,语音,自然对话,图片翻译,搜索排序,广告预估等等,Google的众多产品都有深度学习的深刻影响。

机器学习,深度学习这些年发展的很快,从技术到应用,在未来几年在哪些地方会有一些突破?

个人认为:无人驾驶领域,医疗诊断方面,还有,比如语言对话方面,让人充满期待。我个人更期待AI能推动人类重大问题上的发展,比如农业,环境,教育,跨语言的自由交流等等方面,希望可以借助TensorFlow获取突破的契机。

Google中怎么平衡研究和产品,到底是谁在推动谁往前走?大家是做自己喜欢的课题呢还是由需求来驱动做一些实用的研究?

研究是基于真实的问题,而产品化紧密协作,把研究成果落实到产品上去,并且获得真实世界的大量反馈,这是一个快速迭代的过程。研究和产品是比较紧密的结合过程,可以由真实问题的驱动去寻找解决方案。某种意义上,Google的工程师,混合了研究和产品的角色,既要研究问题,也要实现产品。

下期预告

下周三是创新工场技术副总裁、AI工程院副院长王咏刚老师授课。

感兴趣的小伙伴可以添加

量子位小助手7:qbitbot7,备注“北大”,通过后可进入课程活动群,获取每期课程信息,与其他小伙伴互动交流。

祝大家听课愉快~

学习资料

在量子位(QbitAI)界面回复“北大AI公开课”,即可获得公开课往期视频观看通道。

诚挚招聘

վ'ᴗ' ի 追踪AI技术和产品新动态


分享到:


相關文章: