5 ms·
If you can't bootstrap a set of weights from public material, the weights aren't open source, because it's derivative content based on something non-open. Tryi
by smolder 2y ago
If you can't bootstrap a set of weights from public material, the weights aren't open source, because it's derivative content based on something non-open.
Trying to draw an equivalency between code and weights is [edited for temperament, I guess] not right. They are built from the source material supplied to an algorithm. Weights are data, not code.
Otherwise, everyone on the internet would be an author, and would have a say in the licensing of the weights.
- lolinder 2y ago> Trying to draw an equivalency between code and weights is ridiculous, because the weights are not written in the same way as source code. By the same logic, the comparison between a compiled artifact and weights fails because the weights are not "compiled" in any meaningful sense. Analogies will always fail, which is why "preferred form for making modifications" is the rod we use, not vague attempts at drawing analogies between completely different development processes. > They are built from the source material supplied to an algorithm. Weights are data, not code. As Lispers know well, code is data and data is code. You can't draw a line in the sand and definitively say that on this side of the line is just code and on that side is just data. In terms of how they behave, weights function as code that is executed by an interpreter that we call an inference engine.
- dietr1ch 2y ago> > Trying to draw an equivalency between code and weights is ridiculous, because the weights are not written in the same way as source code. > By the same logic, the comparison between a compiled artifact and weights fails because the weights are not "compiled" in any meaningful sense. To me the weights map to assembly and the training data+models map to source code+compilers. Sure, you can hand me assembly, and with the assembly I may be able to execute the model/program, but having it does not mean that I can stare at it and learn nor modify it with a reasonable understanding of what's going to change. I got to add that the situation feels even worse than assembly, because assembly, hand-coded or mutilated by an optimizing compiler still does something very specific and deterministic, but the weights on the model makes things equivalent to programming without booleans, but seemingly random numbers and checking for inequalities to get a binary decision.
- lolinder 2y agoThis is the analogy that people keep saying, but as I observed above, the key difference is that the company that produces a binary executable doesn't prefer to work with that binary: they work with the source code and re-compile after changing it. In contrast, the weights are the preferred form for modification, even for the company that built it. They only very rarely start a brand new training run from scratch, and when they do so it's not to modify the existing work, it's to make a brand new work that builds on what they learned from the previous model. If the company makes the form of the work that they themselves use as the primary artifact freely available, I'm not sure why we wouldn't call the work open.
- smolder 2y agoIs a .rom file open source because you can pipe it into an emulator and generate new machine code for a different platform? I don't think your argument holds any water.
- lolinder 2y agoIs a .rom file the preferred form for modifying the work?
- smolder 2y agoTo get it to run on different platforms and gain new features like super-resolution and so on, yes. Rom files are the preferred form for modifying old games. No one bothers digging up old source code and assets to reconstruct things when they can use an emulator to essentially spit out a derivative binary with new capability. See every re-release of a 16 bit era or earlier game. Now that I've beat my head against this issue for a while, I think it's best summed up as: weights are a binary artifact, not source of any kind.
- lolinder 2y agoIf what you say is true—if the ROM is the preferred form for making modifications (even for the original company that produced it) and the ROM is released under a FOSS license—then sure, I have no problem calling it open source.
- smolder 2y agoI'm perfectly willing to draw a line in the sand instead of letting people define their models however it's most convenient for them. Analogies aside, here is what a set of weights is made of: A lot of data, mostly produced by humans who are not credited and have no say in how the output weights are licensed, some code written by people who might have some say, and then lots of work by computers running that code and consuming that data. I'm not comfortable with calling the resulting weights "open source", since people can't look at a set of weights and understand all of the components in the same way as actual source code. It's more like "freeware". You might be able to disassemble it with some work, but otherwise it's an incomprehensible thing you can run and have for free. I think it would be more appropriate to co-opt the term "open source" for weights generated from freely available material, because then there is no confusion whether the "source" is open.
- lolinder 2y ago> A lot of data, mostly produced by humans who are not credited and have no say in how the output weights are licensed And this is what I think everyone is actually dancing around: I suspect the insistence on publishing the training data has very little to do with a sense of purity around the definition of Open Source and everything to do with frustrations about copyright and intellectual property. For that same reason, we won't see open source models by this definition any time soon, because the legal questions around data usage are profoundly unsettled and no company can afford to publicize the complete set of data that they trained on until they are. My personal ethic says that intellectual property is a cancer that sacrifices knowledge and curiosity on the altar of profit, so I'm not overly concerned about forcing companies to reveal where they got the data. If they're releasing the resulting weights under a free license (which, notably, Llama isn't) then that's good enough for me.
- smolder 2y ago> For that same reason, we won't see open source models by this definition any time soon It's totally fine if we don't have many (or any) models meeting the definition of open source! How hard is it to use a different term that actually applies? The people on my side of the argument seem to be saying: "do not misapply these words", not "do not give away your weights". Insisting on calling a model with undisclosed sources "open source" has what benefit? Marketing? That's really all I can think of... that it's to satisfy the goals of propagandists.