WasmEdge / WasmEdge

WasmEdge is a lightweight, high-performance, and extensible WebAssembly runtime for cloud native, edge, and decentralized applications. It powers serverless apps, embedded functions, microservices, smart contracts, and IoT devices.

Home Page:https://WasmEdge.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LFX Mentorship (Mar-May, 2024): Integrate MLX as a new WASI-NN backend

hydai opened this issue · comments

Summary

LLM is a hot topic, there are more and more frameworks to make the execution of LLM faster. WasmEdge already integrated the llama.cpp as one of the backend. And we want to bring more. MLX is an array framework on Apple silicon created by Apple machine learning research. With MLX, we believe it can have a huge improvement on macOS.

Details

  • Pre-test: To apply for this mentorship, you MUST finish a pre-test. Pre-test link: #3182
  • Expected Outcome: A new plugin provides an MLX WASI-NN backend, a test suite for validating the plugin, documents, and examples for explaining how to use the plugin.
  • Recommended Skills: C++, Wasm
  • Mentor(s):

Appendix

  1. MLX: https://github.com/ml-explore/mlx
  2. WASI-NN: https://github.com/second-state/wasmedge-wasi-nn
  3. WASI-NN llama.cpp backend(check ggml.h and ggml.cpp): https://github.com/WasmEdge/WasmEdge/tree/master/plugins/wasi_nn

Hi @hydai! I am interested in working on this project under LFX mentorship.

Hi @hydai !I would like to work on this issue under LFX mentorship.

Hi @hydai, I am interested in working on this issue as well, having been a part of MLX community, it seems great

Just wondering if there is any chance that this could be implemented in rust? I am currently working on a rust binding of mlx.

Just wondering if there is any chance that this could be implemented in rust? I am currently working on a rust binding of mlx.

I don't think we would be interested in an unofficial support binding because we would like to sync with the upstream constantly.