Or rather, you're blind to everything that doesn't require a hammer.
Even in most of the examples he listed (speech/voice recognition software, translation, games, and databases), the vast majority of "code"/logic is not a neural network.
You don't "train" your UI, neural nets won't directly consume audio or spit out encoded audio, don't do HTTP, aren't an operating system and just having a game AI is pretty far from having a finished game.
Neural nets approximate and guess, but for the vast majority of problems in computing we want the exactness of code.
And coincidentally that's what makes neural networks great: They let us solve problems where stating the exact precise steps to solve them is impossible.
I don't think he's suggesting your OS is going to be an ML model, but we will be surprised at how many problems they solve better than trying to do everything in a more manual way. I think this is pretty intuitive. Our programs used to say "Move this byte to this register" but now they say "Toggle this button". Eventually they will just say "Learn to produce results like this" with the same reliance on the developers who build the infrastructure as we have today for our compilers and interpreters.
That's a great way of thinking about it. It's worth trying to imagine what the programming experience would be like if writing a function amounted to simply defining input/output types, providing a collection of input/output pairs (i.e. train/test sets), and leaving the process of finding the solution / optimization to the "compiler".
I'm not an expert, but I thought pictures and audio were one of the few places where you could feed raw inputs into a neural net and get good results? Or am I wrong and we instead feed in some pre-processed version?
But that's still different from taking in the actual JPEG data, which is sort of what the parent gets at: something has to decode that, and that software isn't a neural net.
(Further, when I worked w/ ML that dealt w/ image data, we had a host of non-ML code written around it to support it, dealing with the various facets of running in the cloud, where to get the data, where to store the results, who to notify about the results, and a bunch of preprocessing on the image — such as removing pointless borders that humans put around images.)
Although, really, the more important question: Can we do studies on this without comparing expert computers to undergraduates who are just learning?
For algorithms that fit a particular form, you could always automatically derive an optimal solution (think of dynamic programming). The actual question is: When is a neural net a good idea? Personally, I think it will always be great when the output goes to a human. So speech synthesis is a really great example. The same holds for game AIs.
But things that go into a "software 1.0" system (anything that needs to be understood by humans)? It will be difficult. Imagine recognition for self-driving cars sounds great until you have the first deadly accident that you simply cannot explain. Your system might even be really, really good, but that won't reduce the liability in that one case where it doesn't work.
Also, what if there simply isn't an optimal solution? Matrix multiplication comes to mind; we think it's quadratic-time, given the asymptotic number of operations that ought to be needed, but all existing algorithms are cubic-time (rounded up), and possibly there isn't a quadratic-time algorithm.
I think there's probably some value in neural networks in game design, but I don't see it being prevalent at runtime, mostly just in the tooling.
Also, from my own experience building DVC - when you do any ML project you do have code indeed, but not doubt that data can be considered as important element as code, we need to take it seriously - track, review, etc, etc.
The callous nature in which people apply Silicon Valley mindset to critical infrastructure problems is scary: perhaps he should get off his self-driving high horse.
This is an unedited output of a language model which was not trained to pass programming phone screens. The only thing it was trained to do is to predict the next word in a sentence. Just 10 years ago this would be pure sci-fi. Today it's "meh". More importantly, there's no sign of slowing down.
I remember a doctor telling me that about a condition my child had. He said that "generally" it wasn't dangerous. It was interesting because to him what was important - naturally - was to work with the numbers and get the best overall results - without knowing or understanding exactly why. It was better for him and his time use to just know that it was "generally" OK. From my point of view I wasn't interested in "generally" but only specifically whether it was going to be dangerous in this case.
I think when the shit hits the fan for one personally then 90% you understand is going to be vastly better than 99% you don't. In a world where everything runs on the 99% model I imagine most people will have it good, but sometimes insanely terrible things will happen. Maybe that's ok.
As someone (I forget) pointed out we already have a form of opaque AI in the form of huge human bureaucracies that produce outcomes without anyone understanding all the steps that produce them. So maybe we already partly live in that world.
He's right about cleaning datasets being an entire job itself. But that should have been a red flag for his conclusion even then. Scaling anything means scaling costs. So, the more you want your neurochip to do that it isn't capable of doing by design, you need to do before or after it's done its task(s). That's what's between the lines of what he mentioned of "silent fails." If you don't want bias in your output, and your design isn't capable of vetting bias, you need to do the work of vetting bias before you pass that dataset off. That means you need an entire model defining bias, predicting impact and constraints on outputs.
I've said it before and will continue saying it 'til I'm apparently blue in the face: The complexity of a solution is dependent on the complexity of the problem it solves. I get that simple things feel attractive because they require less effort. We don't really reduce effort so much as we shift it from wholly solutionizing to partly solutionizing and mostly trying to continue to partly solutionize.