写点什么

当前端遇到机器学习?听 TensorFlow.js 负责人怎么说(二)

  • 2019-12-18
  • 本文字数:1962 字

    阅读完需:约 6 分钟

当前端遇到机器学习?听 TensorFlow.js 负责人怎么说(二)

TERVIEW


采访内容


Q :Hi, Ping Yu, 可否向中国的朋友们介绍一下您和您目前的工作?


Ping Yu:我在 Google 的 TensorFlow 团队中负责 TensorFlow.js 的开源项目。TensorFlow.js 是一个针对前端开发者机器学习平台,它不光提供建模,训练到推理的一套完整的 API, 还有一个结合实际应用场景的模型库。我们的目标是降低前端开发者使用机器学习的门槛,从而激发他们的创造力。


Q :我们知道,人工智能往往伴随着复杂的数据、模型和运算,而很多人认为 JavaScript 太弱了,不适合做人工智能,甚至说前端就不该趟 AI 这趟水,您怎么看待这个「老生常谈」的说法?


Ping Yu:这个问题可以从两个方面去看。首先,JavaScript 作为一个解释执行的语言,确实缺乏纯计算能力,但语言本身的计算速度并不决定它是否适合机器学习。比如 Python 同样作为解释执行的语言,速度并不是它的强项,甚至它比 JavaScript 的 V8 引擎要慢多了,这并没有妨碍它成为当今最受欢迎的机器学习语言。因为它并不需要直接解决速度的问题,它可以利用其他更底层的语言来获得计算速度的提升。TensorFlow Python 就是利用 binding C library 提供 CPU 上的加速,通过 cuDNN 的绑定获得了 GPU 提速。这都是 Javascript 可以做的事情。比如说 TensorFlow.js 通过 WebGL 的 Fragment Shader 来获得 GPU 加速,通过 Web Assembly 来获得 CPU 的加速等等。


另外作为一个机器学习 API Level 的语言,易用性才是真正吸引用户的地方。Python 的崛起很大程度上得益于一个非常受欢迎的数值运算库 numpy. 其实 Javascript 在易用性上并不逊色于 Python, 十几年来,从网页到后台,再到 iOT 设备,Javascript 无处不在。它跨平台的特性能很好的解决模型部署的任务。


我和很多工业界还有研究部门的伙伴了解的时候发现,他们现在共同的困境就是,缺乏人才能够真正把 AI 研究结果很好的落地。我们相信这个离不开前端工程师,但是需要有一套完善的工程解决方案。TensorFlow.js 只是一个开始,希望有更多的前端开发者可以加入我们的行列。


Q :那请问 TensorFlow.js 目前都有哪些应用场景、效果如何?如果没有足够的数据量能接入吗?


Ping Yu:TensorFlow.js 支持许多 Javascript 可以运行的环境,前端的浏览器,无线端的小程序,React Native 平台,中后台的 Node.js 等等。


不同的运行环境,应用场景也不尽相同。无线端多以实时人机交互模型为主,不论是视频还是语音,对模型的大小和执行速度的要求都很高。最近欧莱雅使用 TensorFlow.js 在微信小程序里推出了实时试妆,模型执行速度达到 25FPS, 但模型只有 800K. 在浏览器中的 Web App, 它的 AI 应用场景多以图形或文字模型为主。在中后台,应用场景会更丰富一些。TensorFlow.js 在 Node.js 里的执行速度和 TensorFlow Python 旗鼓相当,让 server 端的模型推理可以融入到现有的 BFF 架构内。


另外 TensorFlow.js 也支持模型训练,这意味着前端可以通过转移学习的方法为每个用户提供定制的模型。


Q :有人说,AI 技术的大进步,往往不是算法本身,而是源自人机交互的改进,您认同这个看法吗?目前(至少国内)已落地的人工智能大多是「人工人工智能」,请问国外面临这个窘境吗?您认为有何解法?


Ping Yu:这个问题涉及面有点广,但看法我是基本认同的。我理解这句话原意是,人机交互界面的改进,为 AI 技术提供的场景和契机。AI 的基础是数据,而前端技术可以帮助研究者更快更好地理解数据。虽然现在 AI 发展日新月异,新模型、新架构层出不穷,但当模型落地时候,如果并没有和前端实现一个闭环,也就会出现「人工人工智能」的现象。谷歌推出的联邦学习和 TFX 机器学习的框架,通过 AI 和前端的结合,就能够做到连续的验证和调整模型。


