百摩网
当前位置: 首页 生活百科

web计算模式的原理和特点简书(浏览器上运行的最快DNN执行框架)

时间:2023-05-20 作者: 小编 阅读量: 6 栏目名: 生活百科

它会输出包含JavaScript和二进制权数据的“图形转译器”文件。应用开发者需要使用程序库所提供的API来对模型进行输入并显示输出结果。在Safari技术预览版中,默认禁用WebGPUAPI。结果显示,搭载了后端WebGPU的WebDNN速度明显快于Keras.sj,而搭载了后端WebAssembly的WebDNN,速度则稍快于搭载了后端GPU的Keras.sj。当对图形转译器进行优化后,WebDNN的速度将得到进一步提升。以上两个示例,其预训练模型的执行都是通过WebDNN在浏览器上完成的。

唐旭 编译整理

量子位出品 | 公众号 QbitAI

深度神经网络(DNN)已经被证明在图像识别、视频识别、自然语言处理、游戏人工智能等诸多不同领域都具有非常大的潜力,当前,DNN也已经被应用到多种产品之中。

然而,DNN计算所需的成本非常高,并且在通常情况下,DNN的执行需要基于硬件加速的大量执行环境设置进程。因此,要在像笔记本电脑、智能手机这样的终端用户设备上执行DNN并不十分现实。

过去解决这些问题的方法是云计算。而现在,东京大学机器智能实验室(MIL)开发的WebDNN又提出了一条新的途径。

WebDNN是什么?

WebDNN是一种开源软件框架,用于在浏览器上执行DNN的预训练模型。

WebDNN包含两种模型:图形转译器,用于将训练过的模型转译并优化成能够在浏览器上执行的格式;以及描述符运行器,用于在浏览器上执行转换过的模型。

图形转译器是一种脱机模型,通过python(3.6版本)实现。它会输出包含JavaScript和二进制权数据的“图形转译器”文件。只有应用开发者需要运行这一模型。

描述符运行器则是一种在线模型,用于在终端用户的浏览器上运行图像转译器,通过JavaScript实现。应用开发者需要使用程序库所提供的API来对模型进行输入并显示输出结果。

特性

WebDNN主要有以下三种关键特性:

免安装

WebDNN在浏览器上执行DNN模型。通常情况下,每个终端用户的设备上都应该已经安装好了浏览器,同时用户会对它非常熟悉。因此,DNN应用的产出会变得更为容易,不会像原生应用安装那么麻烦。

目前市面上存在着几种主流的浏览器,并且它们都有着能够用于加速的不同特性。在每一种浏览器上,WebDNN都有几种能使DNN模型执行进程速度最大化的策略。

非开销接口

JavaScript是一种在浏览器上运行的标准编程语言,它通过解释器来执行。因此,它需要一定的计算开销,也无法完全发挥CPU的性能;在GPU上,也有同样的问题。

现在的浏览器都支持WebGL,一种能够实现GPU使用的JavaScript API。然而,这个API是为图形处理而设计,并不适合进行通用计算;除此之外,用WebGL进行通用计算还会增加计算开销。

WebDNN使用了新一代的JavaScript API——包括用于GPU执行的WebGPU,以及用于CPU执行的WebAssembly。这些API能够帮助充分发挥GPU和CPU的能力。

针对推理阶段的专门优化

为了实现更快的执行过程,对DNN模型的计算图进行优化非常重要。DNN的执行包括两个阶段:训练阶段和推理阶段,并且它们需要不同的优化策略。WebDNN只着眼于在终端用户设备上执行的推理阶段并支持激进优化。这种优化管道能够被应用于不同DNN框架所训练的模型,不需要编辑训练代码。

兼容浏览器平台

下方数字为最低版本要求。

通过WebGPU、WebAssembly和Fallback后端,WebDNN能够在所有主流浏览器上运行。

其中,WebGPU后端是三种途径中最快的,但目前该API只支持Safari技术预览版;WebAssembly后端速度次之,能够兼容大部分主流浏览器;Fallback后端则只能进行向下兼容,且速度并不那么快。

在Safari技术预览版中,默认禁用WebGPU API。启用方法是在菜单中点击:“Develop” > “Experimental Features” > “WebGPU”

效果

处理时间——与Keras.js对比

(量子位注:Keras.js是GitHub上的一个开源项目,在GPU的支持下,能够用于在浏览器上运行Keras模型。)

测试环境:

模型:VGG16, Inception-v3, ResNet50

输入形状:Inception-v3——(1, 299, 299, 3),其它——(1, 224, 224, 3)

纵轴为每张图像消耗的时间,单位毫秒。

结果显示,搭载了后端WebGPU的WebDNN速度明显快于Keras.sj,而搭载了后端WebAssembly的WebDNN,速度则稍快于搭载了后端GPU的Keras.sj。

在每一个DNN模型及后端,WebDNN在速度上都比Keras.sj更快。当对图形转译器进行优化后,WebDNN的速度将得到进一步提升。

Demo

WebDNN还有两个官方的Demo。

Demo 1:图像风格迁移模型

浮世绘风格的猎豹。

Demo 2:ResNet50图像识别模型

可能训练得不太好,海豚识别成了大白鲨……

以上两个示例,其预训练模型的执行都是通过WebDNN在浏览器上完成的。

量子位尝试了一下风格迁移的Demo,特别邀请阿凡提老师作为出镜测试嘉宾,结果有点尴尬,如下图所示:

我们用的也是Macbook,想测试的同学,可以直接访问这个网址:

https://mil-tokyo.github.io/webdnn/neural_style_transfer.html?run=1

相关地址

GitHub地址:

https://github.com/mil-tokyo/webdnn

