• WalnutLum@lemmy.ml
    link
    fedilink
    arrow-up
    57
    ·
    6 months ago

    There are VERY FEW fully open LLMs. Most are the equivalent of source-available in licensing and at best, they’re only partially open source because they provide you with the pretrained model.

    To be fully open source they need to publish both the model and the training data. The importance is being “fully reproducible” in order to make the model trustworthy.

    In that vein there’s at least one project that’s turning out great so far:

    https://www.llm360.ai/

    • umami_wasabi@lemmy.ml
      link
      fedilink
      arrow-up
      14
      ·
      edit-2
      6 months ago

      Not just LLMs but all kinds of models are equivlant to freeware, aka the model itself and other essential bits for it to work. I won’t even call it source avaliable as there is no source.

      Take redis as example. I can still go grab the source and compile a binary that works. This doesn’t applies on ML models.

      Of course one can argue the training process isn’t determistic thus even with the exact training corpus, it can’t create the same model in terms of bits on mulitple runs. However, I would argue the same corpus provide the chance to train a model of similar or equivalent performance. Hence the openness of the training corpus is an absolute requirement to qualify a model being FOSS.

      • WalnutLum@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        6 months ago

        I’ve seen this said multiple times, but I’m not sure where the idea that model training is inherently non-deterministic is coming from. I’ve trained a few very tiny models deterministically before…

        • umami_wasabi@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          You sure you can train a model deterministically down to each bits? Like feeding them into sha256sum will yield the same hash?

          • WalnutLum@lemmy.ml
            link
            fedilink
            arrow-up
            1
            ·
            6 months ago

            Yes of course, there’s nothing gestalt about model training, fixed inputs result in fixed outputs

    • FaceDeer@fedia.io
      link
      fedilink
      arrow-up
      16
      arrow-down
      3
      ·
      6 months ago

      Fortunately, LLMs don’t really need to be fully open source to get almost all of the benefits of open source. From a safety and security perspective it’s fine because the model weights don’t really do anything; all of the actual work is done by the framework code that’s running them, and if you can trust that due to it being open source you’re 99% of the way there. The LLM model just sits there transforming the input text into the output text.

      From a customization standpoint it’s a little worse, but we’re coming up with a lot of neat tricks for retraining and fine-tuning model weights in powerful ways. The most recent bit development I’ve heard of is abliteration, a technique that lets you isolate a particular “feature” of an LLM and either enhance it or remove it. The first big use of it is to modify various “censored” LLMs to remove their ability to refuse to comply with instructions, so that all those “safe” and “responsible” AIs like Goody-2 can turned into something that’s actually useful. A more fun example is MopeyMule, a LLaMA3 model that has had all of his hope and joy abliterated.

      So I’m willing to accept open-weight models as being “nearly as good” as a full-blown open source model. I’d like to see full-blown open source models develop more, sure, but I’m not terribly concerned about having to rely on an open-weight model to make an AI system work for the immediate term.

      • WalnutLum@lemmy.ml
        link
        fedilink
        arrow-up
        8
        ·
        6 months ago

        I suppose the importance of the openness of the training data depends on your view of what a model is doing.

        If you feel like a model is more like a media file that the model loaders are playing back, where the prompt is more of a type of control over how you access this model then yes I suppose from a trustworthiness aspect there’s not much to the model’s training corpus being open

        I see models more in terms of how any other text encoder or serializer would work, if you were, say, manually encoding text. While there is a very low chance of any “malicious code” being executed, the importance is in the fact that you can check the expectations about how your inputs are being encoded against what the provider is telling you.

        As an example attack vector, much like with something like a malicious replacement technique for anything, if I were to download a pre-trained model from what I thought was a reputable source, but was man-in-the middled and provided with a maliciously trained model, suddenly the system I was relying on that uses that model is compromised in terms of the expected text output. Obviously that exact problem could be fixed with some has checking but I hope you see that in some cases even that wouldn’t be enough. (Such as malicious “official” providence)

        As these models become more prevalent, being able to guarantee integrity will become more and more of an issue.

        • FaceDeer@fedia.io
          link
          fedilink
          arrow-up
          1
          ·
          6 months ago

          Even if you trained the AI yourself from scratch you still can’t be confident you know what the AI is going to say under any given circumstance. LLMs have an inherent unpredictability to them. That’s part of their purpose, they’re not databases or search engines.

          if I were to download a pre-trained model from what I thought was a reputable source, but was man-in-the middled and provided with a maliciously trained model

          This is a risk for anything you download off the Internet, even source code could be MITMed to give you something with malicious stuff embedded in it. And no, I don’t believe you’d read and comprehend every line of it before you compile and run it. You need to verify checksums

          As I said above, the real security comes from the code that’s running the LLM model. If someone wanted to “listen in” on what you say to the AI, they’d need to compromise that code to have it send your inputs to them. The model itself can’t do that. If someone wanted to have the model delete data or mess with your machine, it would be the execution framework of the model that’s doing that, not the model itself. And so forth.

          You can probably come up with edge cases that are more difficult to secure, such as a troubleshooting AI whose literal purpose is messing with your system’s settings and whatnot, but that’s why I said “99% of the way there” in my original comment. There’s always edge cases.

      • thegreekgeek@midwest.social
        link
        fedilink
        English
        arrow-up
        1
        ·
        6 months ago

        Is abliteration based off the research by the Anthropic team? When they got Claude to say it was the golden gate bridge?

        • FaceDeer@fedia.io
          link
          fedilink
          arrow-up
          4
          ·
          6 months ago

          Ironically, as far as I’m aware it’s based off of research done by some AI decelerationists over on the alignment forum who wanted to show how “unsafe” open models were in the hopes that there’d be regulation imposed to prevent companies from distributing them. They demonstrated that the “refusals” trained into LLMs could be removed with this method, allowing it to answer questions they considered scary.

          The open LLM community responded by going “coooool!” And adapting the technique as a general tool for “training” models in various other ways.

        • FaceDeer@fedia.io
          link
          fedilink
          arrow-up
          2
          ·
          6 months ago

          That would be part of what’s required for them to be “open-weight”.

          A plain old binary LLM model is somewhat equivalent to compiled object code, so redistributability is the main thing you can “open” about it compared to a “closed” model.

          An LLM model is more malleable than compiled object code, though, as I described above there’s various ways you can mutate an LLM model without needing its “source code.” So it’s not exactly equivalent to compiled object code.

    • Canary9341@lemmy.ml
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      6 months ago

      The importance is being “fully reproducible” in order to make the model trustworthy.

      Well that’s a problem, because even with training data that’s impossible by design.

      • WalnutLum@lemmy.ml
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        6 months ago

        I’m not sure where you get that idea. Model training isn’t inherently non-deterministic. Making fully reproducible models is 360ai’s apparent entire modus operandi.