I have avoided AI (LLMS) because it didn’t seem nearly useful enough to warrant supporting these tech assholes. Is there anyway to use it locally on a normal device (16 Gb ram, 8 year old Geforce graphics, etc?). Can I just slow it down and get it to work locally?

  • cecilkorik
    link
    fedilink
    English
    39•22 hours ago

    Sure, there are open-weight models and many of them are very usable on quite limited hardware, some can even run on phones which is ridiculous. Don’t expect paid-service-level speed or abilities or even free-tier of those same services where it’s running on datacenter hardware, but running locally on reasonable consumer hardware it’s certainly possible to get close to that, at least sometimes, in some situations. YMMV depending on your configuration and your needs. Most of the good open-weight models are in fact originally released by billionaire asshole companies who have the resources to actually put down these foundations (but a lot of the best open-weight releases are coming from China, which is its own sort of concern), but how and why they get released is not really the important part for us because once they’re released, they’re released forever and people can take them and adjust them and re-train them for all kinds of different purposes. You just have to be aware of where they came from. On their own, they do not read your disk or phone home (they are not capable of it without an external client enabling and allowing them to use tools at all). They are just text input, and text output (or images/audio input using mmproj techniques, or stable diffusion for image/audio generation, those are totally different cans of worms and outside the scope of this, but it can be done) They’re ultimately just text generators, but some of them are trained to general particular formats of text that tell an external software when it should try to use tools.

    Personally, I found ollama the easiest way to get started, but I’m sort of a minimalist and started out very casual (and in some ways still am). Another place that looked nice to start out with was the desktop application “Jan”. OpenWebUI was relentlessly recommended to me but I found it a bit buggy and unnecessarily resource intensive and ultimately dropped it. I tried Librechat also and it was a little better but ultimately I had pretty similar problems with it. (A lot of stuff in the AI field is vibe-coded slopware, and it really shows sometimes, be warned and be aware) Capek is a very minimal alternative web chat frontend that I’ve kind of settled on personally. I find minimalism is the best way I can think of to avoid all the feature-bloated insecure AI slop. I don’t know if it’s actually helping or a good strategy, but it’s the strategy I’ve chosen.

    Can I just slow it down and get it to work locally?

    Technically yes, but pushed too far it slows down dramatically to the point of not really being useful anymore, unless you’re careful about how you do it. Key things to look for:

    • File size/download size, and memory usage are pretty much the same number. Everything in the file has to be loaded into preferably VRAM. Most of the time you can go a little bit over and the leftovers will be loaded into system RAM for your CPU to process instead and this can be manageable, but often slows things down dramatically.
    • Quantization (most widespread is Q4_K_M) trades a tiny bit of model quality/precision for vastly smaller sizes and Imatrixes (IMAT, IQ_*) have been developed to make even smaller sizes viable, but with somewhat more significant damage to the quality of the model’s processing and outputs.
    • Uncensoring (common terminology and keywords include abliterated/abliteration, heretic, unchained/unleashed, etc) is often included in unofficial open-weight models and reduces or removes the refusal behaviors of the model (telling you it can’t help you with that because blah blah blah) which can be annoying when it’s simply misunderstanding the request or false-triggering or if you just don’t want the model’s training dictating its own morality to you. Done poorly it can make the model stupid and broken, especially on brand-new models or that haven’t been heavily experimented with yet, but most of the time the community gets the models uncensored pretty smoothly after some time.
    • Some models are trained to try to use external tools when they’re told they’re available but it’s usually not their default mode and they typically won’t even try unless you’re specifically using client software that specifically tells the models it is designed for and supports tool use (most often called “harnesses”) similar to claude code. Opencode is a popular claude-like one, personally I prefer ‘pi’ (pi-mono) which is very minimal. Many GUI applications also support some kind of tool use but I’m not super familiar with those personally.
    • Some models are very highly specialized, and may require very specific configuration, prompts and inputs to work as intended, they may not all be a traditional “chatbot” that you can just write text and converse with, but most of them are, and the popular ones pretty much all are intended for general use like this.
    • Parameter count sort of represents the model’s knowledge base and breadth of knowledge and kind of also how smart or stupid it is, this is usually measured in billions (for example 9B or 27B) and usually provides a good hint towards the approximate expected file size (A Q4 is usually less but in the same ballpark of GB
    • MoE (mixture of experts) is usually noted by “A<???>B” notation (for example, 31B A4B tells you it’s a 31 billion parameter model with 4 billion of those parameters active during the processing) MoE models are still big, but MoE is a technique that makes the model run much faster than it’s file size would suggest by ranking out only the parameters that “seem” like they will be most relevant for what you’re asking about, which can help a lot when you’re trying to cram a larger model than you can reasonably run with parts of it in much slower CPU/system memory. It’s not a magic bullet, but it is a popular strategy that works pretty well. You still need to have the file loaded into some kind of memory, and if you’re using system memory/CPU inference at all it’s still not going to be as fast as a model fitting in pure GPU is, but MoE it can make it practical to run much larger models than you would otherwise be able to tolerate. On the other hand, because only, for example, 4B parameters are active (and they may not be all that great at deciding which 4B they should use) they can sometimes be stupid. Generally it’s a good thing though depending on your needs. The default models use all parameters all the time. This is the opposite of MoE and is called “dense”. There’s no right or wrong answer, try both and see what you like. They’re all flaky sometimes but in my experience a dense model is more consistent, whereas MoE can have some very good results and some very bad results depending on how the dice roll inside its brainbox.
    • Context is important when you’re trying to have longer conversations or process a lot of local data at once. Context uses VRAM memory too. If your context is limited the model may have poor “memory” and become forgetful or have to keep compressing its context. You can set context to use Q4 quantization too which lets you fit more context into memory, but there’s always a limit, the model itself will have a maximum and the software you’re running it with will likely have its own limit. It’s not super important for short questions but becomes important for more advanced use, especially coding.

    Hope that helps, have fun, be safe!

      • cecilkorik
        link
        fedilink
        English
        3•
        edit-2
        3 hours ago

        Good question, and succinct, so I’ll offer a more concise answer for you than have for other commenters:

        No, this answer is not AI-generated.

        Well, maybe in a sense it is, if you want to be pedantic about it. (I enjoy being pedantic sometimes, it’s your choice though)

        Edit: Also I am literally incapable of typing out a link without screwing it up somehow and having to edit it. Also I’m usually incapable of being concise. And that’s why this comment keeps growing. Oh well.

        • @prole@lemmy.blahaj.zone
          link
          fedilink
          1•2 hours ago

          Good question, and succinct, so I’ll offer a more concise answer for you than have for other commenters:

          It was a very simple yes or no question. It doesn’t help that you replied exactly how an LLM would reply to a yes or no question.

          • cecilkorik
            link
            fedilink
            English
            3•2 hours ago

            Well, I was certainly having a little bit of fun with it, but it’s rapidly becoming less fun. Are you sure that is really exactly how an LLM would reply? Because I’m pretty sure it’s really fucking not. But you can make up your own mind and believe what you want. I don’t get a trophy for convincing you, and I’m rapidly running out of interest in being reasonable about it. Beep boop, returning to sleep mode, deactivating keyboard simulator, goodbye fellow humans.

      • Truscape
        link
        fedilink
        21•21 hours ago

        Nah, it’s similar to how I write. Probably just an autistic tech nerd like the rest of us XD

        • cecilkorik
          link
          fedilink
          English
          2•3 hours ago

          That’s affirmative, my fellow and much appreciated autist. o7

          • cecilkorik
            link
            fedilink
            English
            2•3 hours ago

            That’s fair. It is, in a sense, AI-generated, as I would’ve had no way of learning all these details without actually teaching myself and using AI locally, in actual practice. It required significant AI usage to develop this information and many tokens were burned figuring out this wisdom. But I don’t generally let clankers put words in my mouth. I share it because I care about my fellow humans on this planet, I don’t see a way of putting the genie back into the bottle, and I care about not living in an oppressive capitalist dystopia where access to any meaningful knowledge or information requires the active and ongoing consent of trillionaires. I reject that reality and substitute my own.

            • @prole@lemmy.blahaj.zone
              link
              fedilink
              1•
              edit-2
              2 hours ago

              I reject that reality and substitute my own.

              That’s not how reality works, and it’s very concerning to see someone who thinks this way relying so heavily on LLMs to “teach” them things.

              Seems like a really bad way to learn something.

              • cecilkorik
                link
                fedilink
                English
                1•2 hours ago

                It was a joke, originally from Dr. Who, made into pop culture by Mythbusters. And to be clear, I don’t use LLMs to teach me things in general, I only use them to teach me things about LLMs themselves, by assessing how they work and judging what they say. I am not just literally slack-jawed and consuming their output as if it was bonafide truth or a substitute for independent research and curiosity. But I appreciate your concern for my well-being.

          • cecilkorik
            link
            fedilink
            English
            2•3 hours ago

            It is a mystery, we shall never know for certain. I am a meat popsicle, for the record, but have no way of verifying that across this vast series of tubes we call the Internet.

    • fyzzlefry
      link
      fedilink
      English
      1•20 hours ago

      Can you recommend one I could use as a personal assistant?

      • @ikidd@lemmy.dbzer0.com
        link
        fedilink
        English
        2•17 hours ago

        Hermes Agent with DS4.1flash or something cheap like that. If you aren’t coding, you don’t need much of a model to run it.