8 ms·
Note that running these GGUF models currently requires a forked version of llama.cpp: https://github.com/ggerganov/llama.cpp/pull/4406 https://github.com/ggerga
by loudmax 3y ago
Note that running these GGUF models currently requires a forked version of llama.cpp:
https://github.com/ggerganov/llama.cpp/pull/4406 https://github.com/ggerganov/llama.cpp/pull/4406
The GGUF handling for Mistral's mixture of experts hasn't been finalized yet. TheBloke and ggerganov and friends are still figuring out what works best.
The Q5_K_M gguf model is about 32GB. That's not going to fit into any consumer grade GPU, but it should be possible to run on a reasonably powerful workstation or gaming rig. Maybe not fast enough to be useful for everyday productivity, but it should run well enough to get a sense of what's possible. Sort of a glimpse into the future.
- suslik 3y agoThis can fit into a Macbook Pro with integrated memory. With all the recent development in the world of local llms I regret I settled for only 24Gb RAM on my laptop - but the 13b models work great.
- ComputerGuru 3y agoRecent CUDA releases let you use shared GPU memory instead of (only) dedicated vram, but the pci-e bandwidth constrains the inference speed significantly. How much faster is GPU access to the unified memory model on the new Macs/how much less of a hit do you take? Also, given the insane cost premium apple charges per extra GB of RAM (at least when I was last shopping for a device), do you come out ahead?
- michaelt 3y ago> How much faster is GPU access to the unified memory model on the new Macs/how much less of a hit do you take? Intel Core i9-13900F memory bandwidth: 89.6 GB/s, memory size up to 192 GB Apple M3 Pro memory bandwidth: 150GB/s, memory size up to 36GB Apple M3 Max memory bandwidth: 300GB/s, memory size up to 128GB GeForce RTX 4090 memory bandwidth: 1008 GB/s, memory size 24GB fixed, no more than two cards per PC.
- a_wild_dandan 3y agoApple M2 Ultra: "up to 192GB of memory with 800GB/s of unified memory bandwidth for workstation-class performance."
- ComputerGuru 3y agoSo M2 is more advanced than M3?
- narism 3y agoFor memory bandwidth at the lower tiers, yeah. M3 Max still has 400GB/s and since the M2 Ultra (800GB/s) is just two M2 Maxes glued together (400GB/s each), the eventual M3 Ultra should be comparable.
- ComputerGuru 3y agoThat’s like ThreadRipper, thanks for the info. That’s the bandwidth from cpu to memory controllers, is there really no bottleneck to the iGPU?
- ComputerGuru 3y agoI don't think the numbers sufficiently capture the limitation. The Intel memory bandwidth speed you quoted would be for CPU-based inference, but not for gpu inference using shared system memory for spillover model size past the dedicated gpu vram. I think that would necessarily limit parts of the inference procedure (not sure how the split would work, and it would probably depend on whether you're using something like flash attention or not) to the available PCI-e 3.0 or 4.0 available bandwidth, as the gpu needs to communicate over the PCIe bus then over the chipset memory bus. A GPU connected to a PCIe 3.0 x16 electrical uplink would be constrained to ~16GB/s, or ~32GB/s if it were a PCIe 4.0 uplink instead. Although those numbers imply slower bandwidth than CPU inference, that bottleneck would only be when paging in or out (or directly accessing?) layers overflowed to the shared system ram, so they don't really represent much on their own.
- 3y ago
- jchw 3y agoLLMs seem to be a bit more accessible than some other ML models though, because on a good CPU, even LLaMA2 70b is borderline usable (bit under a token/second LLaMA2 70b on an AMD Ryzen 7950X3D, using ~40 GiB of RAM.) Combined with RAM being relatively cheap, seems to me like this is the most accessible option for most folks. While an AMD Ryzen 7950X3D or Intel Core i9 13900K are relatively expensive parts, they're not that bad (you could probably price out two entire rigs for less than the cost of a single RTX 4090) and as a bonus, you get pretty excellent performance for code compilation, rendering, and whatever other CPU-bound tasks you might have. If you're like me and you already have been buying expensive CPUs to speed up code compilation, the fact that you can just run llama.cpp to mess around is merely a bonus.
- mrob 3y agoLLM inference is bottlenecked by memory bandwidth. You'll probably get identical speed with cheaper CPUs.
- dannyw 3y agoYep, get the fastest memory you can. I wish there were affordable platforms with quad DDR5.
- milkcr4t3 3y agoThe cache size of those 3d CPUs should definitely play some sort of role. I can only speculate that it would help mitigate latency with loose timings on a fast OC among other things.
- jchw 3y agoI'd like to see some benchmarks. For one thing, I suspect you'd at least want an X3D model for AMD, due to the better cache. But for another, at least according to top, llama.cpp does seem to manage to saturate all of the cores during inference. (Although I didn't try messing around much; I know X3D CPUs do not give all cores "3D V-Cache" so it's possible that limiting inference to just those cores would be beneficial.) For me it's OK though, since I want faster compile times anyway, so it's worth the money. To me local LLMs are just a curiosity. edit: Interesting information here. https://old.reddit.com/r/LocalLLaMA/comments/14ilo0t/extensive_llamacpp_benchmark_more_speed_on_cpu_7b/ https://old.reddit.com/r/LocalLLaMA/comments/14ilo0t/extensi... > RAM speed does not matter. The processing time is identical with DDR-6000 and DDR-4000 RAM. You'd really expect DDR5-6000 to be advantageous. I think that AMD Ryzen 7xxx can at least take advantage to up to 5600. Does it perhaps not wind up bottlenecking on memory? Maybe quantization plays a role...
- irthomasthomas 3y agoAccording to their PR, this should only need the same resources as a 13B model. So 26GB @ f16, 13GB at f8. Edit: I may have misread it, they mention it having the same speed and cost as a 13B model, and I assumed that referred to vram footprint, too, but maybe not... "Mixtral is a sparse mixture-of-experts network. It is a decoder-only model where the feedforward block picks from a set of 8 distinct groups of parameters. At every layer, for every token, a router network chooses two of these groups (the “experts”) to process the token and combine their output additively. This technique increases the number of parameters of a model while controlling cost and latency, as the model only uses a fraction of the total set of parameters per token. Concretely, Mixtral has 46.7B total parameters but only uses 12.9B parameters per token. It, therefore, processes input and generates output at the same speed and for the same cost as a 12.9B model."
- andersa 3y agoAll parameters still need to be loaded into vram, it'll dynamically select two submodels to run on each token so it would be extremely slow to swap them out.
- behnamoh 3y agoThen what's the advantage of this technique compared to running a +50B model in the first place?
- nulld3v 3y agoThe model is quicker to evaluate. So quicker responses and more throughput.
- hnuser123456 3y agoSpeed, assuming you have the RAM to have it all loaded, it's faster than a fully connected network of the same size by 4x
- rileyphone 3y agoIt's better if you're hosting inference, worse if you are using it for a dedicated purpose. Presumably in the future it might make sense to share one local MoE among the different programs that use it, especially for a demand-heavy application like programming.