Hacker News new | ask | show | jobs
by version_five 1191 days ago
Seems like the person who wrote the blog works in "classical" deep learning. So do I, so here's the fairest take I can come up with: "AI" has for recent memory been a marketing term anyway. Deep learning and variations have had a good run at being what people mean when they refer to AI, probably overweighting towards big convolution based computer vision models.

Now, "AI" in people's minds means generative models.

That's it, it doesn't mean generative models are replacing CNNs, just like CNNs don't replace SVMs or regression or whatever. It's just that pop culture has fallen in love with something else.

5 comments

Spot on. I work with deep learning systems in industrial control, and generative models are simply ill-suited for this sort of work. Wrong tool for the job.

But neither the traditional nor generative models are "AI" in the sense that normal people think when they hear "AI".

To me what’s exciting about Chat/GPT type of tech, is that they can be the “coordinators” of other models.

Imagine asking an AI assistant to perform a certain industrial control task. The assistant, instead of executing the task “itself”, could figure out which model/system should perform the task and have it do it. Then even monitor the task and check it’s completion.

This is just wrong.

Also, even if a LLM could do that, so could a shell script, without the risks involved in using "AI" for it, or for now the ridiculous external dependence that would involve.

I wonder if in 10 years people will be stuck debugging Rube-Goldberg machines composed of LLM api calls doing stuff that if-statements can do, probably cobbled together with actual if-statements

> I wonder if in 10 years people will be stuck debugging Rube-Goldberg machines composed of LLM api calls doing stuff that if-statements can do, probably cobbled together with actual if-statements

Sounds like an extension of https://en.wikipedia.org/wiki/Wirth%27s_law. How many times have I done some simple arithmetic by typing it into my browser's bar and checking out the google calculator results? When a generation ago I would have plugged it into a calculator on my desk (or done it in my head, for that matter...). I would be entirely unsurprised to hear that in another generation we're using monstrously complicated "AI" systems to perform tasks that could be done way more simply/efficiently just because it's convenient.

My son regularly uses Alexa as a calculator, and also asks Alexa all kinds of things without a thought as to whether the output triggers a simple pattern match and gets fed to a specialised process or triggers a web search or is processed some other way. It's all conversational anyway. So the day Amazon plugs an LLM into it, it's not a given he'll even notice the difference for some time.
It's not wrong. It's how modern systems operate. E.g. look at Google's SayCan (https://say-can.github.io/) which operates exactly like this (an LLM ordering a Robot around).
> doing stuff that if-statements can do, probably cobbled together with actual if-statements

In other words, old-school expert systems.

With the limit of 25k words it might actually be reasonable to test out a prompt for an expert system… but I’d still leave reasoning to something else, for now. Z3, prolog or some forward chaining tool like clips, but have the LLM hallucinate some of the rules?
LLMs are already taking over these sorts of systems in industry.

There are lots of systems where you're taking some information about a user and making a best guess at what action the system should take. Even without a need for super high accuracy these rule systems can get surprisingly complex and adding in new possible decisions can be tricky to maintain. In LLM world you just maintain a collection of possible actions and let the LLM map user inputs to those.

Sure, maybe you can use a shell script, but now the AI assistant can write it based on your verbal/text description, and then the assistant can also run it for you after you’ve checked it.

What your are saying is: “why use the washing machine, if I my clothes are even cleaner when I wash them myself - I also spend less detergent and less water”.

You are free to keep doing your laundry by hand.

But I bet most people prefer the washing machine.

Spare me the shitty analogies. We write shell scripts because it’s cheap, fast, and the behavior is very predictable.

Like it or not, an AI’s behavior is a black box and can’t be “proven” to execute exactly the same every time for the scenarios you are targeting.

A shell script will do exactly what it has been written to do every time, unless tampered with. And if changes need to be made, it can be done quickly without need for retraining, god knows how long that would take for an AI to learn something new. God help you if you need to maintain “versions” of your AI, trained for different things.

Face it, AI are pointless and slow for certain classes of problems.

> A shell script will do exactly what it has been written to do every time, unless tampered with.

Or unless some magic environment variable changes, or one of the runtime dependencies changes, or it is run on a different operating system, or permissions aren't setup right, or one of its tasks errors out.

Shell scripts are digital duct tape, the vast majority of shell scripts do not come close to being reliable software.

> god knows how long that would take for an AI to learn something new

Did you watch OpenAI's demo yesterday? They pasted in new versions of API docs and GPT4 updated its output code. When GPT forgot a parameter, the presenter fed back the error message and GPT added the parameter to the request.

