Office space meme:

“If y’all could stop calling an LLM “open source” just because they published the weights… that would be great.”

  • magic_lobster_party
    link
    fedilink
    -12 days ago

    Ok I understand now why people are upset. There’s a disagreement with terminology.

    The source code for the model is open source. It’s defined in PyTorch. The source code for it is available with the MIT license. Anyone can download it and do whatever they want with it.

    The weights for the model are open, but it’s not open source, as it’s not source code (or an executable binary for that matter). No one is arguing that the model weights are open source, but there seem to be an argument against that the model is open source.

    And even if they provided the source code for the training script (and all its data), it’s unlikely anyone would reproduce the same model weights due to randomness involved. Training model weights is not like compiling an executable, because you’ll get different results every time.

    • Fushuan [he/him]
      link
      fedilink
      English
      12 days ago

      Hey, I have trained several models in pytorch, darknet, tensorflow.

      With the same dataset and the same training parameters, the same final iteration of training actually does return the same weights. There’s no randomness unless they specifically add random layers and that’s not really a good idea with RNNs it wasn’t when I was working with them at least. In any case, weights should converge into a very similar point even if randomness is introduced or else the RNN is pretty much worthless.

      • magic_lobster_party
        link
        fedilink
        12 days ago

        There’s usually randomness involved with the initial weights and the order the data is processed.

        • Fushuan [he/him]
          link
          fedilink
          English
          12 days ago

          Not enough for it to make results diverge. Randomness is added to avoid falling into local maximas in optimization. You should still end in the same global maxima. Models usualy run until their optimization converges.

          As stated, if the randomness is big enough that multiple reruns end up with different weights aka optimized for different maximas, the randomization is trash. Anything worth their salt won’t have randomization big enough.

          So, going back to my initial point, we need the training data to validate the weights. There are ways to check the performance of a model (quite literally, the same algorithm that is used to evaluate weights in training is them used to evaluate the trained weights post training) the performance should be identical up to a very small rounding error if a rerun with the same data and parameters is used.