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

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行业和研究动态。笔芯~

    推荐阅读
  • 描写超市人多拥挤的句子(有什么描写人多的句子)

    下面内容希望能帮助到你,我们来一起看看吧!描写超市人多拥挤的句子走进超市的人像潮水一般涌现。超市中,到处都洋溢着喜气,人声鼎沸,一派热闹的场面。一进超市我就看呆了,人群涌动,笑声不断,比往日的超市热闹好几倍。今天超市优惠大酬宾,来超市买东西的人人山人海。超市人真多,素质也很差,在货架上挑东西,翻来翻去搞的乱七八糟。

  • 神雕侠侣不同版本小龙女(神雕侠侣又要翻拍了)

    根据目前的消息,这版《神雕》也是金庸老爷子亲自授权的,目标人群是00后。之所以写张君宝,其目的是为《倚天屠龙记》作铺垫。因为《射雕英雄传》《神雕侠侣》和《倚天屠龙记》组成了金雍的“射雕三部曲”。人物海报也发出来了,并表示小龙女、杨过、郭襄等重要角色,将面向全球甄选优秀新人出演。毕竟《神雕侠侣》是金庸作品中被翻拍成影视剧次数最多的小说。可以说,95版的《神雕侠侣》每个角色的契合度,是平均水平极高的一部。

  • 太阁立志传5dx山本堪助卡怎么获得(太阁立志传5山城传)

    游戏中可以收集的卡有不少,不同角色卡都有一定条件才能解锁,比如这个山本堪助卡,不同玩家有不同的获取方式,有的快一些有的慢一些,这里给大家整理了太阁立志传5dx山本堪助卡获得方法,快来看下吧。

  • 王者荣耀怎么看司马懿的被动(王者司马懿被动怎么看视野)

    1、被动:司马懿能够获得2000范围内施法者的视野且该范围内地方释放技能会为司马懿回复5带你能量;司马懿基础拥有80点能量,同时每次击杀或者助攻能够提升10点能量上限,将普攻替换为巨大的镰刀攻击造成法术伤害,持续4秒,镰刀每击造成250点法术伤害,替换为镰刀后的首次攻击可位移到目标身后造成500点法术伤害。

  • 黄褐斑到底该内调还是护肤(黄褐斑真的无计可施吗)

    含有鱼胶原蛋白的祛斑C粉,能增强体内抗氧化的能力,同时有淡化黄褐斑和排毒的能力的效果。

  • 甜菜根怎么吃最好(甜菜根最佳吃法介绍)

    甜菜根怎么吃最好?甜菜根怎么吃最好甜菜根排骨汤甜菜根和排骨搭配的一起煲汤喝,最好,在做的时候要准备甜菜根300克,排骨500克,胡椒粉和食用盐各适量,把排骨洗净以后剁成多少盅,用沸水焯2~3分钟,取出以后放到汤锅中,甜菜干洗净以后,去掉外皮切成块状,也放到糖果中,再加入适量葱姜和适量清水加热,煮开后用中火炖煮一小时,出锅前加食用盐调味。

  • 如何取一个美容院名字(如何给美容院起个好听的名字)

    说白了“精准定位”,便是“销售市场突破口”。最先,取名应当与美容店的店铺装修设计设计风格相和睦。“设计风格”一般指的是美容店的硬件配置,设备或装修,也就是顾客人眼看获得的物品。可以说设计风格与美容店老总本人的爱好品味相关,它一般通过颜色来表述老总的观念。可以说,老总的个性化不一样,所设计方案的美容店设计风格都不同样,应该是一枝独秀,别的美容店没法复制。

  • 跆拳道腰带颜色有什么意义(跆拳道腰带颜色的意义介绍)

    下面更多详细答案一起来看看吧!跆拳道腰带颜色有什么意义白带:表示空白,根本没有跆拳道知识,意味着入门阶段。黑色也代表了一种沉默和忍耐,不再轻易出手。

  • 我就是演员四个人演的戏(我就是演员最尬的助演)

    黄维德在剧中的表演并不出彩,甚至没有引起一点反响,连骂声都没有了,在演艺圈赞美参杂着批评才会走的更远,只能说没有了关注度,可惜。伊能静本和哈林玉女金童,爆出“牵手门”事件后两人于次年离婚,而黄维德也并未娶伊能静。明星作为公众人物,更应该注意自己的言行和品行,像黄维德这样有演技有颜值,却因为私生活问题跌落神坛,再不能复起,也是咎由自取,可恨可叹。

  • 葛根粉保质期多久(葛根粉保质期多久,过期一天能吃不)

    但是不可否认的是,食物都有一定的食用期限,所以葛根粉也不例外,也是有保质期的。葛根粉闻起来是无明显气味的,若家中的葛根粉闻起来有霉味或其他异味,就表示葛根粉已过期。葛根粉冲泡后大多无味或微甜,若冲泡的葛根粉味道酸涩,表示葛根粉已经过期了。将葛根粉用塑料袋密封好,防置在阴凉通风处保存,避免受潮,避免阳光直射即可。