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

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

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

它会输出包含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行业和研究动态。笔芯~

    推荐阅读
  • 刘恺威夜光剧本事件,夜光剧本这场闹剧

    杨幂与刘恺威离婚后,他们的女儿“小糯米”今后仍由两个人共同抚养。

  • 正月十五为什么要送灯(正月十五要送灯的原因)

    正月十五为什么要送灯正月十五这一天正是元宵节,元宵节也叫灯节。朱元璋当皇帝后,在元宵节这天去找他母亲的坟,但没有找到。为了纪念朱元璋,弘扬孝道,于是每年的正月十五元宵节这天,百姓们都给故去的亲人送灯。每年正月十五的团圆饭都在三点半前结束。

  • linux配置samba服务器的过程(samba服务器配置步骤)

    #安装sambasudoaptinstallsamba#启动samba服务sudoservicesmbdstart#创建需要共享的文件夹mkdir/home/qiao/share#设置共享文件夹的权限sudochmod-R777/home/qiao/share#添加普通用户sudouseradd-msmbuser#设置普通用户密码sudopasswdsmbuser#设置samba用户密码sudos

  • 可以吃几种健康人造食物(这些食物都是人造的)

    人造奶油是心脏疾病高发的重要诱因,长期过量食用还可能诱发肿瘤。这些食品是典型的高脂肪、高能量、高钠的垃圾食品,几乎不含营养,多吃必然有损健康。丁敏敏表示,这些食物中含肉非常少,但一颗肉丸中可能含香精、色素、食用明胶、增白剂等十余种添加剂。摄入过多亚硝酸盐会诱发食物中毒,出现头晕头痛、恶心呕吐、胸闷气短等不适,长期食用还有致癌风险。

  • 宠物可以上飞机托运吗(飞机是否可以托运宠物)

    以下内容希望对你有帮助!宠物可以上飞机托运吗飞机可以托运宠物。但不可随身携带,需要走货物托运,而不是行李托运。

  • 希望有美好的结果(拥有美好的希望)

    希望有美好的结果程清记火红的五月,是青春的日子。这次招生考试既竞争激烈,又形式新颖。报考人数多,录取计划少,考试的白热化程度可想而知。只要拥有希望,就会有奋力前行的动力,就会为自己在黑夜里点亮一盏灯,在风雨中撑起一把伞。远航的帆已经升起,前途不再遥远。

  • 甜蜜瓜种法(这几点很重要)

    蜜瓜种植适宜日照时间较长、昼夜温差较大且土壤肥沃、通风良好的沙质土壤。等待瓜秧长出来以后,每个瓜苗只留一个主秧,其余的瓜秧都要摘除。开花后就要开始授粉,陆地上的瓜可以利用昆虫授粉,而塑料大盆里种植的瓜就要人工授粉啦,促使早坐瓜、瓜坐稳。除害虫、预防虫。蜜瓜主要的病虫是瓜蚜、瓜叶螨、红蜘蛛、疫病等,这些害虫会严重影响蜜瓜的正常生长,如果不能及时的除虫、防虫还会影响蜜瓜的产量和口感。

  • 时光流逝孩子总是在不经意间长大(时间无法复制粘贴)

    时光流逝孩子总是在不经意间长大?时间无法复制粘贴,每天都不重样,珍惜和孩子在一起的每一个时刻~,今天小编就来聊一聊关于时光流逝孩子总是在不经意间长大?接下来我们就一起去研究一下吧!谢谢儿子在成长中带给我的每一份惊喜~

  • 丁达尔现象出现的条件(湖南出现丁达尔)

    据了解,这种情况叫作“丁达尔”现象,此前已出现多次。丁达尔现象,又称“丁达尔效应”,是英国物理学家约翰·丁达尔在1869年率先发现并研究的。天空中存在雾气时,阳光投射在上面,被分割成一道道光,此外空中的灰尘也可能是丁达尔现象出现的原因。天空中出现丁达尔现象过于频繁时,表明悬浮微粒增多,其中部分来自于空气污染,空气质量也下降了,所以我们要给予重视。

  • 养草鱼的水温度是多少(养草鱼的水温度多少合适)

    养草鱼比较合适的水温是在26-32℃之间。当水温处于这个区间以内,草鱼的生命活性最强,生长得最快。如果养殖条件达不到,则需要将温度控制在0-38℃之间。如果水温过低或者过高,它的生长就会受到抑制。