This still seems like gradient descent wrapped in new terminology. If all learning happens through weight updates, its just rearranging where the forgetting happens
Me neither, that's why I wrote that someone claimed that they did.
The idea is simple, in a way, with diffusion several sentences / words get predicted, but they usually are not of great quality. With auto regression they select the correct words.
Increasing quality and speed. Sounds a bit like conscious and sub-conscious to me.
This started as a small experiment in structural rewriting. The basic idea is
that you give the system two or three before and after examples, press Teach,
and it learns that transformation and applies it to new inputs.
It is not an LLM and it is not a template system. There is a small learned
component that decides when a rule applies, and the rest is a deterministic
structural rewrite engine.
There are a few demo modes:
TEACH: learn a structural rule from examples
COMPOSE: apply several learnt rules together
TRANSFER: use the same rule in different symbolic domains
SIMPLIFY: multi step rewriting
CODEMOD: for example you can teach lodash.get to optional chaining from two examples
Once a rule is learnt it generalises to inputs that are deeper or shaped
differently from the examples you gave. Everything runs on CPU and learning
happens in real time.
If anyone saw odd behaviour just now in the demo,
that was my fault. One of the codemod rules was leaking into the shared rule
registry instead of being scoped to the current user. I have isolated that and it should be fixed.
The core engine was not affected. The issue was simply that a user taught rule
was visible to other demo modes, which made it fire that
rule everywhere.
If anyone notices anything else strange, let me know. It should behave normally
now.
Right, associativity is the simplest case because the structure is visible
directly in one example.
The system needs multiple examples when there is more than one varying part
and a single example is ambiguous. A simple example is wrapping a function
call. With: