this post was submitted on 08 Jun 2024
2124 points (98.9% liked)
Programmer Humor
19564 readers
1017 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
The trouble with phrases like 'neural structures' and 'language parsing' is that these descriptions still play into the "AI" narrative that's been used to oversell large language models.
Fundamentally, these are statistical weights randomly wired up to other statistical weights, tested and pruned against a huge database. That isn't language parsing, it's still just brute-force calculation. The understanding comes from us, from people assigning linguistic meaning to patterns in binary.
It is parsing and querying into a huge statistical database.
Both done at the same time and in an opaque manner. But that doesn't make it any less of parsing and querying.
Language parsing is a routine process that doesn't require AI and it's something we have been doing for decades. That phrase in no way plays into the hype of AI. Also, the weights may be random initially (though not uniformly random), but the way they are connected and relate to each other is not random. And after training, the weights are no longer random at all, so I don't see the point in bringing that up. Finally, machine learning models are not brute-force calculators. If they were, they would take billions of years to respond to even the simplest prompt because they would have to evaluate every possible response (even the nonsensical ones) before returning the best answer. They're better described as a greedy algorithm than a brute force algorithm.
I'm not going to get into an argument about whether these AIs understand anything, largely because I don't have a strong opinion on the matter, but also because that would require a definition of understanding which is an unsolved problem in philosophy. You can wax poetic about how humans are the only ones with true understanding and that LLMs are encoded in binary (which is somehow related to the point you're making in some unspecified way); however, your comment reveals how little you know about LLMs, machine learning, computer science, and the relevant philosophy in general. Your understanding of these AIs is just as shallow as those who claim that LLMs are intelligent agents of free will complete with conscious experience - you just happen to land closer to the mark.
Brain structures aren't so dissimilar, unless you believe there's some metaphysical quantity to consciousness this kind of technology will be how we do achieve general AI
Living, growing, changing cells are pretty damn dissimilar to static circuitry. Neural networks are based on an oversimplified model of neuron cells. The model ignores the fact neurons are constantly growing, shifting, and breaking connections with one another, and flat out does not consider structures and interactions within the cells.
Metaphysics is not required to make the observation that computer programmes are magnitudes less complex than a brain.
As a programmer who has studied neuroanatomy and the structure/function of neurons themselves, I remain astonished at how not like real biological nervous systems computer neural networks still are. It's like the whole field is based on one person's poor understanding of the state of biological knowledge in the late 1970s. That doesn't mean it's not effective in some ways as it is, but you'd think there'd be more experimentation in neural networks based on current biological knowledge.
What sort of differences are we looking at exactly?
The one thing that stands out to me the most is that programmatic "neurons" are basically passive units that weigh inputs and decide to fire or not. The whole net is exposed to the input, the firing decisions are worked through the net, and then whatever output is triggered. In biological neural nets, most neurons are always firing at some rate and the inputs from pre-synaptic neurons affect that rate, so in a sense the passed information is coded as a change in rate rather than as an all-or-nothing decision to fire or not fire as is the case with (most) programmatic neurons. Implementing something like this in code would be more complicated, but it could produce something much more like a living organism which is always doing something rather than passively waiting for an input to produce some output.
And TBF there probably are a lot of people doing this kind of thing, but if so they don't get much press.
Pretty much all artificial neural nets I have seen don't do all or nothing activation. They all seem to have activation states encoded as some kind of binary number. I think this is to mimic the effects of variable firing rates.
The idea of a neural network doing stuff in the background is interesting though.
The fact that you believe software based neural networks are, as you put it, "static circuitry" betrays your apparent knowledge on the subject. I agree that many people overblow LLM tech, but many people like yourself grossly underestimate it as well.
This is all theoretical. Today it’s quite basic with billions thrown at the problem. Maybe in decades these ideas can be expanded on.