> A shell script will do exactly what it has been written to do every time

I wish I lived in that universe.

Correct. So are humans.
I think you're fighting an uphill battle because of what you picked to defend here - shell scripts are very easy to write, and I have a hard time imagining a future where someone tells an LLM,

"Write me a shell script that runs run_control.py with the speed argument set to one hundred."

to get,

"./run_control.py --speed 100"

That's a trivial example, sure. Think of saying "make this image more red, flip it vertically, then crop the bottom 25%, and finally output it with 80% compression as a jpg". That would take 15 minutes to figure out how to write that with imagick, or just have an LLM do it for you.
Not to weigh in on any other aspect of this discussion, but when you say:

> I have a hard time imagining a future where someone tells an LLM, "Write me a shell script that runs run_control.py with the speed argument set to one hundred."

I'll point out that we already live in a world where single lines of pure function code are distributed as an NPM packages or API calls.

It’s not ‘write me a shell script to run this python code’, it’s ‘okay, the test part looks good, run the print again with the feed speed increased to 100, and make six copies. And Jarvis, throw a little hot-rod red on it.’
> shell scripts are very easy to write

I've been a developer for a long-ass time, though I don't have super frequent occasion where I find it worthwhile to write a shell script. It comes up occasionally.

In the past 2 weeks I've "written" 4 of them via ChatGPT for 1-off cases I'd have definitely found easier to just perform manually. It's been incredible how much easier it was to just get a working script from a description of the workflow I want.

Usually I'd need to double check some basic things just for the scaffolding, and then, maybe double check some sed parameters too, and in one of these cases look up a whole bunch of stuff for ImageMagick parameters.

Instead I just had a working thing almost instantly. I'm not always on the same type of system either, on my mac I asked for a zsh script but on my windows machine I asked for a powershell script (with which I'd had almost no familiarity). Actually I asked for a batch file first, which worked but I realized I might want to use the script again and I found it rather ugly to read, so I had it do it again as a powershell script which I now have saved.

Sure though, someone won't tell an LLM to write a shell script that just calls a python script. They'd have it make the python script.

I've been doing similar things all the time lately.

write me a function in python that ...

I've always forgot the syntax for alot of functions/libraries etc.

Also, I haven't really written lot of python until recently.

What? There are a lot of non-coders out there, and they could absolutely use an LLM to ask it to create scripts to run. In fact I along with a few of my friends already do this, I recently asked ChatGPT to figure out how to integrate two libraries together after I copy-pasted to docs from each (now with the GPT-4 32k token limit).
Spoken word into microphone implementation:

Run run control with speed argument 100.

AI: "Scheduling you for a speech therapist session to work on your stutter"

You're totally undermining your own argument by using "shell script" instead of "python script".
You are getting a surprising amount of backlash from this, but I think you are right. There may be better tools for the job, but general tools tend to win out as they get "good enough"
mediocre is acceptable for most things. i'd rather have 1000 free photos from my wedding than 32 perfect ones. i still ended up with more than 32 perfect ones.
The central question is that a controller is assumed to be specifiable and thus formally verifiable through model checking in principle.

With a neural network you have a black box and for example with ChatGPT it doesn't even have a specification. It turns the verification process upside down.

I'm not sure how the likes of ChatGPT could accomplish that even in theory, but I won't say it's not possible at some point in the future. Gpt itself, perhaps, someday.
Already ChatSpot is doing it. Their system is essentially a ChatGPT-enhanced Hubspot management system using chatux.

ChatSpot can understand your commands and then perform actions in the system for you, for example add a lead, change their contact info, write a blog post, publish it, add an image…

Edit: but if you connected it with physical actions, it could control your house, maybe check your smart refrigerator, order food on Instacart, send you recipe, schedule the time to cook in your calendar, request an Uber to pick you up from work, invite someone over, play music…

There’s a discussion about this on another homepage thread here: https://news.ycombinator.com/item?id=35172362

Ah, ok. I thought you were talking about something a bit more profound than that.
None of this is "industrial control task", aka "real work".
Well, it might be coming soon, check out the video here: https://say-can.github.io/
You can just tell the models to and tell them what tools they have available and how to call out to them. Langchain supports this iirc.
What do you imagine this would do that existing automation does not?
Perform tasks that humans do now, but at scale, automatically.

We are going to be able to automate everything and anything with the proper feedback loops.

For example, you could have an app that writes itself, deploys itself, tests itself, receives feedback, updates itself based on the feedback, writes additional tests, does CI/CD.

At that point you will be just creating and directing. Or you can choose whatever you actually want to execute.

