发布以来,又有哪些最新进展|

核心提示【导读】7 月 3-4 日,由 CSDN 主办的第三届 AI 开发者大会在线上举行。本次大会有超万人报名参与,参与人群覆盖 50+ 领域、4000 家企业。其中有来自行业内 70+ 顶尖企业、开源社区与科研高校的近 100 位行业领袖、技术

【导读】7月3-4日,由CSDN主办的第三届AI开发者大会在网上举行。超万人报名参加本次大会,覆盖50+领域,4000家企业。其中有来自行业内70+家顶级企业、开源社区、研究型大学的近百位行业领袖、技术专家和研究学者。他们以更新鲜、更有趣、更年轻化的方式,聚焦人工智能技术在智能时代的发展曲线以及人工智能与社会各行业结合的最新应用进展,深度剖析行业热门人工智能技术的实践和落地经验,揭示技术和产业发展面临的机遇和挑战。

在7月3日的主论坛上,TensorFlow中国RD团队负责人李双峰做了题为“TensorFlow最新进展”的主题演讲。

核心观点:

李双峰:大家好!我是来自Google的李双峰,负责TensorFlow中国RD团队。今天我演讲的题目是TensorFlow的最新进展。

TensorFlow开源生态系统提供丰富的工具链,满足前沿研究、生产环境使用、全场景部署等多样化需求。,并帮助构建负责任的人工智能应用程序,同时受益于一个庞大社区的贡献。目前,TensorFlow已被下载超过1亿次,有89,000+次提交,14,600+次代码更改请求,超过2,600名贡献者。

TensorFlow推动了很多前沿研究,比如16-17年Google提出的Transformer模型,是近年来深度学习最有影响力的成果之一;2018年提出了BERT模型,带来了NLP的突破,并迅速在业界得到广泛应用,比如提高搜索质量。

TensorFlow支持社区中的许多应用,包括环境保护、农业测试、文化艺术研究和医疗卫生。在科学计算领域,Summit是世界领先的超级计算机系统,它使用TensorFlow来预测极端天气。在行业内,网易严选TensorFlow做销售数据预测,腾讯医疗用TensorFlow做医学影像处理,说一口流利的英语帮助用户学习英语。TensorFlow用于许多常见的推荐和搜索系统。

TensorFlow 2让机器学习更简单

TensorFlow 2侧重于易用性,同时仍然保持灵活和高效。

TensorFlow 2的整体架构分为“训练”和“部署”两部分。训练部分包括数据设计、模型设计、训练和分析等功能。在训练过程中,可以使用Keras等高级API建立模型,tf.data也可以用于高性能数据处理。不同硬件的大规模训练需要分发策略。训练后生成的模型以SavedModel格式保存,可以部署在不同平台,也可以发布在TensorFlow Hub上,方便分享。部署部分包括部署在浏览器和Node.js上的TensorFlow.js,部署在移动和嵌入式平台上的TensorFlow Lite,部署在服务器端的TensorFlow Serving。

1.易用性:为了提高易用性,TensorFlow 2采用tf.keras高级API,只需要几行代码就可以构建一个复杂的网络。它是默认的动态图急切执行,采用命令式编程方式,可以更好地与周围的python代码集成,易于调试。同时可以使用tf.function将动态图转换为静态图,并启动XLA编译优化来提升性能。API更简单,文档更清晰。例如,在1.0中,LSTM可能会有不同的写法,而在2.0之后,写法就会变得一致。

2.灵活性:TensorFlow 2满足从简单建模到复杂模型的高灵活性要求。针对新用户和简单案例,Keras内置模块和Keras Sequential API都是可用的;可以进一步使用Keras功能API,自定义Keras模块;为了追求更大的灵活性,你可以使用子类来完全定制你自己的各种模块和训练周期。例如:

要构建一个看图答题的网络,需要一个CNN网络处理图片输入,嵌入+LSTM处理问题文本输入,一个全连通网络进行分类。每个部分只需要几行代码就可以实现。处理NLP问题,TF.dataset提供数据集,Keras预处理,TF.text和TF.addons提供各种预处理工具,KerasTuner调整超参数,Keras实现的BERT作为工业应用的参考,TF Hub上有很多预先训练好的模块。3.可伸缩性和高性能:使用分布式。策略,一行代码可以从多CPU的单机扩展到多CPU的多机。BERT小队训练时,吞吐量比TF 2.0高2.5倍。tensor board 2.2中也提供了TF Profiler工具集,可以统计和跟踪性能瓶颈。数据处理是深度学习训练的瓶颈之一,tf.data可以加快数据处理速度。在即将发布的TF 2.3中,增加了两个功能:tf.data snapshot可以重用计算的数据,而tf.data service可以扩展多个worker,以加快数据预处理和容错。

