Deep Blue Conversations

In my last post I briefly touched on the subject of Generative AI's capabilities and some of the controversies surrounding its abilities.  In this post, I'm going to explore the subject in more depth.

I'm by no means an expert on AI or the ethical questions surrounding it.  I'm fairly certain I've done significantly more reading on the subject than most people, but I'd defer to someone with better credentials when faced with a discrepancy in our arguments.  That being said, this is still the internet, so I'll issue my opinion forthwith.  Feel free to engage in a constructive discussion with me or troll me.  That's what the internet is here for.

ChatGPT, Huh, What Is It Good For?

Actually, quite a few things.  Since it first burgeoned on the scene in a major way in the spring of 2023, I wanted to get a better understanding of its capabilities and limitations.  I've been in the corporate and tech spaces for a while and my natural inclination around this type of hype is to remain skeptical, since the next big thing seems to pop up every six months or so.  In fact, I often take an initial position at the other extreme to find evidence of why brand X isn't the greatest thing since sliced bread.  

[Then again, I have a deeply ingrained distrust of authority and conventional wisdom, so take that into account when forming your own opinion.  When I first learned I was going to be a manager for an extended period, I didn't look for the mind-blowing parables written on the subject in childlike language about moving my parachute or coloring my cheese.  I settled on a book titled The Management Myth by Matthew Stewart.  From there my contrarian management style over the next decade and a half was off and running.]

While researching the utopia and dystopia that AI promises, I encountered a few articles featuring the work of Emily M. Bender, who coined the term "Stochastic Parrot" in reference to Large Language Models (LLMs).  In essence, the term indicates that there's no mind behind any of the LLMs like ChatGPT.  They're just extremely large programs that hoover up all available information on the internet and spit a response out one statistically probable token at a time.  

That's the "Parrot" part of the expression.  The "Stochastic" portion refers to the fact that the models generate their responses on the fly and aren't consistently predictable.  They can be analyzed for trends after the fact, but you (and ChatGPT) would be hard-pressed to predict what it would say next, even if given the exact same input.  The stock market is another example of a stochastic system.  Highly unpredictable, but somehow still ripe for in-depth analysis.

It helped me to keep this model in mind during the early days when every mention of AI would whipsaw between "it's going to kill us all very soon" or "it's going to make our lives a panacea very soon."  Turns out, a year on, neither of these is close to being true.  

Generative AI can cause great harm.  Shortly after the hype machine cranked up, there were several stories (most notably this one about IBM) intimating that AI was responsible for a wave of layoffs.  Anyone who's used any of these LLMs for more than a few minutes and has even the most rudimentary critical thinking or observational skills knows that these bots aren't ready to replace any category of job.

A lot of articles indicated that freelance writers were particularly impacted at the outset, which is a sad commentary on the state of what companies are looking for from writers.  It turns out that they're just content mills searching for keyword hits and have no concern for the actual content being produced.  This isn't a surprise, but it's disappointing that entire businesses can somehow make money off simply mining keywords without producing value in return.

This far down, I realized that I started off this section hinting that ChatGPT is actually useful, but then spent several paragraphs seemingly indicating otherwise.  So what is it good for, then?

In my interactions, it's good for providing advice to very specific queries and provoking creative thought in its users by generating information that they may have otherwise overlooked.  In other words, it's great as an expedient research tool.

Here are three key examples:

  • Recipes - The first time I asked ChatGPT to give me a suggestion, I was concerned that it was going to provide me with a response for a delicious Pineapple Mayonnaise Dark Chocolate Casserole.  It didn't.  Its suggestion for a sweet and sour sauce was fairly spot on with just a little bit of tweaking.  As with all of its suggestions, it's not going to offer you anything novel and it may leave out relevant information.  On more than one occasion, it listed ingredients for me but forgot to tell me the amounts needed for the recipe.  It also mentioned ingredients in the body of the recipe without enumerating the ingredients in the main list which can be a bit confusing, as most people look at what they need to make the recipe before going into the section on how to compose the recipe.  I've been cooking for a while, so I was easily able to fill in the gaps.  In some cases, I was able to ask clarifying questions to get better answers, but ChatGPT has a habit of going down the rabbit hole once it's struck a wrong chord.  Because it has no mechanism to understand the basic premise further,  it tends to double down on its faulty logic, and asking variations of the same question often results in recycled nonsense.  Note that this is not the same as asking more specific questions, which is what we'll be doing for our site in the future (and where it should prove helpful).
  • Bounded programming tasks - I recently completed an Udemy course on Machine Learning and ChatGPT was invaluable in helping me access information about Pandas API calls quickly.  Googling for the relevant Pandas API can be tedious, but ChatGPT often presented the right answer immediately.  However, as with the recipe case, there are also examples where the information was incomplete and occasionally flat wrong.  Variable references appear in some of its code without being properly defined or initialized beforehand.  I used picoCSS for a mini project last week and rather than admit it didn't know the particulars about grid spacing shortcuts in the framework, it simply told me how to build a grid using plain CSS, which is not the question I posed to it.  ChatGPT is incapable of saying "no" or "I don't know" regardless of how many times you ask it something it's unfamiliar with.
  • Idea generation - When I asked ChatGPT to help me start an online travel agency, I had a pretty good idea of what I was going to get - a lot of vague references, some of which treat the complexity of my question as laughably simple.  What was useful, though, was its enumeration of the 8 Pillars (as I'll continue to refer to them) and the sub-bullets underneath.  I now have approximately 32 discrete pieces of information to pore over.  Again, nothing there is novel, but it quantified the information in such a way that I decided to move from one introductory blog post to two with ideas for several others (including this one) as I worked through its output.  This is why even its banal papers on the causes of World War I are invaluable.  Not because it succinctly summarizes the information for me, but because it doesn't.  It produces a list of facts to verify that, as long as I do the work, can be checked and augmented through my own research.  Turning in the paper sight unseen for a class assignment (or legal briefing) is a precarious approach, but utilizing a robot that gives me the basic framework and does initial research - regardless of how dubious - can be a huge productivity boost.
No Silver Bullet

In each of the three scenarios above, ChatGPT served as a tool to help boost productivity but still required some knowledge of the space by the user to ensure that the information was correct.  

In the recipe space, I'm well-versed enough that, if ChatGPT were to provide me instructions to add four heads of garlic, I'd be wise enough to add four cloves (I like garlic and usually double the amount a recipe calls for, but that might be a tad much).

Regarding the Pandas example, I don't know Pandas well enough to remember its API calls off the top of my head, but my Python skills are solid enough that it takes me far less time to tinker, fail, and then succeed than it does for me to search for the API call directly.  The risk here is the same as blindly copying code from Stack Overflow, though.  If you don't take the time to understand why the call is being made, the best eventual outcome is that you'll have a mishmash of crap that's difficult to maintain.  The worst eventual outcome is that your system is both unmaintainable and insecure.

I remember very little about World War I history, but, if I were to do the legwork, ChatGPT wouldn't be a bad place to start to get ideas on research.

The prime argument I hear about the usefulness of Generative AI is that it will free us up to think more creatively by completing the mundane tasks of our lives or jobs.  There may be some merit to that, but it misses a very important point about career or knowledge development - in order to become creative, do we have to suffer through some of the tedium to make the requisite connections?  

As a related aside - in the early 2000s, right after the Dotcom meltdown, software engineers feared that their jobs were going to be outsourced or offshored en masse and that only a select few architects would be needed to design the systems while minimally paid developers could be used to take the design from concept to completion on the cheap.  

There were a few things wrong with that assumption:
  • If architects aren't building the systems they design, then they have no idea how to handle the inevitable complexity that's inherent in those systems.  Elementary physics often assumes perfect forms (a complete sphere, a frictionless body, no entropy) which is useful in imparting basic concepts but would fail miserably if directly applied in the real world.  It's why several disciplines of engineering exist - to make the theoretical practical.
  • Good software engineers do their best to understand the non-trivial complexity, thus making them valuable, non-trivial employees rather than coding worker bees.
  • The arc from a beginner to an expert designer is huge.  You can't simply study advanced software design without learning and practicing the concepts they're based on.  Even stepping away from the practice to focus solely on design (even with decades of experience) risks a loss of critical information.
As such, that particular employment fear didn't come to pass.  Much of what's happening with Generative AI seems to be following a similar path.  There's a lot of handwaving about removing simple tasks from people's lives without understanding if the tasks are actually simple.

There are a couple of caveats that are worth pointing out here, though I still don't believe they change the conclusion of my argument.

First, there absolutely should be tools that make our lives easier over time that require less expertise (at least among a broader populace) about how the basics work.  My introduction to programming assembly was very brief - maybe two weeks - and only hard-core fanatics would claim I need to know assembly inside and out in order to understand modern software engineering.  Sure, it helps in some nuances, but it's not required.  If we're going to follow that line of logic, then it's not hard to make the leap that I should understand the electrical mechanisms that power computers in the first place to better spot hardware bugs.  At some point, a level of abstraction is acceptable.

Second, there may be a point at which AI's ability to code may be indistinguishable from a human's (the freak out du jour is around Devin), but that day is not today.  There's a mathematical proof in computer science known as the Halting Problem that effectively says a computer can never definitively determine if it's still waiting for input yet to arrive or if that input will never arrive.  Technically, humans can't either; we don't have any greater knowledge to decide if a system is slow or if it's down, but we have certain guesses and contexts that subtly urge us to make a reasonable decision and move on that a machine lacks.

If the computing power of Generative AI grows to be powerful enough that it equals a human's ability to deal with the halting problem, then it's worth revisiting whether or not developers should look for another job.  But again, today is not that day.  ChatGPT is still a combination of mostly coherent logic combined with enough incomprehensibility that prevents it from being any source of truth for anything but the most simple cases.  That doesn't even touch on the ethical, copyright, or power consumption usage that also might throw a wrench in the proverbial plans to make AI all things to all people.

When someone says Generative AI will make our lives better, that's great, but we need more specifics.  Often the people issuing such vagaries have interests elsewhere - either in selling AI products, finding ways to "boost" productivity by reducing headcount, or both.  

They also leave out the ways that irresponsibly handling this technology could cause us harm without going all Skynet or Matrix and killing or harvesting us for our organs.  Generative AI could continue to reinforce our own individual biases even further to the point that we harm ourselves or each other based on errant information; it could convince enough titans of industry that they are, in fact, capable enough to replace workers causing mass unemployment that destabilizes society before it has sufficient replacement institutions to reload; or it could simply train itself off of other AI output creating copy upon copy upon copy until it becomes so incomprehensible, it drags us down into its stupid circles of hell because there's nothing coherent left to read.  Or it could be yet another tool that promises great hope or soaring despair and simply becomes another small step in humanity's progress.  Remember Ginger?

Until next time my human and robot friends. 


Comments

Popular Posts