Llama.rs – Rust port of llama.cpp for fast LLaMA inference on CPU
github.com
github.com
https://github.com/Noeda/rllama/ (pure Rust+OpenCL)
https://github.com/setzer22/llama-rs/ (ggml based)
https://github.com/philpax/ggllama (also ggml based)
There's also a discussion on GitHub issue on setzer's repo to collaborate a bit on these separate efforts: https://github.com/setzer22/llama-rs/issues/4
I haven’t had time to look into this in detail, but apparently llama.cpp doesn’t support it yet [2] though it will soon. And the original implementation only works with CUDA.
I'm the author of the last one, rllama and it has no quantization whatsoever. I don't think any of these are improvements over llama.cpp for end-users at this time. Unless you really really really want your software to be in Rust in particular.
Ie imagine you feed in the last year of chatlogs of yours, and then ask the Assistant queries about the chatlogs. Compound that with your Wiki, itinerary, etc. Is this possible with LLaMA? Where might it fail in doing this?
(and yes, i know this is basically autocomplete on steroids. I'm still curious hah)
You probably would be better off fine-tuning the LLaMA model like they did with Alpaca though.
With how fast llama.cpp is changing, this seems like a lot of churn for no reason.
It seems like most of the work would simply be moving the inference stuff (feeding tokens to the model and sampling) outside of main(). Most of the other functionality such as model weights loading are already handled in their own functions.
Looking at how the inference runs, this shouldn't be a big problem, right? https://github.com/setzer22/llama-rs/blob/main/llama-rs/src/...
I think one reason in this particular case may be the 4-bit quantization.
From what I know. LLaMa is built in Python and assuming PyTorch, does this port in Rust make use of Python process or is it what LLaMA algorithm is fully written in Rust?
PyTorch is only needed for reading the original weights while converting them.
OK? Just don't. Let us have this. :)
It isn't rust specific, I'd similarly like to know if someone rewrote something in haskell or austral, or lisp. Not because of the languages, but because they make good stories.
And yet, sometimes I reopen the repository and reread my own code like it's a book. I am weird.