【重磅】谷歌正式发布TensorFlowLite,半监督跨平台快速训练ML模型

姓名:周雪宁

学号:1702110196

转载:https://mp.weixin.qq.com/s/65HiEwCyzeA_d9flPBcpLQ

【嵌牛导读】:

谷歌宣布推出 TensorFlowLite,这是 TensorFlow 的针对移动设备和嵌入式设备的轻量级解决方案。这个框架针对机器学习模型的低延迟推理进行了优化,重点是小内存占用和快速性能。利用TensorFlow Lite,即使在半监督的设置下,也可实现在手机端跨平台训练ML模型。

【嵌牛鼻子】:Tensorflow,深度学习

【嵌牛提问】:TensorFlowLite是否可以真的可以嵌入手机端,内存占用如何?

【嵌牛正文】:

今年早些时候,谷歌推出了 Android Wear 2.0,这是“设备上”(on-device)机器学习技术用于智能通讯的第一款产品。这使得基于云的技术,例如智能回复(Smart Reply),以前在 Gmail、Inbox 和 Allo 中提供,现在在任何应用中都可以直接使用,包括第三方的消息应用,而无需连接到云端。也就是说,你可以直接在智能手表上对收到的聊天信息作出回复

昨天,谷歌宣布推出 TensorFlow Lite,这是 TensorFlow 的针对移动设备和嵌入式设备的轻量级解决方案。这个框架针对机器学习模型的低延迟推理进行了优化,重点是小内存占用和快速性能。作为库的一部分,谷歌还发布了一个设备上会话模型(on-device conversational model)和一个用于 demo 的 app,它提供了一个由 TensorFlow Lite 驱动的自然语言应用程序的示例,以便让开发人员和研究人员更容易地构建基于设备上推理(on-device inference)的新机器智能特征。这个模型能够在输入会话聊天信息时生成回复建议,通过有效的推理,可以很容易地插入到聊天应用程序中,从而为设备上会话智能提供动力。

谷歌发布的设备上会话模型使用了一种新的ML架构,用于训练紧凑的神经网络(以及其他机器学习模型),它基于一个联合优化的框架,最初是在

ProjectionNet 的论文中提出的(参考:ProjectionNet: Learning Efficient On-Device Deep Networks Using Neural Projections)。这个架构可以在具有有限计算能力和内存的移动设备上高效地运行,通过使用有效的“投影”(projection)操作,将任何输入转换为紧凑的位向量(bit vector)表示——类似的输入被投影到邻近的向量上,这些向量或密集,或稀疏,取决于投影的类型。例如,“嘿,你好吗?”(hey, how's it going?)”和“老兄,最近怎么样?”(How's it going buddy?),这两个消息可能被投影到相同的向量表示。

在这个想法下,会话模型在低计算力和内存占用的情况下将这些操作高效地结合起来。谷歌使用一个ML框架对这个设备上的模型进行了端到端的训练,这个框架联合训练两种类型的模型——一个紧凑的 projection 模型(如前文所述)和一个 trainer 模型。这两个模型采用联合的方式进行训练, projection 模型从 trainer 模型中学习—— trainer 具有专家的特征,并且使用更大、更复杂的ML架构进行建模,而projection模型就像一个从专家那里学习的学生。在训练过程中,还可以利用量化(quantization) 或“蒸馏”(distillation)等其他技术,从而进一步压缩或选择性地优化目标函数的某些部分。训练完毕后,较小的 projection 模型就可以直接用于设备上的推理。

对于推理,训练的 projection 模型被编译成一组 TensorFlow Lite 操作,这些操作经过优化,可以在移动平台上快速执行,并直接在设备上执行。下图是用于设备上会话模型的 TensorFlow Lite 推理图。

                                           设备上会话模型的 TensorFlow Lite 执行

今天发布的开源对话模型(连同代码)都是使用上面描述的联合ML架构来进行端到端训练的。今天的发布还包括一个demo应用,你可以很容易地下载并在你的移动设备上试用一键智能回复。这个架构支持基于应用程序需求配置模型大小和预测质量。在GitHub库上我们提供了一个示例消息列表。系统还可以从聊天对话中观察到的流行回复意图中学习并编译的固定集的回复。其底层的模式与谷歌在其应用中使用的智能回复响应不同。

模型下载:download.tensorflow.org/models/tflite/smartreply_1.0_2017_11_01.zip

code:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite/models/smartreply

对话模型之外

