Remix.run Logo
▲ vrganj 2 hours ago

If they want to be open source, they also need to, y'know, open the source.

Weights are more like an executable binary. The source is the training data etc

▲whatisthiseven an hour ago | parent | next [-]

I don't understand this demand. Isn't the training data likely petabytes in size? You want that to be available? I imagine just the index (name,date,source) is a terabyte or two.

As the training data is every written thing they can get their hands on, right?

And wouldn't making that "open source" violate every license that the original data has? You can't release someone else's work.

Unless I have a misunderstanding?

▲simias an hour ago | parent | next [-]

I absolutely want that to be available.

The only way to make sure that a model was trained without hiding weird biases and backdoors is to monitor this process. It also allows anybody (with the hardware resources) to experiment with the model and how it's trained. Will most people want to do that? No, but most people also don't want to recompile their own kernel, that doesn't negate the value of Linux being FOSS.

I hope that, in the long term, I'll be able to use competitive, completely open models in the same way that I can run Linux on my computer.

You're completely right that the licensing of the training data is a big issue though (and I would argue that it should be a much bigger issue right now, even for closed models). I hope that eventually our understanding of the tech will let us build competitive LLMs using purely public domain/Creative Commons-style training data.

I realize that we have a long way to go... but that's a very worthwhile goal IMO.

▲NewJazz an hour ago | parent | prev | next [-]

I don't usually compile my kernel from scratch, but I'm very glad that the source is open.

▲Tepix an hour ago | parent | prev | next [-]

How else do you want to reproduce a model if you don't have the training data?

▲Catloafdev an hour ago | parent | next [-]

You plan to rent GPU-hours to train a from-scratch model yourself, with the exact same training data?

What are we talking about?

▲brainwad an hour ago | parent | prev [-]

Just reproduce it? Copy the weights. What I think you want is the ability to improve it, to make what in copyright would be called a derivative work.

▲birdsongs an hour ago | parent | prev [-]

> And wouldn't making that "open source" violate every license that the original data has? You can't release someone else's work.

Tangent, and not the person you're replying to, but you just independently re-discovered why so many of us despise the AI companies.

Because that's what they are already doing. Selling a repackaged form of the stolen work of all of humanity, without credit or payment.

▲RobotToaster an hour ago | parent | prev | next [-]

Hence the difference between open weights and open source.

But this is neither.

▲mirekrusin 2 hours ago | parent | prev [-]

Can you evolve binary like you can post train weights?

▲Muromec 2 hours ago | parent | next [-]

You can read and edit binary code just fine, it's much easier with AI too

▲mirekrusin an hour ago | parent [-]

Do you have examples you can point to?

For example there are more than 100k modified weights on hugging face.

▲Wheen an hour ago | parent | next [-]

It's usually against the license to redistribute modified binaries. There are few pieces of software (I cannot think of any) that allow redistribution of modified binaries, but aren't open source.

As a result, in practice, the only example I can think of is cracks for pirated software.

▲Muromec an hour ago | parent | prev [-]

Easy: https://www.nexusmods.com/

▲ 2 hours ago | parent | prev | next [-]
[deleted]
▲teiferer 2 hours ago | parent | prev | next [-]

Indeed.

You can hardly re-create the binary from a suitable source, just like the weights just fell from the sky. But you can change the binary (patch the machine code) just like you can adjust the weights. The comparison is quite apt.

▲NegativeLatency 2 hours ago | parent | prev | next [-]

Yes?

▲bayindirh 2 hours ago | parent | prev [-]

The whole reverse engineering and cracking scene is built upon this premise, you know.

▲losvedir 2 hours ago | parent | next [-]

Calling it a "cracking scene" shows the different, though. Open weight models are intended to be used this way.

▲simias an hour ago | parent [-]

Hotpatching binaries used to be extremely common. It's less so in the modern age but mainly because we moved software to higher levels of abstractions, virtual machines and interpreters, and also because rebuilding even a massive project from source is achievable on commodity hardware. You can still see various hotpatching schemes being developed, for instance to allow partial recompile of the sources while developping.

If in 2080 we can retrain Opus 129.5 directly on dev machines from scratch in <2h, I doubt many will bother messing with the weights directly.

▲Muromec 2 hours ago | parent | prev [-]

don't forget game modding. it's the only way it even works

▲mirekrusin an hour ago | parent [-]

Post training is general purpose method, same process that original authors used - that's not the case with binaries.

▲Muromec an hour ago | parent | next [-]

I think opening something in the hex editor, changing necessary bytes and saving it is as general purpose as it gets. You usually don't distribute it (I remember they days when it was common however) due to law, so in practice people write code that hot-patches stuff after starting the process.

You can also just open gdb and patch the process on the fly when you need to do things.

At the end of the day there isn't much hard difference between source code and binary code. By design source code is usually easier to read and write, but it's all syntax sugar and transformations all the way down.

▲bayindirh an hour ago | parent | prev [-]

RedHat and Ubuntu has kernel hot-patching. That's a case with binaries.

▲mirekrusin an hour ago | parent [-]

You're conflating runtime patching with continuing development.

Post training directly evolves existing model weights using the same optimisation process that created them.

Software: source code -> compiler -> binary

Models: weights + training data + optimizer -> updated weights

Ie. binary is output of the development process.

Model weights are both – it's output and it's direct input for further development.