2019 年 TensorFlow 开发者峰会总结
文 / Fred Alcober 和 Sandeep Gupta
第三届 TensorFlow 年度开发者峰会于当地时间 2019 年 3 月 6-7 日在美国加州森尼韦尔举行,这是迄今为止规模最大的一次 TensorFlow 开发者峰会。大约有 1,000 位机器学习爱好者出席此次活动,而且有数万人在线观看直播(请到优酷 Google 开发者专区观看直播回放 —
TensorFlow Dev Summit 2019 Livestream)。
注:开发者峰会 链接
https://www.tensorflow.org/dev-summit/
在过往的三年中,TensorFlow 已逐渐发展为完整的端到端机器学习生态系统,并为发生在我们身边的机器学习革命提供助力。TensorFlow 的下载次数超过 4,100 万次,拥有 1,800 多名来自世界各地的贡献者。作为综合性的机器学习平台,TensorFlow 帮助各种各样的从业者、研究人员,以及新用户构建出色的全新解决方案,以解决 AI 难题。例如:
德里的学生构建用于 检测空气质量变化 的移动应用
Twitter 工程师为其用户优化推荐算法
GE Healthcare 的物理学家提升 MRI 的可重现性和准确度
我们在此次开发者峰会上推出 TensorFlow 2.0 alpha 版,这标志着 TensorFlow 2.0 时代的开始,同时将 TensorFlow 的强大功能推广给更多开发者和研究人员,让构建和使用机器学习变得更加简单。我们还与 O’Reilly Media、Udacity、Coursera 上的 Deeplearning.ai 以及 fast.ai 合作,携手推出新的社区合作和教育计划,助力推动开放源代码合作并培训下一代新用户。此外,我们还听取社区建议,全面更新开发者文档,并重新设计 www.tensorflow.org,以便用户能够更轻松地访问资源和信息。
除了来自 TensorFlow 团队的技术更新外,我们还在一连串展示优秀应用的快速演讲中听取诸多用户的想法。我们还举办了黑客房间、分组会议和专题讲座,在这些活动中,出席者与 TensorFlow team 互动,答疑解惑、相互学习和分享。
以下是此次活动的亮点和重点发布内容。
易用性
在 TensorFlow 2.0 中,最大的焦点在于为所有用户提供更简单、直观、自然的 API 体验。我们致力于更好地集成 API 组件和 tf.keras,并将其作为高级 API 推荐给大多数用户。这有助于开发者更轻松地完成从数据提取、转换、模型构建、训练、保存到部署的流程。我们发布 TensorFlow Datasets,这是一个常用机器学习数据集的合集,可以在 TensorFlow 中轻松使用。
注:TensorFlow Datasets 链接
https://medium.com/tensorflow/introducing-tensorflow-datasets-c7f01f7e19f3
罗马的机器学习新手开发者正使用 TensorFlow 帮助古文书学家破译中世纪的手稿
除 TensorFlow 2.0 alpha 版外,我们还提供 转换和迁移工具及文档,帮助从 1.x 代码过渡到 2.0 代码。用户可以在新的 tensorflow.org 网站获取这些资料和更多资源、示例,以及 TensorFlow 案例研究。
注:转换和迁移工具及文档 链接
https://www.tensorflow.org/alpha
助力实验和发明
TensorFlow 正在加速尖端研究的发展。首先是为研究人员提供灵活性,助其快速构建自己的想法、开展多项实验并进行迭代。借助 TensorFlow 2.0 的新功能(例如默认的即时执行、直观的 Python 控制流、使用 tf.function 自动优化即时代码,以及显著改善的错误消息),我们将提升研究人员的开发体验。
来自劳伦斯伯克利国家实验室美国国家能源研究科学计算中心 (NERSC)、橡树岭国家实验室和 NVIDIA 的研究人员斩获戈登贝尔奖,他们使用 TensorFlow 在顶点超级计算机上成功扩展深度学习应用,以研究极端天气的影响
要在机器学习领域进行大规模研究还需要执行大规模并行计算。从去年起,我们加速训练 8 台 V100,实现超过 2 倍的速度提升。通过使用 Cloud TPU v2,我们将性能提升 1.6 倍,而借助 Intel MKL 加速,我们将推理速度提升 3 倍以上。获得强大的开箱即用性能是 TensorFlow 2.0 的重点所在,也是我们逐步推出最终版本的核心部分。
TensorFlow 生态系统包括庞大的 超强插件 合集,能够以有效的新方法扩展 TensorFlow。我们提及的部分插件包括:
TensorFlow Federated:此次活动上推出的联合学习库,可利用分散式数据
TensorFlow Privacy:与工具一同开发的库,有助于 使用差异化隐私训练模型
TensorFlow Probability:用于在机器学习模型中使用概率方法进行预测、解决不确定性和整合领域知识的库
TensorFlow Agents:用于在 TensorFlow 2.0 中开展强化学习的库
在文本和序列处理方面取得的进展,例如支持 Unicode 文本,以及用于具有非均一形状的数据的 新 RaggedTensor 类型
Mesh TensorFlow:供研究者使用并行技术构建和训练大量大型模型的库
DeepMind 开发的 Sonnet:举例说明研究实验室如何在模块化及 TensorFlow 的可拓展框架上构建自己的库
注:使用差异化隐私训练模型 链接
https://medium.com/tensorflow/introducing-tensorflow-privacy-learning-with-differential-privacy-for-training-data-b143c5e801b6
TensorFlow Agents 链接
https://github.com/tensorflow/agents
Mesh TensorFlow 链接
https://github.com/tensorflow/mesh
DeepMind 链接
https://github.com/deepmind/sonnet
Sonne 链接
https://deepmind.com/
其余链接请登录 www.tensorflow.org 查看
使用任何语言在任何平台上生产
将模型从研究投入生产一直是 TensorFlow 的核心优势和关注重点。使用 TensorFlow,您可以在多种平台上部署模型,例如服务器、云端、移动和其他边缘设备、浏览器,以及许多其他 Javascript 平台。
Airbnb 的工程师正使用 TensorFlow 对每天大规模上传的数百万张家居图像进行精确分类
生产版 TensorFlow
我们的用户可利用 TensorFlow Extended (TFX) 管理机器学习的整个生命周期。该工具拥有多个组件库,而我们也发布了这些组件的新功能。但更重要的是,新的编排支持可将这些新功能整合到一起,从而为用户提供端到端的集成平台(请点击 此处,查看示例)。凭借对自己编排器的支持,TFX 组件可与元数据仓库集成。此仓库会跟踪所有组件的运行、进入其中的工件以及生成的工件。此工具支持实验跟踪、模型比较等可大幅改善生产用例的高级功能。
注:TensorFlow Extended (TFX) 链接
https://www.tensorflow.org/tfx
此处 链接
https://github.com/tensorflow/tfx/tree/master/examples/chicago_taxi_pipeline
移动版和 IoT 版 TensorFlow
TensorFlow Lite 是用于在移动和嵌入式系统上运行模型的解决方案,在全球范围内发展神速。目前,该解决方案在超过 20 亿台移动设备上运行, 并引领着设备上的下一代机器学习。该方案帮助用户解决预测文本生成、图像分类、对象检测、语音识别、文字转语音及语音转文字识别、视频分割和边缘检测等 用例(https://www.tensorflow.org/lite/models/)。
在本次活动中,我们了解到阿里巴巴的闲鱼和网易等全球互联网公司如何使用 TensorFlow Lite 为用户提供更出色的应用体验。我们也探讨了 TensorFlow Lite 卓越的 机器学习性能,以及其如何在 Google 搜索、Google 助理、Google 照片、Google Pixel 等 Google 应用中为机器学习提供支持。
注:机器学习性能 链接
https://www.tensorflow.org/lite/performance/best_practices
我们已大大提高 TensorFlow Lite 的综合易用性并改进其模型转换功能,同时使其更注重 优化(即量化)和 性能(即 GPU 加速)。我们也展示了 TensorFlow Lite 如何在 Coral TPU 和 单片机板 (MCU) 等平台上为边缘设备和 IoT 设备中的机器学习提供支持。
注:Coral TPU 链接
https://coral.withgoogle.com/
单片机板 (MCU) 链接
https://petewarden.com/2019/03/07/launching-tensorflow-lite-for-microcontrollers/
JavaScript 版 TensorFlow
JavaScript 是最常用的编程语言之一,而 TensorFlow.js 可为 JavaScript 开发者提供机器学习。TensorFlow.js 自发布以来便广受社群亲睐,下载次数超过 300,000 次,贡献者达到 100 位。在本次峰会上,我们推出 TensorFlow.js 1.0 版。此版本的主要特性包括:性能的显著提升(MobileNet v1 在浏览器中的推理速度是去年的 9 倍)、众多可供网页开发者集成到应用中的现成模型,以及对更多 JavaScript 运行平台的支持。AirBnb 和 Uber 等公司正在生产环境中使用 TensorFlow.js,同时,我们每天都能在 TensorFlow.js 项目的社区 库 看到新出现的精彩用例。
注:请登录 www.tensorflow.org 及 github.com/tensorflow/tfjs 查看详情
除部署以外,TensorFlow.js 还可用于在浏览器中或借助 Node.js 支持,使用 JavaScript 直接构建和训练机器学习模型。
Swift for TensorFlow
我们也分享了我们在新的 Swift for TensorFlow 软件包方面的进度。在刚发布的 0.2 版本中,用户可察觉到易用性的提升,同时也可试用这种新的机器学习范例。为便于用户开始使用 Swift,我们通过 fast.ai 推出使用 Swift for TensorFlow 的全新机器学习课程。
致力于社区成长
TensorFlow 的成功在很大程度上归功于其令人惊叹且日益发展的用户与开发者社区。在与社区密切合作的过程中,通过开放的 RFC 流程、众多新兴特殊兴趣小组及我们 Google 开发者专家社区 的反馈和测试,我们才能联合开发出 TensorFlow 2.0。
注:RFC 流程 链接
https://github.com/tensorflow/community/projects/1
Google 开发者专家社区 链接
https://developers.google.com/experts/asia-pacific/technology/machine-learning
我们已发布新的 #PoweredByTF 活动,旨在探索由用户新构建的精彩项目。我们推出 Google 编程之夏 计划,学生可在此申请加入 TensorFlow 工程团队,亲身体验开发工作。此外,我们还专门发布全新的 Powered by TensorFlow Challenge(托管于 DevPost)。如此一来,用户便可使用 TensorFlow 2.0 创建并分享其最新的巅峰之作。
注:#PoweredByTF 链接
https://twitter.com/hashtag/PoweredByTF?src=hash
Google 编程之夏 链接
http://tiny.cc/tensorflow-gsoc
出色的教育资源是机器学习民主化和得到采用的关键。我们推出了两种新的教育资源,可让初学者和自学者更轻松地开始使用 TensorFlow。第一种是 deeplearning.ai 的课程 1 — “面向 AI、机器学习 与 深度学习的 TensorFlow 介绍”(选取自 Coursera 上的 “TensorFlow:从基础到精通” 系列)。第二种是 Udacity 的 面向深度学习的 TensorFlow 介绍。两种课程专为开发者打造,无需拥有机器学习经验。两种课程现已开放。
注:面向 AI、机器学习 与 深度学习的 TensorFlow 介绍 链接
https://www.coursera.org/learn/introduction-tensorflow
面向深度学习的 TensorFlow 介绍 链接
http://udacity.com/tensorflow
最后,我们发布了 TensorFlow World。这是一个为期一周的新会议,致力于促进开源合作和与 TensorFlow 相关的一切事务。该会议由 O’Reilly Media 和 TensorFlow 于 10 月 28 日当周在加州圣克拉拉联合举办。我们的愿景是:联合精彩的 TensorFlow 世界,为人们提供连接彼此的机会。征集建议 对参与者和公司开放,前者能借此提交有趣的 TensorFlow 项目论文,后者则可使用 TensorFlow 展示其解决方案。对此,我们迫不及待地想看见您的身影。
注:TensorFlow World 链接
http://tensorflow.world/
征集建议 链接
https://conferences.oreilly.com/tensorflow/tf-ca/public/cfp/732
在 Google,我们相信,当所有用户都能使用最佳工具时,AI 研究和应用将会更快发展,从而让每个人参与其中。TensorFlow 致力于帮助所有机器学习用户。我们致力于联合社区为用户打造更简便的 TensorFlow,并 追求 AI 发展(https://www.blog.google/technology/ai/ai-principles/)!
更多 AI 相关阅读: