Now, with @randomuser s neural network extension, we can harvest responses from the forums so the ai can adapt! Actually I don’t think thats how her extension works.. i don’t have enough braincells to understand it
You know, It’s sad that there may be a ground lbreaking extension, lurking in the shadows, that we ignore because we don’t know how to use it, and it’s sad that it happens with this one because it actually really cool..
In @randomuser’s AI extension just provided that “net” and a few more features to do things with the net. Unfortunately, training most AI, especially LLMs, takes SO MUCH data and SO MUCH computing power and not to mention the memory requirements! Makecode doesn’t have enough of any of these to make a language model, but it’s got enough to make interesting stuff! The other problem is the actually training itself, which isn’t a process that’s… easy to understand at all. (Also language models don’t use the same type of net that the extension provides)
I got my math teacher to explain this to me lol. So you input in some stuff. (If you’re trying to make a LLM you input text.) And through some clever process, it produces an output. This is how it looks like.
Gawh thank you! I really hope to make it more user-friendly
I believe @Josef Is just trying to explain how in an AI, you need one input for every piece of data. In a LLM, each letter is a piece of data. Which means you need a TON of inputs. And, because each of the inputs has to feed into each and every output, there are many many more connections, and therefore calculations to be made. lots of data = lots of inputs = lots of computing, which makecode can’t handle.
(That’s an oversimplification, but I think it works, although I’m no expert)
The diagram is just a map of which “nodes” map to which other “nodes”. That’s why there are lines between all the nodes, because they all connect to the next ones. That’s why it’s called a “neural net”. Each node has some function. In the human brain, our neurons only “fire”, or pass their input signal along to the next neurons, if the input signal reaches some threshold, but in a digital neural net these “nodes” usually do something like multiply their input signal by some factor (“weight”) before passing the signal. The way this actually works to produce the correct output is much more complicated, and involves training the net to identify a certain thing and react a certain way when it identifies this thing.
I’m not gonna explain the actually good ways of training (because I don’t understand them) but the one I do understand is that you make a bunch of nets with random weights, and then test them. Then you take the ones that do the best, make a bunch of copies, and tweak their weights slightly, and then test and repeat.
The main problem with training nets is that you can never quite tell exactly how they work, because they are just too complicated. For example, I remember seeing a news story where researchers were training a neural net to identify some skin disease, but all the example pictures of this disease has rulers next to them, so in the end the neural net ‘learned’ to identify the rulers, not the disease.
This is a basic neural network, if you wanted to recreated a decent LLM that’s not happening. Period.
I highly suggest everyone watch 3b1b’s videos on LLMs. (Just search for 3b1b LLM and the video series should pop up - great YTuber and math explanation on how these glorified autocompletes work)
Grant (3b1b) is one of my heroes. I’m jealous because we have the same degrees in mathematics, yet he is way smarter than I am. I love that he invented a modeling toolkit for his videos, and I really want to spend some time to learn it.
YOOOO I watched that when I was making my neural network! I don’t know if it works but… hey, I tried. I also watch him consistently on other stuff, specifically quaternions, and anything regarding the 4th dimension.