前端工程师的 AI 实战课
柳博文
ABB 高级研发工程师,前阿里前端算法工程师
1083 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已更新 25 讲/共 27 讲
第六章 技术热点 (1讲)
前端工程师的 AI 实战课
15
15
1.0x
00:00/00:00
登录|注册

24|端侧模型下的JavaScript的性能局限如何解决?

你好,我是柳博文,欢迎和我一起学习前端工程师的 AI 实战课。
前面的课程里,我们在端侧使用 JavaScript 尝试过不少模型预测任务,即便这些任务计算量都比较小,我们仍然能切身体会到 JavaScript 执行矩阵运算等任务时的局限。
讲到 JavaScript 的性能,肯定离不开 V8 引擎。对于 JavaScript 这门极度依赖宿主环境的脚本语言,我相信包括我在内的所有前端工程师追求的极致目标,就是高性能地执行 JavaScript。
那么,今天,我们就来讨论一下端侧模型下的 JavaScript 的性能局限到底在哪里,以及有哪些方法可以改善其端侧模型下的性能。

端侧模型下 JavaScript 的局限

想要提升性能,我想我们需要首先弄清楚两个问题,一是了解矩阵运算对硬件的要求,二是 V8 执行 JavaScript 的方式。
首先是矩阵运算对硬件的要求,关于矩阵运算的原理以及在 AI 模型训练过程中的作用,在第二章中的原理部分(第四节课第八节课)已经描述清楚,有需要请进行回顾。
这里我们重点聊一下为什么我们需要使用 GPU 为第一选择来训练模型,而 CPU 只是备选。这就需要我们对比一下 GPU 和 CPU 的架构设计和运行方式。

CPU 和 GPU 对比

确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. JavaScript在端侧模型下的性能局限主要源于矩阵运算对硬件的要求以及V8执行JavaScript的方式。 2. GPU相比CPU更适合处理大规模并行计算任务,因此在模型推理相关的运算中,调用GPU可以提升性能。 3. 浏览器的V8在执行JavaScript时主要使用CPU进行计算,只有在最后完成位图的生成时才调用GPU进行图像生成。 4. 优化方向包括引入GPU帮忙处理模型推理任务、分担浏览器V8主线程压力以及简化V8执行JavaScript的步骤。 5. Web Worker技术可以通过在浏览器中创建后台线程,将模型推理任务分配到Worker线程中执行,从而避免长时间任务阻塞用户界面,提升主线程的响应性能。 6. WebAssembly(WASM)提供了一种在网页上运行高性能应用程序的方式,通过将高级语言编译成浏览器可以直接执行的字节码,可以加速端侧模型的推理任务。 7. WASM支持将其他高级语言编写的代码编译成为V8能够执行的字节码,从而减少执行时间,提升性能。 8. GPU.js是一个基于WebGL的JavaScript库,可以将JavaScript代码编译为WebGL着色器,并在GPU上运行,从而加速端侧计算任务。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《前端工程师的 AI 实战课》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部