在设备上通过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/)首发,欢迎大家访问。

相关推荐
前端逗比逗2 天前
AI 前端落地实战:SSE 流式输出、断点续传、打字机渲染
前端·webassembly
k4m7v2pz15 天前
用 Rust 重造 Java 的 CLI 分发体验:从 java -jar 到 wasmtime run
rust·跨平台·webassembly·wasmtime·wasi·java-jar
红尘散仙18 天前
TypeScript WIT Guest:类型约束与 ComponentizeJS 工程化
rust·typescript·webassembly
红尘散仙18 天前
从 dsh 的插件系统出发:为什么我要探索 WIT 与 Wasm Component Model
rust·typescript·webassembly
红尘散仙18 天前
从 WIT 到 Wasmtime:构建 Rust Component 工程
rust·typescript·webassembly
Thneonl24 天前
用 WebAssembly 给不可信插件上镣铐:capability 沙箱模型实践
webassembly
szp200525 天前
为了在浏览器里跑多线程 ONNX 推理,我把自己的支付浮层弄挂了
前端·webassembly
红尘散仙1 个月前
浏览器不能监听端口、没有文件系统,凭什么能点对点传文件?
rust·webrtc·webassembly
执子念的飞鱼1 个月前
Vue 3 文件预览落地:鉴权 Blob、Worker/WASM 与内网子路径部署
vue.js·webassembly
花褪残红青杏小1 个月前
Rust图像处理第24节- 噪声模型 + 中心极限定理:椒盐噪声 + CLT 可视化
rust·webassembly·图形学