4.丰富的多平台部署能力。

支持灵活的多平台部署,包括服务器端、移动和嵌入式设备、浏览器端。

TensorFlow Extended是一个端到端的机器学习平台,可以在大规模生产环境中创建和管理复杂的机器学习工作流,在Google中得到广泛应用。TFX提供了丰富的组件,例如数据流的统计验证和检查异常、数据清理和转换、模型的持续训练、模型的评估和验证,以及最终将合格的模型部署到生产环境中。

在服务器端部署上,TensorFlow Serving是一个高性能的TensorFlow模型部署系统,允许多个版本的模型同时在线实时部署,支持RPC和RESTful API。

Tensorflow.js是为Javascript定制的机器学习平台。您可以利用现有的JS模型包,从现有的模型中学习,或者使用JS从头开始训练模型。我们提供了各种模型,最近发布了基于MobileBERT的手势识别模型和问答模型。在服务器端可以支持各种浏览器,React Native,Node.js等各种框架。特别是TF.js提供了微信小程序插件,可以直接在小程序中运行TF.js程序。与ModiFace虚拟试妆小程序相比,使用TF.js,总大小1.8M,是一个轻量级、快速、跨平台的框架,针对移动和物联网应用场景进行了优化。它支持Android、iOS、嵌入式设备、硬件加速器,甚至非常小的MCU平台。人们将TensorFlow Lite用于许多功能,包括语音、视频、图像、自然语言处理等。TensorFlow Lite已在全球超过40亿台设备中部署。比如谷歌的很多应用就像谷歌助手,国外的应用就像优步和Airbnb,国内的应用就像网易、爱奇艺、WPS和腾讯的全民k歌。

绩效是我们继续改进的领域。TensorFlow Lite功能强大,支持多种硬件加速器,如GPU、NNAPI、DSP和CoreML。以MobileNetV1为例,Pixel4上单线程CPU上的浮点模型只需37ms,量化提升2.8倍至13ms,GPU上的OpenCL只需6 ms,最近GPU上增加了OpenCL支持。在多个可视化模型上的测试表明,基于OpenCL的GPU性能是CPU的4-6倍,OpenGL的2倍。另一个即将到来的突破是一个新的高度优化的浮点卷积内核库XNNPACK。对几个关键的浮点卷积模型的测试表明,在各种硬件平台上使用XNNPACK后,单线程CPU的性能提高了20%~200%。例如,在X86 Windows平台上,有双重改进。

我们还提供了微功能的TensorFlow Lite,支持在MCU上运行超小的模型:语音识别的模型只需要20kb,字符检测的模型只需要20KB,手机姿态检测只需要20KB。这样的模型真的可以让机器学习无处不在。

TensorFlow模型优化工具,支持量化、剪枝等多种模型压缩技术,简单易用,进一步压缩模型。

TensorFlow Lite初学者,从哪里入手?

1.预培训前沿模型和完整的参考示例

Tensorflow Lite官网提供了丰富的预训练模型库和完整的应用代码,包括多种案例,如对象跟踪、风格转移和问题回答,以及来自不同平台的实例。比如在手机上实现问答,就是一个很有挑战性的问题。我们已经发布了一个基于MobileBERT的参考应用程序。此外,社区github项目“Awesome TFLite”也收集了许多有趣的例子。

我们推出了一些前沿的预培训模式,例如:

EfficientNet-Lite是一种新颖的图像分类模型,通过降低计算量和参数的数量级,可以达到SOTA的精度。它优化了TFLite的量化方法,在损失低准确率的同时大大提高了推理速度,可以在CPU和GPU上运行。在相似的高精度下,EfficientNet-lite4相对于Inception v4有显著的速度提升。Mobile和ALBERT-Lite是流行的BERT模型的优化版本,该模型在一系列NLP任务中达到了SOTA的精度。其中,MobileBERT的体积是BERT的1/4,速度是BERT的4倍,同时保持相近的精度。我们还开发了定量版的MobileBERT,速度是BERT的1/16,比BERT快8倍。目前MLPerf社区正在尝试基于此进行移动硬件加速的NLP基准测试。

2.TFLite模型制造商

如果新手想自定义自己的模型,但是不知道机器学习或者建模?没关系。使用TFLite Model Maker,它提供了一个Python库。不需要懂ML,只需要4、5行Python代码,就可以根据你的数据定制一个模型。

