• Todd Bonzalez@lemm.ee
    link
    fedilink
    English
    arrow-up
    13
    arrow-down
    1
    ·
    15 days ago

    “Open Source” is mostly the right term. AI isn’t code, so there’s no source code to open up. If you provide the dataset you trained off of, and open up the code used to train the model, that’s pretty close.

    Otherwise, we need to consider “open weights” and “free use” to be more accurate terms.

    For example, ChatGPT 3+ in undeniably closed/proprietary. You can’t download the model and run it on your own hardware. The dataset used to train it is a trade secret. You have to agree to all of OpenAI’s terms to use it.

    LLaMa is way more open. The dataset is largely known (though no public master copy exists). The code used to train is open source. You can download the model for local use, and train new models based off of the weights of the base model. The license allows all of this.

    It’s just not a 1:1 equivalent to open source software. It’s basically the equivalent of royalty free media, but with big collections of conceptual weights.

    • wewbull@feddit.uk
      link
      fedilink
      English
      arrow-up
      7
      arrow-down
      2
      ·
      15 days ago

      AI isn’t code

      Yes it is. It defines a function from input to output. It’s not x86 or Arm code. It’s code that runs on a different type of machine. It’s a type of code that you may not be able to read, but it’s still code.

      • Sneezycat@sopuli.xyz
        link
        fedilink
        English
        arrow-up
        4
        ·
        15 days ago

        Just by opening wikipedia “In computing, source code, or simply code or source, is a plain text computer program written in a programming language.” So what programming language is it?

        • model_tar_gz@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          15 days ago

          Neural nets are typically written in C; then frameworks abstract on top of that (like Torch, or Tensorflow) providing higher-level APIs to languages like (most commonly) Python, or JavaScript.

          There are some other nn implementations in Rust, C++, etc.

          • General_Effort@lemmy.world
            link
            fedilink
            English
            arrow-up
            2
            ·
            14 days ago

            Other way around. The NNs are written in, mostly, Python. The frameworks, mainly Pytorch now, handle the heavy-duty math.

            • model_tar_gz@lemmy.world
              link
              fedilink
              English
              arrow-up
              4
              ·
              edit-2
              14 days ago

              We’re looking at this from opposite sides of the same coin.

              The NN graph is written at a high-level in Python using frameworks (PyTorch, Tensorflow—man I really don’t miss TF after jumping to Torch :) ).

              But the calculations don’t execute on the Python kernel—sure you could write it to do so but it would be sloooow. The actual network of calculations happen within the framework internals; C++. Then depending on the hardware you want to run it on, you go down to BLAS or CUDA, etc. all of which are written in low-level languages like Fortran or C.

              Numpy fits into places all throughout this stack and its performant pieces are mostly implemented in C.

              Any way you slice it: the post I was responding to is to argue that AI IS CODE. No two ways about that. It’s also the weights and biases and activations of the models that have been trained.

        • wewbull@feddit.uk
          link
          fedilink
          English
          arrow-up
          3
          ·
          14 days ago

          Is Maxine code “code”? And I don’t mean assembler, I mean the binary stream read by the processor.

          I’d say yes. People have programmed it. It’s where the verb “to code” comes from.

          These models are no different. They are binary streams that encode a function, a program, into a form that can be interpreted by a machine. Yes, a computer generated the code, but that’s nothing new.

      • barsoap@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        14 days ago

        The problem is: Data is code, and code is data. An algorithm to compute prime numbers is equivalent to a list of prime numbers, (also, not relevant to this discussion, homoiconicity and interpretation). Yet we still want to make a distinction.

        Is a PAQ-compressed copy of the Hitchhiker’s guide code? Technically, yes, practically, no, because the code is just a fancy representation of data (PAQ is basically an exercise in finding algorithms that produce particular data to save space). Is a sorting algorithm code? Most definitely, it can’t even spit out data without being given an equally-sized amount of data. On that scale, from code to code representing data, AI models are at least 3/4th towards code representing data.

        As such I’d say that AI models are data in the same sense that holograms (these ones) are photographs. Do they represent a particular image? No, but they represent a related, indexable, set of images. What they definitely aren’t is rendering pipelines. Or, and that’s a whole another possible line of argument: Requiring Turing-complete interpretation.

        • wewbull@feddit.uk
          link
          fedilink
          English
          arrow-up
          1
          ·
          14 days ago

          I think it comes down to how it’s used.

          An LLM model is nothing unless it’s used to process some other things. It does something. It predicts the likeliness of words following a sequence of other words. It has no other purpose. It can’t take the model, analyse it in a different way and extract different conclusions. It is singular in function. It is a program.

          Data has no function. It is just data.