golden nugget online

Lets stop pretending AI is magic....

In 1962, Arthur C. Clarke eruditely commented that ‘any sufficiently advanced technology is indistinguishable from magic’. While there has been a swift pace of development and experimentation with AI in the past number of years, I think it’s fair to say that the pressure put on business during the Covid pandemic has increased the corporate appetite to believe it as something that can deliver miracles.

One of the questions that is commonly asked (albeit in hushed tones so you don't appear silly) is simply 'What's the difference between AI and Machine Learning?' ... for the purposes of this article, I think Mat Velloso (http://twitter.com/matvelloso) says it best....

No alt text provided for this image

Around the business table, and indeed the engineering water cooler, there still seems to be confusion over what AI/ML (or whatever you want to call it) can actually do, the ease of implementation of someone’s magic-wand wish-list, and the expectation that it will enable organisations to cut dramatically costs and headcount at the same time as increasing sales. We need to change the view that AI can replace humans to the reality that it can, and should instead, enhance and empower our human teams.

I have been in numerous discussions with Mr.X … you know the sort, he’s the braggart who has usually failed as an engineer, knows just enough to be dangerous, and as he learns golden nugget online words, sprinkles them into every business conversation to prove what a smart fellow he is. ‘Let’s use Tensorflow’ .. ‘Deep-Learning is the future!’, he champions (while swiftly glancing around the room to ensure no-one actually knows what it means before proceeding…) … ‘it will do everything we need and allow us to cut our engineering and operations costs in half!’. Unfortunately, Mr.X is in a trusted position in the organisation and hasn’t been found out yet, so as usual it falls to his beleaguered underlings to try to mitigate the impending slow train-wreck he has started and may take years to fully unfold. As plans start to drag, and deadlines get missed, Mr.X starts pushing downward and causing even more damage, panicking because his grand vision is not being realised by his minions colleagues.  

No alt text provided for this image

The damage this kind of thinking and management style does to organisations worldwide is immense, and it is only by educating ourselves on the realities of what is possible that we can build healthier organisations that don’t depend on the toxic Mr.X’s of this world to guide us forward.

But its complex technology, no?

Engineering combines both a science and art. The science bit is what we learn in school, the art is that wonderful splash of creativity combined with hard-won lessons earned at the trenches over the years. One of the truths in Engineering is that the answer to everything is ‘it depends…’ 😊, and this truism is very relevant to the application of Artificial Intelligence solutions in the organisation. When we boil even the most complex technology down, it’s still just 1’s and 0’s combined in a big crazy logic flow-chart. I love technology because its black and white, and when you think about it, even the grey areas are calculated using weighted factors. In the end, even ‘it depends’ ultimately comes down to a percentage probability of one thing over another.

No alt text provided for this image

The great jazz musician Charlie Mingus said ‘Making the simple complicated is commonplace. Making the complicated simple, awesomely simple, that's creativity’. In most cases, simple is best, simple is cost efficient and simple is fast to implement. Simple is built on what you know, or what can be easily adopted, using the baseline of skill you have in your organisation and hopefully, without having to engage outside assistance.

I’m not saying that AI is simple, what I am saying is that sometimes the best solution to your problem is not a fancy AI model but actually a well crafted few lines of SQL code! Before we start wildly looking at that shiny golden nugget online thing, we should be asking ourselves what we can do with the resources and knowledge we already have, and if we do ‘just enough’ will it actually have sufficient impact on the business to make progress regardless. If you take this as a starting position, you will find that most of the time incremental constant improvements win out over big bang solutions every day.

Now let’s move on to discuss how to combine simple, and just good enough, with the awesome, so that 1+1=100.

The (cloud first) toolbox is your friend

When I started as an engineer, the internet was not even in its infancy, and the boundaries of my world of technical knowledge were defined by the technical books on my shelf and supplemented by the helpful learnings imparted by older and far more wiser folks in the office than myself. In those days, my engineering toolbox was pretty lean, and creative leaps were hard to come by. When I talk at conferences, one of the frequent questions I receive is ‘how do you keep up with everything, technology changes so fast?’. The answer is that you should strive to keep a broad awareness of industry and technology changes and advances, but only dive deep when you have a particular need.

When we the spring comes and we decide to tend to the garden, we don’t start by firing up our personal iron forge and hammering a garden shovel and rake from bare metal, instead, we choose implements ready made for the general purpose of gardening, and then use them in the manner that suits our gardening requirements best. From a technology point of view, we need to get over the ‘not built here’ mindset and embrace the AI and cloud services provided to us as a general implementation, that we can then tailor and integrate with our specific use-case. 

No alt text provided for this image

Just because a third-party offering doesn’t do everything you need is not a legitimate reason to start an epic march for the golden goose of perfection that frankly will rarely be found. It is far more prudent and a sign of good leadership, to recognise the core competencies of your organisation and engineering teams, focus on that, and buy in, and leverage anything that is non-core. If you find you are developing an expertise for something in-house then by all means consider making it part of the core mission, but in the meantime, whatever you do, stop trying to reinvent the wheel, over-promising and making everyone look bad.

From an AI perspective, there are many tools and cloud services you can use. In my case I am very Microsoft Azure focused because I happen to believe their technology does an incredible job in integrating the entire spectrum of the engineering toolchain within a single development environment with the awesome (free and open source) visual studio code editor.

I am heavily involved in R&D at the moment and wear my CTO hat while buried deeply in code solving some frankly very tough technical challenges. As part of the research carried out we have made some interesting discoveries and have been fortunate enough to be able to patent these technical advances. The interesting thing I have reminded myself along the way is that AI is not magic, rather it is the careful application of a complex but intuitive series of steps that like baking a cake, you can either do entirely from scratch, or do faster and simpler (and arguably cheaper) by adding in a few pre-made ingredients.

At DataWorks we are interested in data that originates from the web, in particular, eCommerce data. My co-founder and I have spent many years at the coal-face of the industry, on both sides of the fence, both collecting and consuming very large volumes of eCommerce data. Collecting data from a few eCommerce websites is easy, and one can easily fall under the false assumption that scaling up is going to be easy – unfortunately that’s not the case. As it turns out, collecting data from the web at scale, while maintaining high levels of data accuracy is extremely difficult, and guess what, it’s not just about AI. To bring together a world class platform that can operate seamlessly at scale is challenging. If we decided to build everything from scratch we would have wasted many person-years of development, lost sales, and market advantage. Instead, we have used cloud-first technology and services to our advantage by focusing on our core competency and leveraging the work others have done to build an offering that is far more valuable to both our customers and shareholders than the sum of its different parts. If you are interested in this area feel free to reach out and we’ll be happy to tell you more.

No alt text provided for this image

When we write code, the vast majority of what we do is built on the work of others. It doesn’t matter if this work is presented to us as a snippet of code we cut and paste from the Internet, an open-source library or framework like React, Angular or Tensorflow or as a commercial library, API, or something from the suite of available technology in Azure Cognitive or Applied AI Services. What does matter is how we choose to spend not only our personal time, but critically, the very limited and finite budget resources of the teams in our organisations.

For DataWorks, from a practical point of view, this means using an Azure API where we feed in text, and it let’s say applies some clever (but not magic!) logic. The resulting output will do various things like classify the text, tell me if the sentiment is positive or negative, and perhaps even write an automatic blog post analysis for me using GPT3 (oops, there I go, dropping in buzzwords like Mr.X!).

Being aware that the tools available to me in the cloud-first world goes beyond the code on my laptop, and includes every API built by all the clever engineers that back and supports the AI driven services provided by Microsoft, Google and the other cloud vendors allows me to appear like I am preforming magic, but of course we know I’m not.

And that’s the point of this article – to remind everyone, especially senior management who sit at the big table, that AI is not a panacea, its simply another tool in your engineering toolkit and like all tools, has a very specific purpose, even if Mr.X tells you otherwise!

(ps: and if he does, run, very very fast in the opposite direction!)