写点什么

当前端遇到机器学习?听 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:02910

评论

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

千万级数据深分页查询SQL性能优化实践

京东科技开发者

基于企业级SaaS低代码平台的协同制造产品解决方案

万界星空科技

低代码 MES系统 低代码开发 万界星空科技 低代码云MES

IntelliJ IDEA安装教程

小魏写代码

操作系统寒武纪 :鸿蒙来了企业IT高兴吗?

FN0

鸿蒙 操作系统 HarmonyOS

只需三步,开发文心一言应用帮你建立情感纽带!

飞桨PaddlePaddle

人工智能 深度学习 #飞桨# 飞桨AI

数据安全应急响应政策汇总:一份从无到有的应急预案实战指南(附下载)

极盾科技

如何写好大模型提示词?来自大赛冠军的经验分享(基础篇)

Baihai IDP

人工智能 AI LLM Prompt Prompt Engineering

使用API接口获取拼多多商品详情

Noah

面试官:分库分表后如何生成全局ID?

王磊

Java 面试

《机器人流程自动化能力评估体系 第1部分:系统和工具》行标发布

王吉伟频道

RPA 机器人流程自动化 信通院 超自动化 行业标准

为什么要将应用微服务化?

伤感汤姆布利柏

程序员 微服务 低代码 架构师 JNPF

ERP对接MES的3种类型的接口

万界星空科技

低代码 MES系统 系统集成 万界星空科技 系统对接

测试管理者的晋升秘籍:稳步提升职业地位的关键步骤

测吧(北京)科技有限公司

测试

掌握测试管理的能力图谱:方法论、技术与资源管理全解析

测吧(北京)科技有限公司

测试

GreptimeDB v0.6 发布 | 支持 Datanodes 间迁移数据表 Region

Greptime 格睿科技

数据库 时序数据库 版本发布

使用 Taro 开发鸿蒙原生应用 —— 快速上手,鸿蒙应用开发指南

京东科技开发者

每日一题:LeetCode-209. 长度最小的子数组

Geek_4z9ami

算法 LeetCode 二分查找 前缀和 滑动窗口

重磅!参编我国首个图计算平台标准 引领图数据库行业新机遇

百度安全

MES生产执行系统在生产车间的主要作用

万界星空科技

工业互联网 MES系统 生产管理系统 mes 数字化车间

鸿蒙HarmonyOS实战-ArkTS语言(基本语法)

不在线第一只蜗牛

HarmonyOS 鸿蒙开发 HarmonyOS框架

测试管理的核心知识点:岗位与职责全面解析

测吧(北京)科技有限公司

测试

管理型人格特质揭秘:适合测试管理的人应具备何种素质

测吧(北京)科技有限公司

测试

又一大模型技术开源!有道自研RAG引擎QAnything正式开放下载

有道技术团队

即时通讯技术文集(第32期):IM开发综合技术合集(Part5) [共12篇]

JackJiang

网络编程 即时通讯 IM

优化-Spring Boot项目服务端接口超时设置

alexgaoyh

Spring Boot Callable接口 @Transactional 接口超时

金融行业首个海量数据处理技术报告发布,“五化”技术助力金融数据潜能释放

腾讯云大数据

大数据

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