2015 年,google大脑开放了一个名为「TensorFlow」的研讨项目,这款产品迅速流行起来,成为人工智能业界的主流深度进修框架,塑造了现代机械进修的生态系统。从那时起,成千上万的开源贡献者以及众多的开发人员、社区组织者、研讨人员和教育工作者等都投入到这一开源软件库上。
然而七年后的今天,故事的走向已经完全不同:google的 TensorFlow 失去了开发者的拥护。因为 TensorFlow 用户已经开始转向 Meta 推出的另一款框架 PyTorch。
众多开发者都认为 TensorFlow 已经输掉了这场战争,并将其比喻为:「PyTorch 吃掉了 TensorFlow 的午餐。」
在 PyTorch 的阴影下,google在悄悄地开发一个机械进修框架,就是 JAX(曾是「Just After eXecution」的首字母缩写,但官方说法中不再代表任何东西),许多人将其视为 TensorFlow 的继承者。
一时之间,关于google要放弃 TensorFlow,全面转向 JAX 的说法闹得人尽皆知。其实不然,google并没有放弃 TensorFlow,他们表示未来 TensorFlow 将与 JAX 并肩落后。
不过话说回来,在这短短的七年中,TensorFlow 已经有了亮眼的表现,已然落后成为最常用的机械进修平台,使用人数达数百万。TensorFlow 现在每月被下载超过 18M 次,在 GitHub 上积累了 166k 颗星——比任何其他 ML 框架都多。
此外,TensorFlow 还为在移动生态系统上进行机械进修带来了便利:目前 TFLite 在大约 40 亿台设置装备摆设上运行,也许你的设置装备摆设也包含在内。TensorFlow 还将机械进修引入 Web,TensorFlow.js 现在每周下载量超 17 万次。
在google的整个产品系列中,TensorFlow 几乎为所有机械进修供给支持,包括搜索、GMail、YouTube、Maps 、Play、广告、照片等等。除了google,在 Alphabet 旗下的子公司,TensorFlow 连同 Keras 为 Waymo 自动驾驶汽车供给了新的机械智能。
在更广泛的行业中,TensorFlow 为数千家公司的机械进修系统供给支持,其中包括苹果、ByteDance、Netflix、腾讯、Twitter 等公司。研讨领域,在 Google Scholar 上每个月都有超过 3000 篇出版物提到 TensorFlow,包括重要的应用科学研讨,比如了解癌症的 CANDLE 研讨。
毫不夸张的说,TensorFlow 基础用户和开发者生态比以往任何时候都要多,而且还在不断增长。google认为 TensorFlow 的落后不仅是一项值得庆祝的成就,它也为机械进修社区走得更远供给了新的机会。
google一直以来奉行的目标是供给最好的机械进修平台,并努力将机械进修从小众工艺转变为像 Web 开发一样成熟的行业软件。
google对 TensorFlow 的开发还将继续,走过了 7 年,还会有下个 7 年。
TensorFlow 未来四大支柱
近日,google宣布他们已经着手开发 TensorFlow 的下一个迭代,并专一于四大支柱。更具体地,google计划在 2023 年第二季度发布新的 TensorFlow 预览版,之后晚些时候发布生产版本。
快速和可扩展
首先是 XLA 编译。google专一于 XLA 编译,让训练和推理模型在 GPU 和 CPU 上更快,并致力于让 XLA 成为行业标准的深度进修编译器,并且作为 OpenXLA 计划的一部分,google已将其开放给开源协作。
其次是分布式计算。google在专一于 DTensor 的研讨,这是一种用于大规模模型并行的新 API。DTensor 将与 tf.distribute API 统一,允许灵活的模型和数据并行。
最后是性能优化。除了编译之外,google还进一步专一于算法性能优化,例如混合精度和降低精度计算,从而在 GPU 和 TPU 上供给相当大的加速。
应用型 ML
用于 CV 和 NLP 的新工具。google在投资应用型 ML(Applied ML)的生态系统,特别是通过 KerasCV 和 Keras NLP 包为各种用例供给模块化和可组合的组件。
开发者资源。google在为流行以及新兴的应用机械进修用例添加更多代码示例、指南和文档,降低开发人员进入 ML 的门槛,使得每个开发工具简单可用。
部署层面
更简单导出。google将会使模型导出到移动设置装备摆设(Android 或 iOS)、边缘设置装备摆设(微控制器)、服务器后端或 JavaScript 变得更加简单。用户可以将模型导出到 TFLite 和 TF.js,并优化模型推理性能,操作起来就像调用 model.export() 一样简单。
用于应用程序的 C++ API 。google在开发公共 TF2 C++ API ,作为 C++ 应用程序的一部分用于本地服务器端推理。
部署 JAX 模型。google在使得 TensorFlow 服务部署模型变得更简单。
简单化
NumPy API。过去几年,ML 领域快速落后,与此同时 TensorFlow 的 API 也随之增加。为了适应技术的落后,google在全面整合和简化 API。
让 debug 变得更简单。在 ML 领域,debug 是一项不可忽略的技术。google将专一于更好的 debug 功能,以最小化其时间。
google表示,TensorFlow 未来将是 100% 向后兼容的。google希望 TensorFlow 成为机械进修行业赖以落后的基石,并承诺从 TensorFlow 2 开始到下一个版本,TensorFlow 完全向后兼容,代码将按原样运行,不需要运行转换脚本,也不需要手动更改。google将继续在 TensorFlow 框架上投资,以推动研讨和应用,为数百万用户服务。
原文链接:https://blog.tensorflow.org/2022/10/building-the-future-of-tensorflow.html