LLMs are a revolution in open source
the.scapegoat.dev
the.scapegoat.dev
Sure, a lot of models have been released under permissive licenses, but.
Thats like releasing shareware. The special source for making _new_ LLMs comes from the dataset, and training clusters. None of which are cheap or easily run/financed by the community.
Otherwise, it's not possible for the community to reproduce the model.
Everything that has a source, has another source that has produced that source.
The algorithms behind creating LLMs are all published papers for all to read, the libraries (like TensorFlow) are themselves FOSS projects, and the data... is the open web for the most part.
The Wikipedia dump alone is more than enough to get a very decent LLM shaped up.
How an LLM is produced IS NO SECRET. It's just that to produce it you need millions (or for the more sophisticated ones: billions) in data center fees / power / GPU to train the model. So if the training scripts were included, you still can't make a LLama model yourself at home.
Wait, what? You can build the FOSS app entirely from the source. You don’t need a copy of the programmer.
(edit to spell Llama correctly)
The currently LLM status is more akin to opensource plugins to some propriety system, like game modding.
The model weights can't be scrutinized? Well no one can scrutinize them. Even those who made the model.
And because you don't have the hardware to reproduce Llama anyway, even if they gave you the code to build it, you can't verify they used that code to build it. And if you have the hardware and data, you probably still wouldn't spend MILLIONS to end up... with the same exact model they gave you in the first place.
Do you understand how meaningless this entire "Llama is not truly open" bullshit is?
No you wouldn't end up with the exact same model weights if you trained it yourself on the same data but you could compare how the models perform when given the same prompts and to try to identify anomalous variation that could point you towards Facebook misrepresenting us about what went into the training / fine-tuning.
Do I need to keep going so you see how stupid the discussion is?
You think like a software developer. Everything is just buncha text, a compiler and build environment. That's not like that.
There's too much shit going in, and the rights of the data are absolutely not clear. But if they had to be, the model wouldn't exist. What you want it friggin' impossible.
20+ years later, look who is still around.
llama is a binary blob. Very capable, and its great that it got leaked. But its not a win for opensource. Its an accident of licensing. FB's lawyers would never have let it be a proper open source license, the PR and IP risks were way too high.
It just so happens that the leak meant that the PR risk went away, and knee capping openAI is a good thing for meta, and thus worth the IP risk.
I agree calling it fully open source is a stretch but it's not the same as shareware.
In the world of hand-coded software, binaries are hard to work with, source is easy to work with, and compilation is cheap.
In the analogous world of LLM training, model weights are easy to work with, having training data does not let you reliably change model behavior, and "compilation" (training) is insanely expensive.
So, if your goal is agency to create tools for your own purposes, 9/10 researchers would rather work from a trained foundation model than the source data. The foundation models are of course released by companies because they cost $10s of millions to train -- but releasing them enables a thriving community of research, building adjacent frameworks, and specialized models to be created by much less powerful actors.
I've never understood the dogmatism around FOSS, but I've felt I understand the ideals. Those ideals are so much better served by releasing weights than by leaving LLMs only available through commercial APIs.
> For LLMs to be effective, they require a few things:
And then that list are just a dead giveaway.
I'm not nearly as cynical about GPT as many are (in fact I use them myself), but I think text written by it should be marked as such.
edit: The author expressed that it was indeed not written using any GPT.
Good luck with that. It’s a tool.
Please refrain from making baseless accusations.
I push my bash history, attach a couple files, paste some doc and web references, and then lightly edit the result. Beats not writing the blog post.
The tricky part is not getting fooled by the fact that it looks decent, and really put in the effort to think each sentence over to catch the misleading "fringe hallucinations" (as I call them, not full on hallucination, but mildly misrepresenting the actual intent/meaning).
There just isn't a place for them in my life.
Probably the single most impressive result I've had so far was with "What's that weird thing on the top of a P-38's engine nacelle that looks like a recessed sideways wheel?" Got it in one. I can't imagine getting anywhere with a conventional search engine there.
I definitely wouldn't rely on it for anything professional, though.
Even if we want to call them sophisticated autocomplete, why would I ever switch back to a dumb autocomplete?
I haven't actually tried copilot so I can't comment directly on that, but I have found the general space of LLM's to be useful.
Additionally (more importantly), the most magical part is still the architecture: there seems to be no end to the expressivity of transformers as long as you can pour in more compute. This can be extremely powerful and lead to more generalizable reasoning given the right learning objective (e.g., pose tasks as an RL Markov Decision Processes where state=text, actions=tokens, rewards=performance of generated code/math/language).
It may be a fancy Markov chain, but it seems to have understood the code it documented.
Things like "how to do this", "how does this work", questions about medicine, DIY, etc …
And contrary to the content farm internet, it allows you to have a real conversation to give you more précise information.
Is it 100% accurate ? I think not. But it’s trained on nearly all the books about all the topics so I put a lot more trust on this than on SEO optimized content farms.
The best way to chat with it is to think that you are talking to someone who have read and remembered everything with an endless knowledge of everything but who acts as an faillible human when you speak with it.
In the past I wanted to believe this can be the future, where open source will somehow win (at least in some parts). What I see is that even the biggest projects are mere tools in the hands of the big corporations. Linux, Postgres, etc. All great! But have been assimilated. I cannot really consider them a win.
It seems to me that it goes back and forth - it also seems to me that the advancements in LLMs will go a similar route.
Are you trying to argue that free software becomes less free because specific groups of people contribute to it?
In the consumer realm it has lost equally decisively.
The reason, I think, is that the distance between software nerds can use and software the general public can (or wants) to use is significantly larger than anyone understood. Getting something to work gets it like 5% of the way to making it usable.
Even worse, making it usable requires a huge amount of the kind of nit picky UI/UX work that programmers hate to do. This means they have to be paid to do it, which means usable software is many many times more expensive than technical software.
The situation is hopeless unless people start paying for open software, which is hard because the FOSS movement taught everyone that software should be free.
If you're using a hosted service based on open source software, you know that you can leave. You can grab your data and self-host. You can move it to another host that has reused or forked the code. You can run it locally. You have options.
If you're using local closed-source software, your files might not even be usable without an Internet connection. Think Spotify (closed source, local) where even your "offline" playlists won't load if you don't allow the software to phone home once in a while.
Spotify is SaaS. It’s an app that runs locally but the data and most of what it really does lives in the cloud.
If anything, it's the creatives who use more proprietary software than the folks doing generic office work that can get away using LibreOffice and read PDFs using evince.
We just didn't fully realize what that would look like before it happened.
But as a desktop? Most of my colleagues are using apple hardware/MacOSX. Personally, I'm writing this on Ubuntu - I've been on Linux since forever.
Another one: Android. Built on top of Linux, its core is open source, but is it REALLY in the spirit of open source? One most new phones you cannot put LineageOS (I've always checking the list before I buy).
How does it help that I have the source of Linux and Android, but I'm still not able to build the OS for most mobiles?
Don't get me wrong, I'm not disillusioned with open source. Not at all. I love and appreciate the open source I have (this includes e.g. Rust) I'm just cautious about what the author of the article is foreseeing. You might have a vibrant community, doesn't mean its output won't get wrapped inside some SaaS/big corp.
If you're a company, you almost certainly want support, certifications, and related benefits of having a commercial product. And it's nice to have that avenue to fund developers. But the side effect is that the software is still free as in beer open source that anyone can download. In general, I'd say open source infrastructure software has won pretty thoroughly (even if not universally).
It dominates everywhere from fairly small embedded, to super computers, with the one notable exception of the desktop, a shrinking market and mostly a historical anomaly (Microsoft cornered it before Linux was a viable player in that space).
I wouldn't say it is a "mere tool in the hands of big corporations". Sure these days most Linux developers are paid by corporations (a good thingg since that allows them to work full time on Linux) but the important point is that those corporations don't control Linux. Sure they can pay people to work on specific areas but they don't get to decide what gets merged or what the acceptance criteria are.
More generally, beyond Linux, huge swathes of new technology are expected to be open source or no one looks at them (think language and frameworks).
In the late 90s / early 2000s it became obvious that software development would no longer be about writing things from scratch but building on existing components. But there were two competing models for this. There was Microsoft's vision which envisionned a market of binary components that people would buy and use to compose application (that gave rise to the likes of Active X, DCOM, OLE) and the Open Source community vision that saw us building on components supplied in source form. It's clear that today the second vision has won. Even proprietary software now uses huge quantites of open source internally (take a look at the "about" screen on your Smartphone, TV or router).
LLMs may be the exception here for the moment (mainly due to the compute power needed for training).
Already the emergent tools and frameworks are impressive, and the fact that you can make them yours by adding a couple of prompting lines and really tailor them to your codebase is the killer factor.
My tooling ( https://github.com/go-go-golems/geppetto ) sucks ass UI wise, yet I get an incredible value out of it. It's hard to quantify as a 10X, because my code architecture has changed to accomodate the models.
In some ways, the trick to coding with LLMs is to... not have them produce code, but intermediate DSL representations. There's much more to it, thus the book.
If I could have run this when I was a student it would have been a real killer app. It is kinda impressive that I can run it on a crappy laptop.
I some way this is also really scary, job wise. I would not recommend anyone getting into the programmer fields after the last years progress in these tools.
But at least they will not be locked up to "OpenAI"'s servers ...
I wonder if there could be a community effort doing model training, like the protein folding? If 30 000 computers ran some model training while not being used, would that be enough to get anywhere?
LLM are so much help to get a newbie to some sort of entry level it gonna flood the market compared to when we entered. And the pay has got really good too, in itself a big enough problem leading to flooding from bellow.
Maybe not "crappy", but 5 years old by now and not high end for its time. Like mid range.
"Write a Python function that converts a dict to an html-table" takes about 60s locally, while ChatGPT takes about 8s.
LLMs reflect what they have been trained on, so the question is what they are trained on. In this line of thinking, at best they represent the groupthink, and at worst they are biased one way or another.
Which is not to be taken negatively, but is something important to keep in mind, though.
They're just saying that they're democratic in the sense that anyone can run them and they have a strong open-source community behind them.
Anyone know what the author means by brushes?
Also any recommendations for non-Copilot IDE LLM integrations? I've tried a couple but they felt far behind Copilot in terms of quality and smooth IDE integration.
You select some code and apply a brush and it'll use a preset prompt to modify it: "Make Readable", "Add Types", "Document" are some of the options. Copilot has a pretty poor implementation, and mostly they just butcher your code - but they seem very powerful, especially with custom brushes.
As far as I can tell, many of these "motivated communities" organize on Discord (search is garbage, poor integrations, login-gated and invite-only in many cases), and also Twitter/X (now login-gated, API locked down). And beyond AI there are communities and lots of valuable content on Reddit (also locking down as hard as they practically can). I will be 0% surprised if Github locks down their platform, too. It's too soon to tell how much it will pay off, but almost as soon as ChatGPT came out, the obvious strategy of every company with user-generated content is for all the valuable communications, insights, and social graphs of their communities to be proprietary training data for the proprietary LLMs of the future.
There is so much bullshit empire building in our industry that serves only to waste talent. Small teams working on problems that need tech but can’t normally afford it should hopefully deliver something akin to a productivity shot in the arm across industries.
We need to move quickly, because the “moat” that big tech monopolies will seek to create will be regulatory, decelerationist, and authoritarian.
If it takes a hundred million dollars to train a SOTA LLM, who is going to pay for and put that in open source?
Even Stability is starting to put restrictions on their releases (and is rumored to be searching for an acquirer).
1) Why wouldn't Facebook (who looks like they're kind of doing that now) or anyone trying to compete with whoever the big monolith is threatening to be (which looks like OpenAI/Microsoft?)
2) Do they even need to, or is/can LLM development be incremental? I haven't heard anything about Google Fuchsia (sp?) lately either.
The thing is, with software it's easy to verify (or, quite easy) that a contribution actually improves the code and thus gets accepted in the project.
A modification to an AI model, for how models are made these day, it's completely opaque, a black box. How we can evaluate the modification to ensure that it actually improves the model and does not harm it, or worse introduce malicious behavior (since AI are also used to write code, for example train the AI to write malicious code).
This is the real problem to solve, and to this day it's not solved. Probably the solution is to NOT have LARGE language model but rather have a multitude of small models (small enough that we can retrain them in hours with a normal PC) that are trained and tested individually, maintained by a group of persons in the open source community, and then merged together in a big model, just like a kernel is made up of thousands of individual modules that are then assembled together in a single software.
why a big model AT ALL?
Which is to say, a useful LLM is probably not going to be complex like an Operating System.
(Now, an LLM that looks fancy and can fool dumb investors, sure, maybe -- but an actually useful one?)
As much as I can create new things by cobbling together open source projects and answers on stack overflow at least.
Basically, we humans cannot tell when something is "new to us" or "new to the universe" and it honestly hardly matters in practical reality.
Finally, LLMs can totally "extrapolate" with techniques which encourage it to avoid its traditional training loss functions. A high temperature would do this, but it'll mostly just make your model crazy.