Can I escape the never-ending cycle of “just” toying with new models to production?
Can I escape the never-ending cycle of “just” toying with new models to production?
Most of us have been there. Trying out a new thing is super interesting to many of us. We are curious to understand what we could do, how it works. But then applying to reach a goal, while interesting at first, often entails a lot of efforts, which are not particularly exciting. While applicable to pretty much any aspect of our lifes, this is particular true in IT. Taking a proven concept into production is hard.
I as a person are for sure in that camp. So I’m absolutely are throwing stones while being in a glass house here. But what I really see is that over the course of the last two years, pretty everyone eying on GenAI became pretty busy with just trying and philosophising about the newest shiny frontier models And that is natural. But what really counts to pic up those wonderful tools and get something done with them.
To be fair, curiosity is not the only reason to get stuck into this cycle. Another one is FOBO - Fear of better options. FOBO is a psychological phenomenon where someone avoids making decisions or taking action due to the nagging feeling that there might be a better choice out there. This is not new with GenAI. Setting a fixed timeline, amount of effort for exploration can help here.
A sister of FOBO is the well-known FOMO - Fear of missing out. This became more significant with the rise of “social” networks. There are so many things out there, which we get aware of, we feel the need to be part of many of those. Same with GenAI. It’s hard to keep focussed on finishing the task at hand with the tool we picked up earlier. Maybe we are missing out of the next good thing?
This weekend my LinkedIn bubble - and as you are reading this, yours also most likely - was full about the catchy statement of Ilya’s statement “Scaling laws for LLMs at the pre-training stage plateaued”. Many commented that this is now a good time to start building, as there is no reason for FOMO/FOBO as to progress significantly some innovation needs to happen. So we got time to build. In my opinion the observation sound realistic - not super surprised that we seem to can not brute force all the way towards AGI - but the conclusion (“let’s go build” - just now) is wrong. We need to pretty much always be able to build and escape the cycle of inaction. The is always a chance that the next perfect solution might be around the corner. Only then we can create value and only then we can derive true learnings as toying with something new is usually not good enough to get deep insights.
Ok - maybe this all sounds true (and thanks for sticking with me until here), but how can we brake the cycle? Putting something in production is costly! What if we waste all of the efforts? At the moment we finished, it’s irrelevant - maybe? If you look at this, it might look familiar to you. In software engineering we are always facing this situation. We are looking at a Problem and a Solution Space. Both are constantly changing over time. And we have mechanisms and approaches established to deal with this, to waste as little effort as possible while constantly generating business value and obtaining user feedback. Things come to mind:
**Test Driven Development: **By defining test cases you get the ability to change your implementation while being sure that you still delivery a solution which satisfy your requirements. This is a way to change implementation in an existing system without breaking the user experience. If you adopt this to your GenAI applications development, you are able to e.g. swap your current model with a more performant, cheaper model without waiting for this model before your start building and providing your application to users already. While you maybe need to put more effort in initial versions, you already generate business value and collect user feedback which will outweigh the additional effort you might have needed to put in initially.
Evolutionary Architecture: Evolutionary architecture is an approach to software development that supports guided, incremental change across multiple dimensions as a first principle. It is designed to evolve over time as business priorities change, customer demands shift, and new technologies emerge, rather than remaining rigid and resistant to change. Diver deeper here requires another post. Let me know if there is appetite for this.
So we have the approaches and mechanisms in place and what ever happens next in this fascinating field of AI, the current ability it provides allows us to build successful applications. Let’s not wait ;
And now go build!
Cross-posted to LinkedIn