win下的LlamaEdge,性能不够,技术来凑

主题

AI应用测试了许多,苦于囊中羞涩,机器又差,经常看到部署就望而却步,本来最开始的初衷是寻找一个小型化的运行时,结果事与愿违,发现了新型大陆,让我的破烂机器,也能简单跑起来lama的对话服务,以下就安装过程做个分享,以作备忘~

WasmEdge

WasmEdge 是一款轻量级、高性能、可扩展的 WebAssembly 运行时,适用于云原生、边缘和去中心化应用。它支持无服务器应用、嵌入式函数、微服务、UDF、智能合约和物联网设备。WasmEdge 目前是 CNCF(Cloud Native Computing Foundation)的沙盒项目。

WasmEdge 运行时为其包含的 WebAssembly 字节码程序提供了良好定义的执行沙盒环境。该运行时提供了对操作系统资源(例如文件系统、套接字、环境变量、进程)和内存空间的隔离和保护。WasmEdge 最重要的使用场景是将用户定义的或社区贡献的代码作为软件产品中的插件(例如 SaaS、数据库、边缘节点,甚至区块链节点)安全地执行。它使第三方开发者、供应商、提供者和社区成员能够扩展和定制软件产品。

编译后的 Wasm 文件是交叉平台的。可以使用同一个 Wasm 文件跨操作系统(例如 MacOS、Linux、Windows SL)、CPU(例如 x86、ARM、Apple、RISC-V)和 GPU(例如 NVIDIA、Apple)运行应用,

LlamaEdge

LlamaEdge可以轻松地在本地运行 LLM 推理应用程序并为 Llama2 系列 LLM 创建与 OpenAI 兼容的 API 服务。 Rust+Wasm 堆栈在 AI 推理中为 Python 提供了强大的替代方案。

  • 轻。总运行时间大小为 30MB。
  • 快。GPU 上的全原生速度。
  • 便携式。不同 CPU、GPU 和操作系统上的单个跨平台二进制文件。
  • 安全。在不受信任的设备上进行沙盒和隔离执行。

部署过程

WasmEdge下载

通过 【下载地址】可进行相关release版本的下载,直接搞个window版本的, 默认安装路径是C:\Program Files\WasmEdge,记得配置环境变量才可在cmd执行命令幺

cmd 复制代码
wasmedge --version

LlamaEdge的Wasm文件下载

根据不同的需求选择处理,此处使用的是对话模型

bash 复制代码
curl -LO https://github.com/second-state/LlamaEdge/releases/latest/download/llama-chat.wasm

模型下载

模型4.9G,下载可能要耗费一些时间

bash 复制代码
git clone https://www.modelscope.cn/pooka74/LLaMA3-8B-Chat-Chinese-GGUF.git

WasmEdge的插件下载

这里会遇到比较多的坑点,因为许多在win下的教程到这里,就说的是win因为没有ggml插件支持,所以必须用wsl那种内置linux系统去支持,因为WasmEdge本身有内置sh安装命令,比较容易一些,而且许多来源依据 bug70也就终止了

cmd 复制代码
unknown option: nn-preload

当你执行了LlamaEdge的运行命令时,提示出这个时,找官网资料发现了问题所在,win下的教程写的有些含糊不清,因此许多人到此处就放弃了探究

ggml插件选择问题

如上图:我的电脑不是英伟达的显卡,就只能cpu渲染,WasmEdge-plugin-wasi_nn-ggml-0.14.1-windows_x86_64.zip

插件位置问题

官网上和其他的教程说的可以放在lib或者plugins下,然并卵,都是唬人的,具体

cmd 复制代码
wasmedge  --dir .:. --nn-preload default:GGML:AUTO:LLaMA3-8B-Chat-Chinese-Q4_K_M.gguf llama-api-server.wasm -p llama-3-chat 

--nn-preload必须将相关插件放在bin下头,才可以支持 你以为就到此结束了吗,并没有,我选择了相关的ggml组件,成功的执行了启动命令,好像终止了,也没什么提示,整的我没有了头绪

没办法,我想着换个插件看看行不行,找了一下noavx好像比较趋近,下载WasmEdge-plugin-wasi_nn-ggml-noavx-0.14.1-windows_x86_64.zip这个插件,终于..等到了结尾

运行情况

cmd 复制代码
wasmedge  --dir .:. --nn-preload default:GGML:AUTO:LLaMA3-8B-Chat-Chinese-Q4_K_M.gguf llama-api-server.wasm -p llama-3-chat  

终于成功的运行了起来,至于对话模型的页面处理端,LlamaEdge的教程写的比较清楚,chatbot-ui包放在目录下就行

最终,成功的在本地启动了,但纯cpu搞的,16g,一句话要响应8分钟左右,可能是我用的模型token比较大

总结

相较于其他的环境安装,当前教程的安装环境占用很小,WasmEdge,LlamaEdge的依赖很小,也就个模型比较大,其他的基本没产生额外的环境开销,算是比较友好的单机跑模型方式了、这篇教程,查了很多前期的资料,基本有效的参考教程很少,都是千篇一律的linux教程,希望给后续的铁子们,较少不必要的时间浪费和踩坑。

发现身边事儿、聊点周奇遇,我是沈二,期待奇遇的互联网灵魂~、一个互联网技术OG wx:breathingss,来交流吧

相关推荐
香饽饽~、1 小时前
【第十一篇】SpringBoot缓存技术
java·开发语言·spring boot·后端·缓存·intellij-idea
程序员爱钓鱼2 小时前
Go语言实战指南 —— Go中的反射机制:reflect 包使用
后端·google·go
ℳ₯㎕ddzོꦿ࿐2 小时前
Spring Boot 集成 MinIO 实现分布式文件存储与管理
spring boot·分布式·后端
xingshanchang4 小时前
PyTorch 不支持旧GPU的异常状态与解决方案:CUDNN_STATUS_NOT_SUPPORTED_ARCH_MISMATCH
人工智能·pytorch·python
reddingtons5 小时前
Adobe Firefly AI驱动设计:实用技巧与创新思维路径
大数据·人工智能·adobe·illustrator·photoshop·premiere·indesign
CertiK5 小时前
IBW 2025: CertiK首席商务官出席,探讨AI与Web3融合带来的安全挑战
人工智能·安全·web3
Deepoch6 小时前
Deepoc 大模型在无人机行业应用效果的方法
人工智能·科技·ai·语言模型·无人机
Deepoch6 小时前
Deepoc 大模型:无人机行业的智能变革引擎
人工智能·科技·算法·ai·动态规划·无人机
kngines6 小时前
【字节跳动】数据挖掘面试题0003:有一个文件,每一行是一个数字,如何用 MapReduce 进行排序和求每个用户每个页面停留时间
人工智能·数据挖掘·mapreduce·面试题
Binary_ey6 小时前
AR衍射光波导设计遇瓶颈,OAS 光学软件来破局
人工智能·软件需求·光学软件·光波导