作者:wangqun
一、背景
随着百度AI战略的逐步深入,百度AI能力正在积极地布局和渗透在更多的应用领域,对于不同的应用场景有着不同的AI能力解决方案,为了在浏览器等Web前端场景中应用百度AI能力,百度相关技术团队孵化出百度Paddle.js 用于帮助前端工程师更加简单地将智能化因素引入网页中,让Web前端可以实现更多的能力。
二、为什么要在前端引入AI能力
通过浏览器来访问网页应用浏览内容具有更低的门槛和更广泛的传播度,能够在网页中融入智能化因素将会为用户体验插上一对腾飞的翅膀。传统的智能化效果由于模型大小、设备机器算力的问题,多数是放在服务端实现的,但是这需要多次与服务器进行网络上的信息交互,用户体验被打折。Web前端作为互联网中离用户最近的一环,也希望借助 AI 的能力,给用户创建更好的体验。随着硬件设备的快速更新换代,直接在网页中实现的智能化效果逐渐进入人们的视线,相比云端智能,端智能具有低延时、保护数据隐私、节省云端计算资源等优势,端智能的实时性优势更加凸显。
对于Web前端而言,算力的稳步增强、算法逐步成熟以及创新驱动的应用场景都在影响着端智能演进,而浏览器等载体的自身能力无疑是影响Web前端创新场景的最重要的因素。
其中WebRTC使得Web上支持原生的视频通话能力,视频流实时获取成为可能;WebXR可以利用 GPU 能力处理复杂和 3D 图形 ;Web Assembly可以将其它语言生态引入 Web,Service Workers通过后台任务来支持离线以及提升性能。这些浏览器等载体对于设备底层能力的极大化扩展和对CPU、GPU甚至NPU的计算能力的合理调用都为Web端实现复杂的创新应用提供了帮助。
W3C 也成立了机器学习的社区组,试图提供原生的 Web 神经网络 API,这是为神经网络理论硬件加速设计的底层接口,用例包括:人物识别、语义诊断、情绪分析、图像自动分类等等,目标是可以直接使用预训练的深度神经网络模型。
可以预期的是,基于Web端也会出现越来越多有趣、好玩的一些创新应用,那么什么样的场景适合使用Web AI呢?这里有几个案例与大家分享。