3.TFLite代码生成和Android Studio ML模型绑定工具

TFLite Model Maker生成的模型会自动添加TFLite元数据。我们提供了一个代码生成工具,TFLite codegen,直接把带有TFLite元数据的模型转换成Android代码,让Android开发者在不太了解这个模型的情况下,也能写出和API一样的代码。生成的代码还可以做一些预处理和后处理工作。

再者,我们还将该功能集成到Android Studio的ML模型绑定工具中,只需要将模型导入Android Studio即可生成代码。目前Android Studio 4.1中已经提供了试用版。

TensorFlow提供了丰富的工具链。

如果不想从零开始训练这个模型,而是想使用迁移学习,可以使用TensorFlow Hub,这是一个开箱即用的预训练模型库,提供多种模型,支持多种部署格式。社区贡献的机型很多,比如NVIDIA。

如果你只关注前沿研究,而不是部署,你可以尝试一种非常新的高性能、轻量级框架JAX,它是为研究人员打造的。JAX结合了自动微分和XLA的功能,使用纯Python作为API,非常易用,轻量级。同时,它可以被XLA编译到GPU或TPU,从而保持高性能。

我们还开源了一个新的编译器框架MLIR来加速机器学习。MLIR提供最新的ML编译器技术,支持多级IR、模块化和定制化。由LLVM项目管理,立场中立。一些最大的硬件制造商已经表示支持共同促进MLIR的发展。MLIR正在帮助建立一个更好的TensorFlow,加速编译和简化硬件支持。它也用于TensorFlow到TFLite的转换。

TensorFlow生态系统提供了非常丰富的扩展库。这些库为机器学习领域的最新研究提供了许多工具。已经有80多个不同的Tensorflow库供研究人员使用。比如对贝叶斯模型感兴趣,可以使用TFProbablity库;如果要NLP模型处理,提供TF文本库;对于深度学习和图的结合,可以研究TF神经结构化学习;;如果你想探索强化学习,使用TF代理。新发布的库TensorFlow Quantum将TensorFlow与量子计算相结合。

TensorFlow倡导负责任的人工智能

TensorFlow开放了很多工具来推广负责任的AI。这些工具侧重于以下几个方面:

提供最佳实践:例如,People+AI guidelines是帮助人们构建以人为本的AI的指南。公平性:例如,TensorFlow公平性指标可用于模型公平性评估和可视化。说明:例如TensorFlow模型分析有助于分析模型。模型隐私:比如TF Privacy有助于训练更多的私有模型,而TF Federated则利用联邦学习来增强数据隐私。关注模型安全:持续推动和支持社区开展相关基础研究和开源工具。

TensorFlow的学习资源和社区

学习资源

官网tensorflow.google.cn:有大量的TensorFlow 2教程和最佳实践。TensorFlow教程:Coursera和Udacity上有很多优秀的实用TensorFlow课程,很多都是免费的。Google还提供机器学习速成课程2.x版本,无需ML基础,轻松快速上手。中文社区教程:比如tf.wiki上的简单粗糙的TensorFlow 2,d2l.ai上的动手深度学习,黑胡子实验室的TensorFlow速成班,腾讯课堂的TensorFlow.js偶遇小程序等等。实战。

Kaggle竞赛:Kaggle搭建了良好的TensorFlow 2运行环境,参赛选手可以证明TensorFlow开发者证书是全球统一的证书。TensorFlow模型园:特别欢迎大家为TF模型园贡献TensorFlow 2模型。有机会成为TensorFlow推荐的官方代码,也有可能获得Google开源同行奖金。你可以在github.com/tensorflow/models.社区找到相关的任务

文档的翻译,中文教程和视频的创作:目前TensorFlow官网中文文档大部分都是社区贡献和维护的,只要大家热心都可以参与。分享案例:欢迎投稿到TensorFlow微信微信官方账号,分享案例和经验,或者分享CSDN和其他社区的经验。参加社区TFUG:你可以参加TFUG的活动,或者申请成为你所在城市的组织者,甚至申请一个新的TFUG。目前,mainland China有19个城市有TFUG。贡献代码和模型:TensorFlow有几个SIG组,华人社区很多开发者领导这些SIG组,比如SIG Networking,SIG IO,SIG AddOns。欢迎您加入TF SIG小组,贡献代码或模型。成为社区专家GDE:目前,mainland China有许多社区发展组织。最后,如果想了解更多,可以在微信上搜索关注TensorFlow官方微信官方账号,并访问官网:tensorFlow.google.cn。

谢谢大家!

 
友情链接
鄂ICP备19019357号-22