document:

https://mil-tokyo.github.io/webdnn/docs/index.html

官网(有demo):

https://mil-tokyo.github.io/webdnn/#about

还有一个插曲:量子位曾经试图寻找该实验室的官网,发现一个类似的页面,不过这个页面嘛……我们截图如下:

【完】

招聘

量子位正在招募编辑记者、运营、产品等岗位,工作地点在北京中关村。相关细节,请在公众号对话界面,回复:“招聘”。

One More Thing…

今天AI界还有哪些事值得关注?在量子位(QbitAI)公众号对话界面回复“今天”,看我们全网搜罗的AI行业和研究动态。笔芯~

    推荐阅读
  • 梦幻西游各副本物品奖励表(玩家晒口袋版神秘专属宝箱)

    此宝箱,不仅可以开出高级魔兽要诀。今天,咱们就一起来看看这位小伙伴3个号的专属宝箱都可以开出什么样的高级魔兽要诀吧。要知道,这可是法宠的必备技能之一。第2个号,获得了高级神迹。毕竟,其携带的技能才是重中之重。那么问题来了,这两本高级魔兽要诀的技能到底是什么?这两本高级魔兽要诀之中,也就高级感知还在玩家可以接受的范围内。可即便如此,这结果也依旧是不容乐观。

  • 鸡头子的功效与作用(新鲜鸡头米的功效与作用)

    适宜人群一般人群均适宜。不宜同食无特殊同食禁忌。鸡头子米糊:准备50克鸡头子和三十克薏仁,提前淘洗干净,用清水浸泡,两小时后直接放在豆浆机中,加适量清水,接通电源,选择米糊键,让豆浆机工作,做成迷糊。

  • 白梅花红梅花泡茶功效(白梅花红梅花泡茶功效介绍)

    白梅花红梅花泡茶功效白梅花红梅花泡茶功效有活血祛淤、促进循环、养颜美容、治疗月经不调、预防上火、排毒美容、调理气血等作用。白梅花有着非常好的减轻白细胞下降以及有很好的活血化瘀的作用,但是在喝茶的时候一定要适量,清晨的时候可以再选择泡一杯茶不用太浓,每天的茶水量大约不要超过1000到1500毫升,也可以用来熬粥。

  • 坡道定点技巧怎么操作(坡道定点小技巧)

    操作步骤与技巧坡道定点停车和起步是科目二五项考试内容的其中之一,需要注意的是起步时间不能超过30秒。坡道定点停车和起步考试的内容很简单,就是将车辆停在披上指定的线上,然后再重新起步。当车头有上翘、车身有抖动感觉时,左脚保持离合器不动,右脚松开刹车,车辆平稳起步向坡道上行驶,关闭左转向灯,完全上坡顺利下坡,驶出坡道定点停车和起步考试区。

  • 什么是科普文(科普文介绍)

    科学普及是一种社会教育。从科学社会学的角度看,科学普及是一种广泛的社会现象,必然有其自身的“增长点”。科学普及的生长点就在自然与人、科学与社会的交叉点上。也就是说,自然科学与人类社会的相互作用生成了科学普及,科技与社会又作为科学普及的“土壤”,哺育着它的生长。

  • iPhone相机声音怎么关 iphone相机声音关闭

    以iPhonex为例,iPhone关闭相机声音方法有三种,分别是:1、翻转静音开关,每个iPhone型号都有这个开关位于手机左侧的顶部。

  • excel小课堂(每日一讲Excel入门)

    每日一讲Excel入门本媒体号主要给大家讲解办公软件的使用,将会从最基础开始讲起,希望能让大家学到知识,谢谢各位的支持首先小喵会给大家讲解office办公软件的使用,第一个是Excel的使用好了下面进入正题第一节课,小喵给。

  • 动漫中的高颜值(动漫武力女神帅气颜值并存)

    第二个《绯弹的亚里亚》中的亚里亚。作为兵器,手枪有着小巧灵便的特点,能以其火力杀伤近距离内的有生目标,很适合灵活敏捷的亚里亚,她头上的角型发饰一般藏有药或子弹。第三个《犬夜叉》中的桔梗。作为灵力高强的巫女,破魔之箭是桔梗最擅长的必杀技,借助普通箭矢射出圣属性攻击,可强有力地攻破结界,净化瘴气。弓箭是比较古老的兵器,但是在桔梗手中表现出了一种冷艳的感觉,更是凭借着自己的纯洁,仿佛可以化掉一切的阴霾。

  • 适合老人过寿唱的歌曲(有哪些适合老人过寿唱的歌曲)

    下面希望有你要的答案,我们一起来看看吧!适合老人过寿唱的歌曲首先当然是《生日快乐歌》,虽然没有什么新意,但是最能直接表达祝福的心意。此外,必不可少的还有《祝寿歌》。根据实际情况,《父亲》或《母亲》也是必不可少的一首歌。此外《百鸟朝凤》也是一个不错的选择,既有传统文化的底蕴,又有烘托热闹氛围的功效。宋祖英的《好日子》也可以用在寿宴上,与寿宴的喜庆氛围堪称绝配。

  • 驴肉炖什么好吃(驴肉炖何物好吃)

    驴肉和白萝卜一起好吃,首先切块、葱切段,我来为大家科普一下关于驴肉炖什么好吃?以下内容希望对你有帮助!加入半锅冷水,驴肉冷水下锅,加入10g料酒、姜片熬出血水,捞出驴肉备用。加入少量油,烧热后加入葱、姜、蒜炒香,放入驴肉,炒3分钟后,加入萝卜一起炒。加入黄豆酱、糖、酱油,再加入10g料酒,加水炖煮。