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

相关推荐
花褪残红青杏小8 小时前
Rust图像处理第23节-图像加噪:给每个像素单独掷一次骰子
rust·webassembly·图形学
人间凡尔赛18 小时前
告别冷启动!WebAssembly + Spin 实战:Serverless 延迟从 1 秒降到 1 毫秒
后端·云原生·serverless·webassembly·spin
花褪残红青杏小2 天前
Rust图像处理第22节-从RGB到YCbCr: 让亮度和颜色分家
rust·webassembly·图形学
花褪残红青杏小2 天前
Rust图像处理第21节-最小二乘回归:用矩阵求逆解"拟合"问题
rust·webassembly·图形学
前端逗比逗5 天前
流式 Markdown 解析 + 代码块防截断闪烁
markdown·webassembly
花褪残红青杏小11 天前
Rust图像处理第20节-PCA 主成分分析:把图片压缩到 3 个数字
rust·webassembly·图形学
花褪残红青杏小17 天前
Rust图像处理第19节-RGB 色彩矩阵变换:矩阵 × 向量 = 像素变换
rust·webassembly·图形学
花褪残红青杏小18 天前
Rust图像处理第18节-分形画布缩放 + 拖拽交互:图像缩放 + f32 性能优化
rust·webassembly·图形学
花褪残红青杏小19 天前
Rust图像处理第17节-Julia 朱利亚分形:拖动常数 c 看图实时变化
rust·webassembly·图形学
花褪残红青杏小20 天前
Rust图像处理第16节-曼德博集合 Mandelbrot:用一行公式画出无限细节
rust·webassembly·图形学