News for hackers. Stuff that matters.
Re:Llama 3.1 Official Launch by nomel on Tuesday July 23, 2024 @04:18PM (#41050356)
I really wish people would use "open weights" rather than "open source". It's precise and obvious, and leaves an accurate descriptor for actual "open source" models, where the source and methods that that generate the artifact, that is the weights, is open.
Re:Llama 3.1 Official Launch by fngjdflmdflg on Tuesday July 23, 2024 @04:48PM (#41050654)
As far as I know it's not just the weights. it's everything but the dataset. So the code used to generate the weights is also open source.
Re:Llama 3.1 Official Launch by nomel on Tuesday July 23, 2024 @05:11PM (#41050940)
Is there any other case where "open source" is used for something that can't be reproduced? Seems like a new term is required, in the concept of "open source, non-reproducible artifacts".

I suppose language changes. I just prefer it changes towards being more precise, not less.

Re:Llama 3.1 Official Launch by xu_ituairo on Tuesday July 23, 2024 @05:49PM (#41051317)
This feels somewhat analogous to games like Quake being open-sourced though still needing the user to provide the original game data files.
Re:Llama 3.1 Official Launch by TeMPOraL on Wednesday July 24, 2024 @03:39AM (#41054510)
But games like Quake are not "open source". They have been open-sourced, specifically the executable parts were, without the assets. This is usually spelled out clearly as the process happen.

In terms of functional role, if we're to compare the models to open-sourced games, then all that's been open-sourced is the trivial[0] bit of code that does the inference.

Maybe a more adequate comparison would be a SoC running a Linux kernel with a big NVidia or Qualcomm binary blob in the middle of it? Sure, the Linux kernel is open source, but we wouldn't call the SoC "open source", because all that makes it what it is (software-side) is hidden in a proprietary binary.

--

[0] - In the sense that there's not much of it, and it's possible to reproduce from papers.

Re:Llama 3.1 Official Launch by drexlspivey on Wednesday July 24, 2024 @02:44AM (#41054227)
No, the term is fine, “source” in “open source” refers to source code. A dataset by definition is not source code. Stop changing the meaning of words.
Re:Llama 3.1 Official Launch by TeMPOraL on Wednesday July 24, 2024 @03:32AM (#41054469)
A dataset very much is the source code. It's the part that gets turned into the program through an automated process (training is equivalent to compilation).
Re:Llama 3.1 Official Launch by fishermanbill on Wednesday July 24, 2024 @06:09AM (#41055418)
Yes its "freeware" or any one of the similar terms we've used to refer to free software.
Re:Llama 3.1 Official Launch by rovr138 on Wednesday July 24, 2024 @11:49AM (#41058264)
Academia - nowadays source is needed is a lot of conferences, but the datasets, depending on where/how it might have be obtained, just can't be used or not available and the exact results can't be reproduced.

Not sure if the code is required under an open source license, but it's the same issue.

---

IMO, source is source and can be used for other datasets. Dataset isn't available, bring your own.

In this case, the source is there. The output is there, and not technically required. What isn't available is the ability to confirm the output comes from that source. That's not required under open source though.

What's disingenuous is the output being called 'open source'.

Re:Llama 3.1 Official Launch by TeMPOraL on Wednesday July 24, 2024 @03:03AM (#41054320)
In other words, it's everything except the one thing that actually matters.
Re:Llama 3.1 Official Launch by OrangeMusic on Wednesday July 24, 2024 @04:25AM (#41054790)
Maybe, but it doesn't mean it's not open source.
Re:Llama 3.1 Official Launch by TeMPOraL on Wednesday July 24, 2024 @05:56AM (#41055349)
The things that don't matter are, the thing that does isn't. Together, they can hardly be called open source.
Re:Llama 3.1 Official Launch by kibibu on Wednesday July 24, 2024 @09:02AM (#41056654)
The dataset is likely absolutely jam packed with copyrighted material that cannot be distributed.
Re:Llama 3.1 Official Launch by gantrol on Tuesday July 23, 2024 @09:55PM (#41052953)
Training a model is like automatic programming, and the key of it is having a well-organized dataset.

If some "opensource" model just have the model and training methods but no dataset, it’s like some repo which released an executable file with a detailed design doc. Where is the source code? Do it yourself, please.

NOTE: I understand the difficulty of open-sourcing datasets. I'm just saying that the term "opensource" is getting diluted.

Re:Llama 3.1 Official Launch by lolinder on Tuesday July 23, 2024 @10:00PM (#41052981)
It's not precise. People who want to use "open weights" instead of "open source" are focusing on the wrong thing.

The weights are, for all practical purposes, source code in their own right. The GPL defines "source code" as "the preferred form of the work for making modifications to it". Almost no one would be capable of reproducing them even if given the source + data. At the same time, the weights are exactly what you need for the one type of modification that's within reach of most people: fine-tuning. That they didn't release the surrounding code that produced this "source" isn't that much different than a company releasing a library but not their whole software stack.

I'd argue that "source" vs "weights" is a dangerous distraction from the far more insidious word in "open source" when used to refer to the Llama license: "open".

The Llama 3.1 license [0] specifically forbids its use by very large organizations, by militaries, and by nuclear industries. It also contains a long list of forbidden use cases. This specific list sounds very reasonable to me on its face, but having a list of specific groups of people or fields of endeavor who are banned from participating runs counter to the spirit of open source and opens up the possibility that new "open" licenses come out with different lists of forbidden uses that sound less reasonable.

To be clear, I'm totally fine with them having those terms in their license, but I'm uncomfortable with setting the precedent of embracing the word "open" for it.

Llama is "nearly-open source". That's good enough for me to be able to use it for what I want, but the word "open" is the one that should be called out. "Source" is fine.

[0] https://github.com/meta-llama/llama-models/blob/main/models/...

Re:Llama 3.1 Official Launch by TeMPOraL on Wednesday July 24, 2024 @03:21AM (#41054406)
Do the costs really matter here? "Weights" are "the preferred form of the work for making modifications to it" in the same sense compiled binary code would be, if for some reason no one could afford to recompile a program from sources.

Fine-tuning and LoRAs and toying with the runtime are all directly equivalent to DLL injection[0], trainers[1], and various other techniques used to tweak a compiled binary before or at runtime, including plain taking at the executable with a hex editor. Just because that's all anyone except the model vendor is able to do, doesn't merit calling the models "open source", much like no one would call binary-only software "open source" just because reverse engineering is a thing.

No, the weights are just artifacts. The source is the dataset and the training code (and possibly the training parameters). This isn't fundamentally different from running an advanced solver for a year, to find a way to make your program 100 byes smaller so it can fit on a Tamagochi. The resulting binary is magic, can't be reproduced without spending $$$$ on compute for th solver, but it is not open source. The source code is the bit that (produced the original binary that) went into the optimizer.

Calling these models "open source" is a runaway misuse of the term, and in some cases, a sleigh of hand.

--

[0] - https://en.wikipedia.org/wiki/DLL_injection

[1] - https://en.wikipedia.org/wiki/Trainer_(games) - a type of programs popular some 20 years ago, used to cheat at, or mod, single-player games, by keeping track of and directly modifying the memory of the game process. Could be as simple as continuously resetting the ammo counter, or as complex as injecting assembly to add new UI elements.

Re:Llama 3.1 Official Launch by mcbuilder on Wednesday July 24, 2024 @08:31AM (#41056355)
The thing is, the core of the GPT architecture is like 40 lines of code. Everyone knows what the source code is basically (minus optimizations). You just need to bring your own 20TB in data, 100k GPUs, and tens of millions in power budget, and you too can train llama 405b.
Re:Llama 3.1 Official Launch by sharpshadow on Wednesday July 24, 2024 @08:39AM (#41056432)
If I understood the article correctly he intends to let the community make suggestions to selected developers which work on the source somehow. So maybe part of the source will be made visible.
Re:Llama 3.1 Official Launch by lolinder on Wednesday July 24, 2024 @09:27AM (#41056873)
> Fine-tuning and LoRAs and toying with the runtime are all directly equivalent to DLL injection[0], trainers[1], and various other techniques used to tweak a compiled binary before or at runtime, including plain taking at the executable with a hex editor.

No, because fine tuning is basically just a continuation of the same process that the original creators used to produce the weights in the first place, in the same way that modifying source code directly is in traditional open source. You pick up where they left off with new data and train it a little bit (or a lot!) more to adapt it to your use case.

The weights themselves are the computer program. There exists no corresponding source code. The code you're asking for corresponds not to the source code of a traditional program but to the programmers themselves and the processes used to write the code. Demanding the source code and data that produced the weights is equivalent to demanding a detailed engineering log documenting the process of building the library before you'll accept it as open source.

Just because you can't read it doesn't make it not source code. Once you have the weights, you are perfectly capable of modifying them following essentially the same processes the original authors did, which are well known and well documented in plenty of places with or without the actual source code that implements that process.

> Calling these models "open source" is a runaway misuse of the term, and in some cases, a sleigh of hand.

I agree wholeheartedly, but not because of "source". The sleight of hand is getting people to focus on that instead of the really problematic word.

Re:Llama 3.1 Official Launch by fishermanbill on Wednesday July 24, 2024 @06:06AM (#41055399)
Its not open source. Your definition would make most video games open source - we modify them all the time. The small runtime framework IS open source but that's not much benefit as you cant really modify it hugely because the weights fix it to an implementation.
Re:Llama 3.1 Official Launch by lolinder on Wednesday July 24, 2024 @09:12AM (#41056738)
> Your definition would make most video games open source - we modify them all the time.

No, because most video games aren't licensed in a way that makes that explicitly authorized, nor is modding the preferred form of the work for making modifications. The video game has source code that would be more useful, the model does not have source code that would be more useful than the weights.

Re:Llama 3.1 Official Launch by llm_trw on Tuesday July 23, 2024 @10:53PM (#41053228)
> where the source and methods that that generate the artifact, that is the weights, is open.

When you require the same thing in software, namely the whole stack to run the software in question to be open source, we don't call the license open source.

Re:Llama 3.1 Official Launch by TeMPOraL on Wednesday July 24, 2024 @03:43AM (#41054524)
Nope. Those model releases only open source the equivalent of "run.bat" that does some trivial things and calls into a binary blob. We wouldn't call such a program "open source".

Hell, in case of the models, "the whole stack to run the software" already is open source. Literally everything except the actual sources - the datasets and the build scripts (code doing the training) - is available openly. This is almost a literal inverse of "open source", thus shouldn't be called "open source".