And then if those same kind of processes are given access to physical tools, they could do all of our manufacturing, design and build their own machines and infrastructure.

We could essentially collaborate with our systems in the most amazingly seamless way.

The term "AI" was corrupted as described. People now use the term "artificial general intelligence" (AGI) to refer to what used to be called AI.
I was talking about what the average person thinks when they hear "AI". The average person has never even heard the term "AGI".
I'm curious about your work, because I worked on something similar during my grad school. What kind of applications in industry do you use deep learning systems for? Process control?
Yes, process control. It's used in coordination with vision systems to analyze work pieces, determine the best way of processing them, and direct other machinery how to do that processing.
That's cool. If you don't mind me asking, would you have any shallow level stuff that I could read on about this? Even a website or a blog post would be great.

In my grad school, we were working on something similar - using computer vision to analyze reactor flows to then change process variables. The results would be fed back into the system for RL. Too bad the project sorta froze after I graduated.

Your grad school project sounds very similar, yes, although we work with discrete objects rather than fluids. Fluid dynamics is much, much more complicated.

We actually use more than one neural network for this. The software is designed so the NN component is a plugin. The reason we do this is because some types of neural nets work better for some tasks than others.

Most (but not all) of our nets are convolutional.

Since you've already done some work with this sort of thing, I'm unsure about what level of overview would be of value to you, but this looks reasonable for a technically competent person who is new to the topic:

https://towardsdatascience.com/a-comprehensive-guide-to-conv...

As with all neural nets, the "secret sauce" isn't the code, it's the training.

do people actually use SVMs anymore?

like, regression, sure - because it's a tool to measure how well a hypothesis (polynomial function) matches the data (points.) and CNNs are still foundational in computer vision. but the first and last time I heard of SVMs was in college, by professors who were weirdly dismissive of these newfangled deep neural networks, and enamored by the "kernel trick."

but aren't SVMs basically souped up regression models? are they used in anything ML-esque, i.e. besides validating a hypothesis about the behavior of a system?

> but the first and last time I heard of SVMs was in college, by professors who were weirdly dismissive of these newfangled deep neural networks, and enamored by the "kernel trick."

LOL. Exact same experience in my college courses. Glad to know it's universal.

> do people actually use SVMs anymore?

Yes they are. They allow for non-linear decision boundaries and more dimensions than rows of data, which for many other ML methods is a problem.

Linear regression, logistic regression, SVM and CART decision trees are all still very popular in the real world where data is hard to come by.

We loved them in medical testing. Very explainable models.
The Generative AI is the AI for the masses. While people were getting overhyped with all the possibilities and promises of AI and deep learning etc. it is for the first time that they can also tinker and get surprised by its results. People feel creative interacting with it.
Isn’t most of the mathematics of AI old, as in really old?

Regression, both linear and logistic are from the mid 1800s to early 1900s. Neural networks, at least the basics are from around 1950.

What has really changed is the engineering, the data volume and the number of fields we can apply the mathematics to. The math itself (or what is the basis of AI) is really old.

backpropagation didn't get solved until the '80s, weirdly. before then people were using genetic algorithms to train neural networks.

and it was only in the last decade that the vanishing gradients problem was tamed.

my impression is that ML researchers were stumbling along in the mathematical dark, until they hit a combination (deep neural nets trained via stochastic gradient descent with ReLU activation) that worked like magic and ended the AI winter.

Right, and the practice of neural networks has significantly overshot the mathematical theory. Most of the aspects we know work and result in good models have poorly understood theoretical underpinnings. The whole overparamiterized thing for example, or generalization generally. There's a lot that "just works" but we don't know why, thus the stumbling around and landing on stuff that works
> and it was only in the last decade that the vanishing gradients problem was tamed.

One of the big pieces was Schmidhuber's lab's highway nets, done ~30 years ago, but just didn't land until a more limited version was rediscovered.

AI has been marketing term since the day it was coined. It means literally nothing, which means it can mean anything.
As the old joke goes, "AI" is anything that doesn't work yet.

Once an "AI" system becomes reliable, we quickly take it for granted and it no longer seems impressive or interesting. It's just a database. Or an image classifier. Or a chatbot.

I'd argue a database is possibly as far from an AI as you get. Indexing and data structures and storage systems that go into them are very deterministic data structures you can model out and roughly know the behaviour of before writing a single line of code. Image classifiers and Chatbots you don't know what you're getting out till you train it and deploy it.
Magic is just science we don’t understand yet.
Science is just magic we do understand is a cooler take.
Yes that’s the one I use for my daughter ;-)