4 ms·
Genuine question: how reproducible / usable / verifiable are these architectures from the published documentation? Are they similar to PDF/DWG/PSD specification
by mickael-kerjean 2mo ago
Genuine question: how reproducible / usable / verifiable are these architectures from the published documentation? Are they similar to PDF/DWG/PSD specifications, where the format look like an open spec at first sight until you attempt to implement it and realize the crucial implementation details are undocumented?
- GaggiX 2mo agoThe code is open source, and there probably several different implementations.
- calebkaiser 2mo agoImplementing models directly from papers is typically pretty doable (and is of course more straightforward when the full implementation is open sourced). Often there is some amount of specific knowledge, like particular hyperparameters, that is missing and has to be trial and errored by the community, but generally speaking, getting the core model architecture implemented is a reasonable task for most well documented models. Reproducing the exact training run, however, is basically impossible without the original dataset and training pipeline (here meaning all of the code + infra involved in actually executing the pre and post training loops). Also, it would be exorbitantly expensive to do if you weren't also a lab trying to train a similar model. But you can still scale the architecture down and experiment as a solo researcher using the published research. There are probably some open source implementations already on GitHub for any given big open model release.
- marcyb5st 2mo agoThe exact training run is basically impossible anyway. Randomness plays a role. Even if you fix your RNG seed, in a distributed training scenario like this one some weight updates might come at different times and be included in different update steps. Should have minimal impact on the final outcome, but would still be a different model as some of the weights will differ in the end.
- eru 2mo ago> Should have minimal impact on the final outcome, [...] I share this expectation. But this is an interesting empiric question that deserves study; even if just to confirm what 'everyone knows'.
- pcmasterr 2mo agoReproducibility isn’t something that has been considered desirable in many pipelines until recent years. Heck even ffmpeg introduce randomness when stitching together downloaded chunks from youtube. By design.
- eru 2mo agoReproducing a stationary probability distribution that subsequent runs draw from is also a kind of reproduction. And presumably for ffmpeg you can fix the random seed? Tell me more about that design, please.
- dannyw 2mo agoThe architectures are high level concepts and the mechanics usually have enough detail for you to try and implement. Transformers are very "mendable" in that you can permute the architecture in crazy or random ways, and still basically always end up with get a coherent LLM. The difference comes down to training efficiency, inference efficiency, and usually minor differences in performance. Hyperparams and stuff, I mean it's standard to do a sweep anyway.
- nl 2mo agoIt's entirely reproducible from the available documentation (which is why you see vLLM, SGLang, MLX etc all racing to produce optimized implementations). (As an aside, this is why the "open weights are not open source" thing is a complete misunderstanding. The weights themselves along with the documentation give you enough to fine tune the LLM. You can't rebuild it from scratch, but you can't do this even with the data anyway (because of randomness!))
- esperent 2mo ago> open weights are not open source" thing is a complete misunderstanding > You can't rebuild it from scratch There's is extremely clear and misunderstanding-free. Open weights is not open source.
- FinchNova12 2mo agoI agree that if you have the weights you can use/train a model with the same architecture, and that you won't get the exact weights on your own due to randomness. But isn't data an extremely important part of your ability to effectively train/finetune? It might be much harder to get close to the level of the open weight model if you don't have the data that made it, which is why I think the open weights vs open source distinction is useful.
- nl 2mo agoYou fine-tune the open-weight model without access to the original weights. If you want to train it from scratch you need data, yes. But presumably if you are doing that there is a reason you want to do it. You lose nothing without access to the original data - you can do every single modification without it. That is unlike open source where you (mostly) need to source code to modify it beyond what the original designed originally thought.
- spider-mario 2mo agoIsn’t this a bit like saying “ ‘open object files are not open source’ is a complete misunderstanding” because “You can’t rebuild the executable from scratch, but you can’t do this even with the source code anyway (because of build nondeterminism / compiler versions / etc.)”?
- pepinal 2mo ago[flagged]
- ModelForge 2mo agoGood question, it's 100%. I.e., the developers usually share a reference implementation with e.g., Hugging Face transformers to load their weights, and from there on you can read the code and, if you have time, reimplement and check everything. It's actually a great learning exercise where you can self-check whether you reimplemented it correctly by comparing the LLM outputs to the reference implementation. Made a video about that workflow a while back here: https://www.youtube.com/watch?v=TXzQ7PGpO6w https://www.youtube.com/watch?v=TXzQ7PGpO6w