在设备上通过WebAssembly本地执行LLM

在这个WasmEdge演示中,Second State的Michael Yuan展示了如何创建一个轻量级执行环境,以运行大型语言模型。

译自Demo: Use WebAssembly to Run LLMS on Your Own Device with WasmEdge,作者 B. Cameron Gain。

11月在北美KubeCon+CloudNativeCon大会上,Second State联合创始人Michael Yuan(该公司为云原生环境提供Wasm,同时也是CNCF项目WasmEdge的维护者)向The New Stack记者B. Cameron Gain展示了WasmEdge的工作原理。

Yuan展示了开源的WasmEdge如何使用WebAssembly在您自己的设备上本地运行大型语言模型,无论是Mac、笔记本电脑还是像树莓派这样的边缘设备。使用轻量级的执行环境,可以在这些不同类型的设备上高效地运行更大的语言模型。

Yuan表示: "ChatGPT无法在这些环境中运行,但是使用像WasmEdge这样轻量级的大型语言模型,你就可以运行它"。

通常与机器学习相关的Python不是方程式的一部分。Yuan说:"为什么不使用Python?在Python中进行大规模语言推理,您需要整个PyTorch和GPU驱动程序等等,这些东西大约是3GB,我不敢在我的电脑上安装它。"

Yuan补充说:Python代码不是为了可移植性而设计的,因为在不同的计算机上运行LLM意味着"您必须重新开始"。他表示:"Wasm运行时是一个虚拟机,类似于JVM,所以它提供了跨平台兼容性,不仅跨CPU,还跨GPU。"

此外,Yuan表示,Python是一种解释型语言,在某种程度上其速度很慢,因为在将Python用于机器学习时,用户必须依赖底层的基于C的库(如PyTorch)"才能真正完成工作"。他补充说:"因此,通过Wasm,我们使用了更多类似C的语言,比如Rust,来弥合这一差距。"

小步快跑

正如Yuan展示的,只有三个步骤。第一步是安装Water Manage,这里是命令。如您所见,会议的网络连接很糟糕,所以下载和安装的过程可能需要一分钟左右。一旦安装完成,您将不需要互联网连接来进行未来的安装。

第二步是下载一个大型语言模型。这里是命令,您可以参考文档获得更多详细信息。这是Llama模型之一。

最后,第三步只涉及简单地剪切和粘贴Wasm应用程序。

Yuan推荐了从何处找到要插入WasmEdge的LLM数据:Hugging Face仓库,这里有成千上万的LLM教程模型可供下载。他表示:"其中一些可以生成SQL查询,一些可以生成代码,一些可以回答各种不同的问题,所以您可以下载喜欢的模型,并将其放入WasmEdge中。"

本文在云云众生yylives.cc/)首发,欢迎大家访问。

相关推荐
一点一木1 天前
WebAssembly:Go 如何优化前端性能
前端·go·webassembly
rocksun1 个月前
通过Lit和Shoelace了解Web Components的优缺点
webassembly
FengCh1 个月前
Web Assembly 构建 C++ 代码在 JavaScript 环境调用
webassembly
前端小魔女2 个月前
Rust赋能前端:为WebAssembly 瘦身
前端·rust·webassembly
码力码力我爱你2 个月前
QT + WebAssembly + Vue环境搭建
vue.js·vue·wasm·webassembly·emscripten
码力码力我爱你2 个月前
Vue Application exit (SharedArrayBuffer is not defined)
linux·前端·javascript·qt·vue·wasm·webassembly
Atypiape23 个月前
Webpack 5 支持访问 Rust WebAssembly 线性内存
javascript·rust·wasm·webassembly
大宝贱3 个月前
基于ffmpeg.wasm实现的视频格式转换工具
ffmpeg·wasm·webassembly·vitepress·视频格式转换
vivo互联网技术4 个月前
基于 Three.js 的 3D 模型加载优化
rust·three.js·webassembly·3d模型·web3d