My take on generative AI is really not any different than my take on the current AI landscape in general; people (even otherwise smart ones) are missing the bigger picture.
Current high-quality AI models have 2 very important direct factors and one important indirect factor:
- They are "expensive"
- They are trained on existing data-sets
- There are very few top-tier models available at any given point in time
1 - "Expensive" Models
To start, I put "expensive" in quotes because they are not only costly in terms of compute power, but also still quite specialized in terms of skill in coming up with new approaches, knowing how best to select training and test data. This is the direct cause of point #3 which is more indirect, but I'll cover why that is important in a bit.
The key thing being that training a top-tier model is not something most companies can afford today. Beyond stating that, there isn't much else to cover here.
2 - Trained on Existing Data
This is crucial because it sets some rather interesting, indirect limits on what Gen AI can actually produce. And, most large models are also trained on overlapping data. For instance, as a coder, you'll likely find that most models have been trained on resources like GitHub and Stack Overflow.
So, not only are there very few quality models, but they have a lot of similarities in where they learned from and all of that data is limited to a point in time. So, large models tend to struggle in a lot of the same ways on a lot of the same issues.
An example would be, I used Gemini on my phone to try and create a picture of "a cartoon road runner dressed as the grim reaper". Every single image seemed to use the exact same image of THE road runner and it seemed completely incapable of making it look like that character dressed as the grim reaper. It always ended up looking like a grim reaper cloak HOLDING the road runner.
And the problem is fairly simple... there is no prior art (or at least none that the model was trained on) and very limited art it was trained on to match any key words in my request. And so, no matter how many times I tried to prod the AI to fix its mistakes, it just spit out almost the exact same image. Every. Single. Time.
The more data related to the prompt that the AI was trained on, the more likely it can tweak it to match your original prompt and react helpfully to suggested edits.
But, this undermines a critical business case for AI. AI is actually shit (at the moment) at producing original works. And, what makes a business successful is its ability to offer something that someone else cannot easily reproduce and outcompete them with.
3 - Lack of Options
Pulling those together, there aren't more than a handful of truly top-tier Gen AI models available at any given moment, and while they differ slightly they have similar training data and thus similar limitations.
As a result, if you could use a Gen AI model to create a piece of software quickly and easily. Then so can your competitors. Worst case scenario is that they would need to pay into a few different Gen AI models.
The Fallout
Continuing on this path of glorifying Gen AI we'll end up with a tiered approach to software which will ultimately look like this:
- Top Tier - Primarily Gen AI free code. Difficult to compete with until open source competition hits the scene
- Quality - Primarily Gen AI - but backed by competent coders. It will be distinguished by better security and fewer bugs - less down time. Not much competition, but often difficult to sell against cheaper competitors.
- Standard - Primarily Gen AI - backed by quality prompt engineers and in some cases a small contingent of actual developers. Code will be more stable than pure AI slop, but features and functionality will be mainstream to the point of mediocrity. Competition rampant.
- Slop - Purely, or nearly purely Gen AI code. Code will run. Will be generic. Likely riddled with security vulnerabilities and dubious amounts of down time and bugs.
At the end of the day, new features and top-tier code quality and security will still be the exclusive purview of human coders.
Freely available code samples of a large enough quantity to train massive AI models will ALWAYS be average below top-tier talent. So, the output will almost ALWAYS be below that level as well. And while this can be mitigated to some degree by quality prompt engineers, it will still often require a top-tier developer to scrutinize and implement those features.
Innovation is also going to be an area AI will always lag behind.
While the comparison is a bit pathetic, it works well enough; AI is like auto-complete. It starts with a prompt and then tries to form the most likely response based on what it has already seen. Getting it to produce a coherent answer to query which would require knowledge of something it has never seen is beyond current Gen AI models.
I try using AI tooling pretty regularly. I can see the value for some activities. And I see people trying to use it for things it can't do, or things it can't do competitively. NEVER write an entire application using Gen AI if your goal is to run a business off that code and make money unless you're able to train your own Gen AI to do so on a novel data set which your competitors and their AI don't have access to.
Comments
Post a Comment