Q :您认为前端智能化未来会往什么方向发展?对于想做人工智能的前端工程师有什么学习建议?


Ping Yu:虽然前端有许多成功的框架,但总体来说还是有不少手工的工作。(我认为未来的考虑将是)如何将 AI 的能力融入到这些框架中,进一步减少前端工程师工作中低端的手工部分,从而进一步解放他们的创造力。


对于前端工程师而言,要对常用的模型和框架要有一定的认识,了解他们的特点和使用场景。要具备一定的 AI 工程方面的知识,比如模型加速和压缩,模型加密,端上和服务器上推理方案,这可以为模型落地提供切实可行的途径。


Q :请问参加您这次的分享需要准备什么前置知识?您将与国内开发者进行什么方面的交流?


Ping Yu:这次分享(我将)通过一些实例来介绍 TensorFlow.js 平台的能力,进一步探讨 AI 在前端落地的场景。目标受众就是前端工程师,没有特殊的前置知识。


本次专访是否解答你对于前端与机器学习的疑惑呢?本届 D2 上,Ping Yu 还将与我们探讨 TensorFlow.js 进一步优化的方式,以及未来发展的方向。


本文转载自淘系技术公众号。


原文链接:https://mp.weixin.qq.com/s/e3WoYNDwlzBoYNMBurANdA


2019-12-18 16:021016

评论

发布
暂无评论
发现更多内容

代码泄漏无感知?代码安全审计构筑企业核心资产安全防线

极狐GitLab

DevOps gitlab 源代码管理 审计事件 代码泄露

迅速而准确的PostgreSQL数据对比指南

NineData

数据库 postgresql IDC 数据对比 NineData

引领广西鲲鹏产业热潮,助推数字广西发展。广西第四届鲲鹏应用创新大赛总决赛圆满举行!

彭飞

七类网线的制作过程

小齐写代码

KaiwuDB 受邀出席“软件名城看济南”暨浪潮海岳软件技术大会

KaiwuDB

KaiwuDB 社区生态

YMatrix 5.0 与天翼云完成产品兼容性认证

YMatrix 超融合数据库

超融合数据库 YMatrix 产品兼容互认证 天翼云

如何在国内安装Bitdefender

吴脑的键客

安全

NFTScan的增长秘籍:从零起步,成长为最大的NFT数据基建服务商

NFT Research

NFT\ nft工具

DeeTune:基于 eBPF 的百度网络框架设计与应用

百度Geek说

云原生 ebpf 企业号9月PK榜

软件测试开发高薪私教线下班来啦!名师1V1指导,大咖强化集训

测试人

软件测试 自动化测试 测试开发 线下班

说说分布式系统容器化

HelloGeek

Kubernetes 容器 微服务 云原生

华为云API人脸识别服务FRS的感知力—偷偷藏不住的你

人工智能 插件 API 华为云

Sermant类隔离架构解析——解决JavaAgent场景类冲突的实践

华为云开源

java-agent

华宇软件亮相服贸会中国AIGC创新发展论坛,共话垂直大模型未来!

科技热闻

彰显中国气象服务前沿能力,墨迹天气全球雷达融合降水服务产品亮相服贸会

彭飞

龙蜥白皮书精选:龙蜥安全漏洞管理体系介绍

OpenAnolis小助手

白皮书 系统安全 CVE 龙蜥社区 安全委员会

开源机密计算平台:蓬莱-OpenHarmony

OpenHarmony开发者

OpenHarmony

草图大师 2023中文安装「SketchUp Pro 2023下载」

胖墩儿不胖y

Mac软件 草图大师 三维建模软件 草图大师2023下载

K8s 多集群实践思考和探索

vivo互联网技术

云计算 k8s 多集群

火山引擎 DataTester 首推A/B实验经验库,帮助企业高效优化实验设计能力

字节跳动数据平台

大数据 A/B测试 企业号9月PK榜

对线面试官 - Java IO经典面试问题突击篇

派大星

JavaIO Java 面试题

HarmonyOS实现几种常见图片点击效果

HarmonyOS开发者

HarmonyOS

山东布谷科技直播系统源码,系统分析篇:不可或缺的云转码系统

山东布谷科技

软件开发 音视频 系统架构 云转码 直播系统源码

提高程序并发性能:Java多线程编程

xfgg

Java 多线程

当前端遇到机器学习?听 TensorFlow.js 负责人怎么说(二)_语言 & 开发_淘系技术_InfoQ精选文章