Google正式发布TensorFlow Lite预览版,针对移动/嵌入设备的轻量级解决方案
来源:AI科技评论
概要:日前,谷歌正式发布 TensorFlow Lite 开发者预览版,这是针对移动和嵌入式设备的轻量级解决方案。
日前,谷歌正式发布 TensorFlow Lite 开发者预览版,这是针对移动和嵌入式设备的轻量级解决方案。TensorFlow Lite 是一种全新的设计,具有三个重要特征——轻量级(Lightweight)、跨平台(Cross-platform)、快速(Fast)。
谷歌于今天正式发布 TensorFlow Lite 开发者预览版,这是针对移动和嵌入式设备的轻量级解决方案。TensorFlow 可以在许多平台上运行,从机架上大量的服务器到小型的物联网设备,但近几年,随着大家使用的机器学习模型呈指数级增长,因此需要将训练模型的平台扩展到移动和嵌入式设备上。TensorFlow Lite 支持设备上机器学习模型的低时延推理。
TensorFlow Lite 是一种全新的设计,它支持以下功能:
轻量级(Lightweight):支持机器学习模型的推理在较小二进制数下进行,能快速初始化/启动。
跨平台(Cross-platform):可以在许多不同的平台上运行,现在支持 Android 和 iOS
快速(Fast):针对移动设备进行了优化,包括大大减少了模型加载时间、支持硬件加速。
如今,越来越多的移动设备中含有专用的定制硬件来更高效地进行机器学习。TensorFlow Lite 支持 Android 神经网络API(Android Neural Networks API),大家在使用 TensorFlow Lite 时可以利用这些有用的加速器。
当加速器(硬件设备)不可用时,TensorFlow Lite 会返回到 CPU 来执行,这将保证模型仍然可以在一大批设备上快速运行。
结构
下图是 TensorFlow Lite 的结构设计:
模块如下:
TensorFlow Model: 存储在硬盘上已经训练好的 TensorFlow 模型
TensorFlow Lite Converter: 将模型转换为 TensorFlow Lite 文件格式的程序。
TensorFlow Lite Model File: 基于 FlatBuffers 的模型文件格式,针对速度和大小进行了优化。
可以将 TensorFlow Lite Model File 部署到 Mobile App ,如上图中所示:
Java API: 处于 Android App 中 C++ App 上,方便封装。
C++ API: 加载 TensorFlow Lite Model File,调用解释器(Interpreter)。
上面的这两个库在 Android 和 iOS 端都可用。
Interpreter:使用一组运算符来执行模型。运算符可以选择,如果不含运算符,只有70KB,加载所有的运算符之后为300KB。比起需要1.5 M(使用一组正规的操作符)的 TensorFlow Mobile,能使容量大大减小。
在 Android 设备上,Interpreter 支持 Android神经网络API,可以用它进行硬件加速。如果没有可用的加速器,则默认使用CPU。
开发人员还可以使用C++ API来自定义 kernel。
模型
TensorFlow Lite 目前支持很多针对移动端训练和优化好的模型。
MobileNet:能够识别1000种不同对象类的视觉模型,为实现移动和嵌入式设备的高效执行而设计。
Inception v3:图像识别模型,功能与 MobileNet 相似,它提供更高的精度,但相对来说更大。
Smart Reply: 设备对话模型,可以即时回复聊天消息,在 Android Wear 上有使用这一功能。
Inception v3 和 MobileNets 已经在 ImageNet 数据集上训练了。大家可以利用迁移学习来轻松地对自己的图像数据集进行再训练。
关于TensorFlow Mobile
正如大家知道的那样,TensorFlow 可以通过 TensorFlow Mobile API 对模型进行移动和嵌入式部署。展望未来,TensorFlow Lite 应该被看作是 TensorFlow Mobile 的升级。随着一步步的成熟,它将成为在移动和嵌入式设备上部署模型的推荐解决方案。
TensorFlow Lite 目前是预览版,大家仍然可以使用 TensorFlow Mobile。
TensorFlow Lite 的功能有很多,目前仍处于紧锣密鼓的开发阶段。这次的发布中,谷歌特意使用受限平台,来保证一些最重要的常见模型的性能不受到影响。
谷歌计划根据用户的需要来考虑未来优先扩展的功能,其开发目标是简化开发人员的体验,并让模型能部署到一系列移动和嵌入式设备上。
很高兴开发者也在帮助TensorFlow Lite项目的顺利进行。谷歌将会以与TensorFlow项目相同的热情来支持和启动TensorFlow Lite社群。欢迎大家来使用TensorFlow Lite。
更多相关发布
作为软件资源库的一部分,谷歌也发布了一个可以运行在设备上的聊天模型以及一个demo app,它们是谷歌编写的运行在TensorFlow Lite上的自然语言应用的样例,供开发人员和研究者们研究学习、开发更多新的本地运行的机器智能功能。输入聊天对话消息以后,这个模型就可以生成一条建议的回复;它的推理过程非常高效,可以轻松嵌入到各种聊天软件中,利用设备自身的计算能力提供智能的聊天功能。
谷歌发布的这个本地运行的聊天模型运用了一种训练紧凑神经网络(以及其它机器学习模型)的新机器学习架构,它基于一个联合优化范式,最初发表在论文 ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections 中。这种架构可以高效地运行在计算能力和内存都较为有限的移动设备上,通过高效的“投影”操作,它可以把任意输入转换成一个紧凑的位向量表征,这个过程中类似的输入会被投影到相邻的向量中;根据投影类型的不同这些向量可以是密集的也可以是稀疏的。比如,“嘿如何了?”和“兄弟你如何了?”两条消息就有可能被投影到相同的向量表征上去。
通过这样的想法,谷歌的聊天模型就以很低的计算开销和内存消耗加入了这些高效的操作。这个在设备本地运行的模型是谷歌用端到端的方法训练的,训练过程中使用了联合训练两个不同模型的机器学习框架;这两个训练的模型,一个是紧凑的“投影”模型(如上文所述),同时还结合了一个“训练器”模型。两个模型是联合训练的,投影模型从训练器模型中学习;训练器模型有着专家的特质,它是用更大、更复杂的机器学习架构创建的,而投影模型就像一个跟在后面学习的学生。在训练过程中,也可以叠加其它的量化、蒸馏之类的技术,达到更紧凑的压缩效果,或者也可以选择性地优化目标函数的某些部分。一旦训练结束,这个更小的投影模型就可以直接在设备上做推理任务。
在推理过程中,训练后的投影模型会被编译成一系列 TensorFlow Lite 的操作,而这些操作都是为移动平台的快速执行优化过的,可以直接在设备上执行。这个本地运行的聊天模型的TensorFlow Lite推理图如下所示。
这个用上述的联合训练方法端到端训练的聊天模型是开源的,今天(美国时间11月14日)就会和代码一起发布出来。同时还会发布一个demo app,这样研究人员和开发人员就可以轻松地下载它们、在自己的移动设备上试试看它提供的一键智能回复功能。这个架构能根据应用需求提供不同模型大小、不同预测质量的配置功能,操作也很方便。除了一些已知的模型可以给出很好回复的消息之外,系统还可以把一组固定的聊天对话中观察到、然后学习编译到模型中的流行的回复语句作为预测失败后的备选语句。它背后的模型和谷歌在自家应用中提供“智能回复”功能的模型有一些区别。
在聊天模型之后
有趣的是,上面描述的机器学习架构保证了背后隐含的模型具有各种灵活的选择。谷歌的研究人员们把这个架构设计得可以与不同的机器学习方法兼容,比如,与TensorFlow深度学习共同使用时,就可以为隐含模型学到一个轻量化的神经网络(“投影网络”),并用一个图框架(“投影图”)来表征这个模型,不再是神经网络的形式。
联合训练框架也可以用来给使用其它机器学习建模架构的任务训练轻量级的本地运行模型。比如,谷歌把一个复杂的前向传输或者循环网络架构(比如LSTM)作为训练器模型,训练得到的投影架构就可以简单地由动态投影操作和寥寥几层全连接层组成。整个架构是以端到端的方式在TensorFlow中通过反向传播训练的。训练结束后,紧凑的投影网络就可以直接用来做推理。通过这样的方法,谷歌的研究人员们成功训练了不少小巧的投影模型,它们不仅在模型大小方面有大幅度下降(最高可以缩小几个数量级),而且在多种视觉和语言分类任务中可以保证同样的准确率但性能高得多。类似地,他们也用图学习范式训练了其它的轻量级模型,即便是在半监督学习的设定中。
谷歌表示,他们在开源TensorFlow Lite后会持续改进以及发布新版本。通过这些机器学习架构学到的模型,不管是已经发布的还是将在未来发布的,都不仅可以应用在多种自然语言和计算机视觉应用中,也可以嵌入已有的应用中提供机器智能的功能。同时谷歌当然也希望及机器学习和自然语言处理大家庭中的其它研究者和开发者也可以在这些基础上共同应对谷歌尚未发现或者尚未解决的新问题。
Google正式发布TensorFlow Lite预览版,针对移动/嵌入设备的轻量级解决方案相关推荐
- 0x0报错解决--win11预览版升级报错0x0的快速解决方案
win11预览版升级报错0x0的快速解决方案 一 问题确认 二 问题原因 三 修复方案 四 安装注册表 一 问题确认 升级win11预览版时,提示0x0报错 二 问题原因 系统缺少系统服务相关的注册表 ...
- Google发布Android KTX预览版
前天,Google 发布了 Android KTX 预览版,Android KTX 是一组扩展程序,它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的编程体验. 大家知道,Goo ...
- Delphi/Object Pascal开源跨平台3D和2D(台式机,移动设备,游戏主机)游戏引擎Castle Game Engine正式发布7.0预览版
Castle Game Engine,是一种用于3D和2D游戏的开源跨平台(台式机,移动设备,游戏机)游戏引擎.我们的目标是创建一个功能强大的游戏引擎,该引擎完全免费且永远开源. 我们支持许多3D和2 ...
- Android Wear开发者预览版入门
Android Wear开发者预览版包括工具和API,增强了应用程序通知功能,提供针对Android可穿戴设备的最佳用户体验. 利用Android Wear开发者预览,你可以: 在Android模拟器 ...
- TensorFlow 2.0开发者预览版发布
整理 | Jane 出品 | AI科技大本营 从去年 8 月 Google 公开发布消息正在研发 TensorFlow 2.0 ,让我们在 12 月 提前看到了一些 高级 API 的变化,今天我们终于 ...
- 8次迭代5大升级,旷视天元1.0预览版正式发布
9月18日,在中关村论坛旷视平行论坛上,旷视研究院院长.首席科学家孙剑正式发布了深度学习开源框架天元MegEngine 1.0预览版,并对天元的技术特性与发展方向进行了深入解读. 旷视于2014年开始 ...
- TensorFlow 2.0开发者预览版放出!上手尝鲜可以开始了
问耕 发自 凹非寺 量子位 出品 | 公众号 QbitAI 下一代TensorFlow终于可以尝鲜了. 今天凌晨,谷歌AI团队的Martin Wicke在TensorFlow官方社区发帖,兴奋地通知T ...
- Apache Spark 3.0 预览版正式发布,多项重大功能发布
今天早上 06:53(2019年11月08日 06:53) 数砖的 Xingbo Jiang 大佬给社区发了一封邮件,宣布 Apache Spark 3.0预览版正式发布,这个版本主要是为了对即将发布 ...
- 发布Wear OS by Google开发者预览版
今天,我们发布新的 Wear OS by Google 的开发者预览版,为 Wear OS 带来 Android P 平台的功能.对 Wear OS by Google 中国版的开发者,我们特别提供了 ...
最新文章
- hitchhiker部署_Hitchhiker的React Router v4指南:无限远的递归路径!
- Linux服务器生产环境中的文件删除与替换
- node Error: Most middleware (like session) is no longer bundled with Express and must be installed
- Codeforces Round #744 (Div. 3)【A-E1】
- RDC如何打造支撑百万用户的分布式代码托管平台
- 海信计算机辅助统,海信计算机辅助手术系统将覆盖山东三级医院
- mysql中的字段类型
- Docker由浅入深
- P30年订单或超2000万 正与苹果抢流水线
- 吴恩达机器学习 神经网络 作业1(用已经求好的权重进行手写数字分类) Python实现 代码详细解释
- JQuery 自定义选择器 详解
- 玩耍redis遇到的问题之记录
- Python还有发展前景吗?现在该怎么去学习?
- 油猴脚本管理器使用指南
- 4G基站软件产品测试,基站信号测试软件使用.doc
- 世界黑客编程大赛第一名的作品
- 安装Matlab时用mathwork账户登陆时显示连接错误
- 多线程-day-09CAS原理
- 词频统计以及分析(词云制作)
- 支付宝app支付功能-服务端的实现-python3版
热门文章
- 坑!只要年轻博士,薪资按考核结果发放, 高校的博后制度,究竟有多少门道?...
- 【炫酷秀】仅用4行代码再现《黑客帝国》数字雨,可立即在终端实现!
- CB Insights发布最新AI 100排名,包含100家最有前景的AI初创公司
- eff java_eff java 15条
- SAP WM LT15不能取消二步法确认场景中只做过第一步确认的TO单
- 模型web迁移延时太长,机器学习神器Cortex 能一键解决吗?
- 2019年上半年收集到的人工智能GAN干货文章
- AI 产品经理:别让你的智能对话产品变“智障”
- AI技术诠释全新智能,多方位优化样样贴心
- 机器学习加深了“知识”和“理解”之间的鸿沟