Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
-
No low-effort posts. This is subjective and will largely be determined by the community member reports.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
view the rest of the comments
For chat usage (which is strictly a more efficient way to generate code on the LLM's part, although you have to keep carefully guided and compartmentalized otherwise it typically requires a lot more testing and sometimes back-and-forth iteration on your part) 12GB is plenty to run many decent LLMs, you'll typically want to use a Q4 quantization to make models with larger parameter fit into smaller memory, sometimes an IQ2 or IQ3 if you really want a particular model.
For agentic usage (where the LLM is trained and optimized to use a harness like this to start requesting tool calls and getting their results and using the results of the tool calls to inform what it's trying to do) it's quite a bit more challenging to do on consumer hardware at a tolerable speed. The tools often generate large amounts of output which then take a long time to process, and the models and harnesses are both typically quite a bit stupider about using your limited resources efficiently. If you're using to commercial "frontier" agentic models like Claude Code you're going to have a bad time.
That said, it is absolutely possible to do agentic AI on consumer hardware (just the GPU you have, not 6 of them), as long as you're reasonably patient, using a harness properly tuned for efficiency. Out-of-the-box, many if not most are designed for remote API usage, even the "open source, local" ones realistically rely on free tier APIs and are inherently wasteful in terms of them not really caring how many tokens you burn in these remote datacenters and they're expecting to just be able to iterate over and over again until they get it right. You don't have that luxury when you're getting slow tokens.
Is PewDiePie's any better or more efficient? I don't know, I haven't tried it yet. I prefer more minimal harnesses personally, OpenCode is about the most usable I've found personally, although I'm starting to experiment with Pi-mono (called Pi, but that's unsearchable) which seems very promising, and I know quite a few people who have had good successful agent usage with Hermes Agent.
I'm not going to pretend it's going to be easy or that you'll necessarily have very good results. I am pretty lukewarm on AI as a whole, but I am personally deeply invested in making sure I have fully local access to it in as much capacity as is currently technologically possible, as a personal digital sovereignty issue.
As for hardware, I have a 12GB card myself and you don't really need to fit everything into VRAM these days. I have an AMD X3D CPU which allows me to offload some of the model to system RAM with pretty decent performance, maybe it's prohibitive on different architectures or configurations I don't know but it's worth a try.
glm-4.7-flash:Q4_K_Mfrom ollama is the model I've had the most consistent success with and with ollama running it with the context window set to 50,000 (context should also be set to be quantized to Q4_K_M), I end up with almost half of it offloaded to system RAM and it still runs quite fast thanks to the flash attention feature. I've worked with gemma4 quite a lot too and it's definitely really fast but it's also a bit unstable/weird at times, at least the heretic versionhf.co/Stabhappy/gemma-4-26B-A4B-it-heretic-GGUF:Q4_K_MI'm running is. Still, if you really do need to fit everything into a smaller set of RAM you might try the gemma4 E4B models which clock in around 9GB when quantized. Qwen3.6 is I guess supposed to be really good too and should fit nicely on your 12GB card, but I haven't had much opportunity to play with it yet. Qwen3 and 3.5 felt rather disappointing to me for agentic use but YMMV.You're not completely going to outsource all software and all code you write to AI using a local model, the way companies are doing with those commercial models. But I consider that an advantage, not a flaw. I find it's much more useful to have it help, suggest and advise, not to completely replace everything I'm doing. Yes, sometimes it's slow and sometimes it's wrong, but so are other people when I ask them sometimes. I'm prepared for it, and you should be too. Don't get complacent.
Thank you for that writeup.
Do you know how important the parameter size is? 12b, 24b, 128b, etc. Does it really improve performance or is it like megapixels in a camera: more megapixels don't necessarily mean a better picture?
And what's "quantisation". Context compression or something?
I've been considering buying a better card to test models (also want to be personally sovereign), but NVIDIA on linux gives me the jeebies and, last i checked, AMD hasn't released anything with more than 20GB in a while. In fact, figuring out hardware requirements has been tough and I'm considering just riding this whole thing out. Maybe the bubble will collapse and bring prices down to something reasonable.
I'm not an expert by any means I'm just a dabbler, but my understanding is: In theory, more parameters make richer, wider, and deeper model knowledge possible, and with extensive enough training, those parameters could all be important. That said, there is a lot of megapixel-like inflation and there is no guarantee that any of those parameters are actually useful so in practice, really "advanced" models tend to do a better job of maximizing the usefulness of the limited parameters they do have to run on smaller devices. In general, I tend towards the highest parameter size of a particular model that I can reasonably run. My typical target range is between 8GB up to maybe 20GB, which depending on model might be in the 9b to 30b parameters range, and I might even be erring on the wrong side of this and maybe I'd even be better off with smaller parameter models.
There's also a lot of models nowadays that use "active" parameters, so the model itself will have X parameters, but then it will determine which of those parameters are most relevant to the task or query at hand, and prune off all but the most relevant ones, so you might have a 30B model, but as soon as you run it, it turns itself into a specialized 4B model. You still need to load the whole model into some kind of RAM typically so it can decide which parameters are relevant, but once it does, it will run much faster. This is another way you can try to run larger models on more limited hardware. Older "dense" models that don't use this technique with all parameters always active are still typically preferred for some tasks like coding, but YMMV.
Either way, it's still sort of a crapshoot, there's a lot of randomness and subjectiveness, and very small parameter models often seem to realistically be able to outperform much bigger models when they are "good", "well-trained" advanced models, and they will typically be much faster, so if you don't like the response, it's much easier to just ask again or retry. I tend to trust the community wisdom when it comes to this, although I also think there's a lot of cargo-culting and herd-following going on, I don't know enough to do anything too much different from the herd myself, other than be willing to experiment a little. Latest is not always greatest, but in a field as quickly moving as this it often is. Don't be afraid to try older models, or less popular models. You'll often be disappointed, but not always.
Quantization is a form of compression, basically instead of using floating point precision to weigh the "strengths" of the various parameters (default is typically F16 or 16 bits per parameter weight), they get quantized down to smaller groups of bits. Q4 means you're using 4 bits (essentially ranking each parameter on an integer scale from 0 to 15 instead of a floating point from 0 to 1) and in practice this is usually almost as good. Q8 would be even closer to the original full-size model, but smaller quants like Q2 and Q3 start losing quality. Other quantization-related techniques like i-Matrix (imat) map these values non-linearly and situationally, which is particularly helpful on quantizations Q3 and smaller, which are then called IQ3. The community has adopted Q4 as pretty much the go-to quantization level as the best available compromise between having more parameters being squeezed into less memory without destroying the inherent accuracy of those parameters.