4 ms·
Innovation in the most.simplest way, let me give you a simple example. Give an LLM the documentation of a library/framework it has no training data on and ask
by creesch 2y ago
Innovation in the most.simplest way, let me give you a simple example.
Give an LLM the documentation of a library/framework it has no training data on and ask it to implement a specific thing based on that documentation.
It will struggle to come up with code that makes sense. Even if it does have training data on the language itself, similar frameworks, etc.
Ask the same of a human who does have the same "experience" and they will be able to come up with something reasonable.
- ben_w 2y agoThat example doesn't match my experience of either LLMs (I've given them my own private projects and libraries and the best LLMs are fine) or human developers (who, myself included, say or think "WTF" a lot on new codebases), and also isn't a definition.
- creesch 2y ago> (I've given them my own private projects and libraries and the best LLMs are fine) It all does depend on how much you have given them and how unique your libraries are. If you have given them a relatively simple library with a code base that uses all the API calls in that library in multiple ways, then yeah, an LLM will be able to work on that as you have given it plenty of examples to base answers on. Give them just jsdoc/javadoc documentation, and they will give you very little in the way of useful implementations. Where a human in your own words might "WTF" a bunch but will be able to produce something. In fact, the ability to say WTF might even be what is important here. As an LLM will not even stop to consider if things make sense. > and also isn't a definition. Sure it is, more specifically, it is part of a definition. You want it to be explicitly this or that, but things aren't that simple. Sure, we can put a dictionary definition on it and call it a day, but that isn't very helpful. When I talk about innovation in this context, I roughly mean the ability to think of solutions where no previous examples are directly available. Extending the definition of innovation, I am highly doubtful the current generation of LLMs can implement frameworks/libraries based on new principles unless very specifically prompted. In which case you have a human architect behind it all, and I still believe you will end up with code that follows paradigms and structures that are at most "current".
- ben_w 2y ago> Sure it is, more specifically, it is part of a definition. You want it to be explicitly this or that, but things aren't that simple. Sure, we can put a dictionary definition on it and call it a day, but that isn't very helpful. When I talk about innovation in this context, I roughly mean the ability to think of solutions where no previous examples are directly available. A letter can part of some alphabet, but it is not itself an alphabet. A word can be part of some dictionary, but it is not itself a dictionary. An anecdote can be part of a dataset, but it is not itself a dataset. I think the definition you now give seems to be reasonable, but I'd like to compare that with the example to illustrate the problem of vagueness here: > Give an LLM the documentation of a library/framework it has no training data on and ask it to implement a specific thing based on that documentation. vs. > When I talk about innovation in this context, I roughly mean the ability to think of solutions where no previous examples are directly available. The example you give is the kind of thing that LLMs are really good at: translating one thing into another thing. The original use case of the transformer model was natural language translation, and they can do that well even when there's no explicit map from the input language to the output language, as they learn an intermediate representation for all. The same applies when the languages are jargon and synthetic: "business plan", "code" and "documentation". Is that innovation? It meets the example you gave, but does it meet the definition you gave? It depends exactly what you mean by "no *previous* examples": myself, I would say that "documentation" counts as "a previous example". But the more I think about it, the less that actually feels like innovation. It's in-context learning, which is neat, but it doesn't seem to meet what I'd expect from real innovation — at most it is the corporate (and government) self-congratulation that gets called by the same word. > Extending the definition of innovation, I am highly doubtful the current generation of LLMs can implement frameworks/libraries based on new principles unless very specifically prompted. In which case you have a human architect behind it all, and I still believe you will end up with code that follows paradigms and structures that are at most "current". This is a confusing point: that sounds like it's about following a new principle, whereas I would expect "innovation" to involve designing and specifying a new principle, determining its weaknesses through experiment. I believe LLMs are used as part of larger systems to do this, though I have no frame of reference for the quality, and I would accept that "LLM as component of bigger system" is different from "LLM" — a letter can part of some alphabet, but it is not itself an alphabet, etc.
- techjamie 2y agoI've performed a couple different experiments around this with niche programming languages. I gave one of OAI's 128k models the entirety of official documentation on MOO[1], which is almost entirely absent in training because materials online for it are scarce. It was able to answer questions to a reasonable degree, and provide passable example code. The downside is prompting this cost $0.35 per prompt, but maybe a finetune could handle it. I then attempted to have it walk me through writing a Greyscript[2] program, which is an interesting challenge since it carries many similarities to Lua, but is distinctly not. While I didn't have nearly the same amount of context as [1], relying on explaining it myself, it frequently hallucinated Lua functionality and had to be corrected every step of the way on this. Would be interesting if someone found niche languages in different styles with similar levels of documentation to test with. [1] https://en.m.wikipedia.org/wiki/MOO https://en.m.wikipedia.org/wiki/MOO [2] https://greyhackgame.com/ https://greyhackgame.com/