有趣的是,上面描述的ML架构允许灵活选择底层模型。我们还设计了与不同机器学习方法兼容的架构——例如,当使用TensorFlow深度学习时,我们学习了一个用于底层模型的轻量级的神经网络(ProjectionNet),而不同的架构(ProjectionGraph)则使用图形框架代替神经网络来表示模型。

这个联合的框架还可以用来为其他任务使用不同的ML建模架构来训练轻量级的设备上模型。举个例子,我们推导出了一个ProjectionNet 架构,该架构使用一个复杂的前馈或循环的架构(如LSTM),并结合一个由动态投影操作和几个窄的完全连接层组成的简单projection 架构。整个架构都是在 TensorFlow 中使用反向传播进行端到端的训练。训练完成后,就可以直接使用紧凑的ProjectionNet 进行推理。使用这种方法,我们已经成功地训练了小型的 ProjectionNet 模型,它可以显著地减小模型大小(最大能够减小几个数量级),并且在多个视觉和语言的分类任务上的准确性方面表现出色。类似地,我们使用图形学习框架训练其他的轻量级模型,即使是在半监督的设置下也如此。

用于训练设备上模型的ML架构:使用深度学习训练的ProjectionNet(左)和使用图形学习训练的ProjectionGraph(右)我们将继续改进并发布最新的TensorFlow Lite模型。我们认为,使用这些ML架构学习的现有模型(以及将来发布的模型)可以重复用于许多自然语言处理和计算机视觉的应用程序,或者插入到现有的应用程序中,以实现机器智能。我们希望机器学习和自然语言处理社区能够在这些基础上更进一步,解决新的问题并提出我们尚未想到的用例。

TensorFlow Lite 特征、架构、模型

今天,我们很高兴地宣布TensorFlowLite的开发人员预览版,这是 TensorFlow 针对移动和嵌入式设备的轻量版解决方案!

TensorFlow一直运行在许多平台上,从服务器机架到小型物联网设备。但随着过去几年机器学习模型的采用呈指数级增长,因此需要将其部署在移动和嵌入式设备上。

TensorFlow Lite能够对设备上的机器学习模型进行低延迟推断。

TensorFlow Lite具有以下特征:

轻量使设备上机器学习模型推断具有小型二进制规模和快速初始化/启动。

跨平台:可以在多个平台运行,包括安卓和iOS。

快速:针对移动设备进行了快速优化,包括模型加载时间显著加快,并支持硬件加速等。

越来越多的移动设备采用专用的定制硬件来更有效地处理机器学习工作负载。TensorFlow Lite支持安卓神经网络API,以充分利用这些新的加速器。

当加速器硬件不可用时,TensorFlow Lite会回退到优化的CPU执行状态,从而确保模型仍然可以在大量设备上快速运行。

架构:下图展示了TensorFlow Lite的架构设计

组成部分如下

TensorFlow模型:保存在磁盘上经过训练的TensorFlow模型。

TensorFlow Lite转换器:是一个将模型转换为TensorFlow Lite文件格式的程序。

TensorFlow Lite模型文件:基于FlatBuffers的模型文件格式,已经过速度和大小优化。

TensorFlow Lite模型文件被应用在移动应用程序中:

Java API:在安卓平台上围绕着C++ API的包裹器。

C++ API:加载TensorFlow Lite模型文件并调用Interpreter。安卓和iOS上有同样的库。

Interpreter:使用一组operator来执行模型。Interprete支持选择性操作员加载。没有operator的情况下,只有70KB,加载了所有operator,有300KB。这比TensorFlow Mobile所要求的1.5M的明显降低。

在选定的安卓设备上,Interpreter将使用安卓神经网络API实现硬件加速。若无可用,则默认为CPU执行。

开发人员也可以使用C++ API实现定制内核。

模型

TensorFlow Lite已支持许多经过训练和优化的模型:

MobileNet:一类视觉模型,能够识别1000个不同的对象类别,专门为移动和嵌入式设备上的高效执行而设计。

Inception v3:图像识别模型,功能与MobileNet类似,提供更高的准确性,但更大。

Smart Reply:一种设备上的会话模型,可以对流入的对话聊天消息进行一键式回复。第一方和第三方消息传递应用在Android Wear上使用此功能。

Inception v3和MobileNets已经在ImageNet数据集上训练。你可以通过迁移学习,在自己的图像数据集上重新训练。

模型下载:download.tensorflow.org/models/tflite/smartreply_1.0_2017_11_01.zip

code:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/contrib/lite/models/smartreply

参考:https://research.googleblog.com/2017/11/on-device-conversational-modeling-with.html

https://developers.googleblog.com/2017/11/announcing-tensorflow-lite.html

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容