Llamafile – The easiest way to run LLMs locally on your Mac(ppaolo.substack.com) |
Llamafile – The easiest way to run LLMs locally on your Mac(ppaolo.substack.com) |
It's unsafe and it takes all the choice and control away from you.
You should, instead:
1) Build a local copy of llama.cpp (literally clone https://github.com/ggerganov/llama.cpp and run 'make').
2) Download the model version you actually want from hugging face (for example, from https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.1-GGU..., with the clearly indicated required RAM for each variant)
3) Run the model yourself.
I'll say this explicitly: these llamafile things are stupid.
You should not download arbitrary user uploaded binary executables and run them on your local laptop.
Hugging face may do it's best to prevent people from taking advantage of this (heck, they literally invented safetensors), but long story short: we can't have nice things because people suck.
If you start downloading random executables from the internet and running them, you will regret it.
Just spend the extra 5 minutes to build llama.cpp yourself. It's very, very easy to do and many guides already exist for doing exactly that.
Compiling llama.cpp is relatively easy. Compiling llama.cpp for GPU support is a bit harder. I think it's nice this OS portable binaries of llama.cpp applications like main, server, and llava exist. Too bad there's no opencl ones. The only problem was baking in the models. Downloading applications off the internet is not that weird. After all, it's the recommended way to install Rust, etc.
It is not.
For Mac using M1 as per this specific post, you run “make”.
If you have an older Intel Mac and have to run using cpu, you run “make”.
> Downloading applications off the internet is not that weird. After all, it's the recommended way to install Rust, etc.
Downloading applications from trusted sources is not that weird.
Eg. Rust, from the rust organisation.
Downloading and running user uploaded binaries is a security nightmare.
Llamafile is the new best way to run a LLM on your own computer (simonwillison.net)
https://news.ycombinator.com/item?id=38489533
And
Llamafile is the new best way to run a LLM on your own computer - https://news.ycombinator.com/item?id=38489533 - Dec 2023 (45 comments)
Llamafile lets you distribute and run LLMs with a single file - https://news.ycombinator.com/item?id=38464057 - Nov 2023 (286 comments)
(myself included)
The llava multi-modal models are fun. I find requesting json formatted output lets you overcome the limited response length baked in. https://huggingface.co/mys/ggml_bakllava-1 (a CLIP+Mistral-7B instead of CLIP+llama2-7B) is my favorite.
The rest consists of going through HN Search results and the relevant threads with the help of a lot of keyboard shortcuts (https://news.ycombinator.com/item?id=35668525).
One of these years I do want to make all this available!
Re: "simplicity", sure for you and I it's simple to compile llama.cpp, but it's like asking a regular user to compile their applications themselves. It's not that simple for them, and should not be required if we want to make AI and OSS AI in particular more mainstream.
Open terminal
curl -LO https://huggingface.co/jartine/llava-v1.5-7B-GGUF/resolve/ma...
chmod 755 …
./…
Open localhost:8080 in browser
To make this accessible to a broader cohort you would package it into an app and put it somewhere with provenance, eg. A well known GitHub account or App Store.
The solution, as shown, doesn’t solve either of the problems you’ve said are problems it attempts to solve.
It is a bad solution.