Step Away From “The State Of The Art”
What is this blog about? It’s about taking a step back to move forward more effectively. Striving to be close to the state of the art is a challenge that most companies (including developers) should not be pursuing. The farther we are from “the state of the art”, the better.
Historical Context
For many years, the field of Artificial Intelligence has been quite undervalued. While societal perceptions of its value have changed, they have done so in a discriminatory manner. As the spotlight focuses on Generative AI, other subfields of AI have been sidelined. It’s notable how we refer to everything that isn’t Generative AI as 'Classic Analytics' with a somewhat dismissive tone.
Generative AI is just one tool among many in a toolbox, and we need to learn which tool is best suited for which scenarios. Companies and individuals are obsessed with trying to apply Generative AI, and there is a tendency to constantly chase the "state of the art" through papers and publications. But can this be counterproductive? The reality is that it can be.
What is considered "state of the art" today can become obsolete in the blink of an eye. Additionally, many papers focus on incremental improvements that may not have a significant impact on real-world applications. It’s also worth noting that this trend is appealing to many researchers, leading to a proliferation of papers, few of which have lasting influence.
What Should Be Done
The primary focus for most companies and professionals should be to establish a solid foundation in data engineering. Secondly, start addressing problems with other AI tools that have already reached a considerable level of maturity. And let me clarify, it’s fine to explore “novel” technologies and try to stay informed, but a balance between innovation and pragmatism is required.
"Classic Analytics" offers a vast field of business opportunities and a multitude of challenges to solve and optimize. It has the potential to deliver tangible and significant results for the business. You can achieve substantial financial success and innovate with Machine Learning; in fact, you are likely to be more successful because the community has more background and experience in taking projects from experimentation to production.
In my opinion, one of the several reasons why many companies are stagnating in the process of adoption or conversion into a data-driven organization is distraction and a lack of pragmatism. Without a solid foundation in engineering, there is no AI. This applies to both companies and developers.
Executing ML projects is not easy. Next, we will analyze the complexity of an ML project with a productive approach (from a high level) and the knowledge and tasks involved in moving these projects from experimentation to production.
What a Machine Learning Project Involves
Let's set aside business knowledge and focus, practically, on analyzing part of the technical foundation required to carry out such a project with a productive approach. We’ll avoid discussing specific terms and take a more "generalist" perspective:
1) Data Engineering: We need to ingest information, analyze it, interpret it, partition the data (training, validation, testing), clean the data, transform it (handle missing data, outliers, normalize data, encoding, etc.), and save this data again (in multiple formats/structures), etc.
1Downloading a Jupyter Notebook with test code and data might seem easy, but in practice, it’s not that simple to go from toy project to production.
3) DevOps/MLOps Practices: This area involves several domains, but to be pragmatic... A production grade model cannot be conceived without CI/CD. It will certainly require the deployment of new releases and process automation (e.g., testing when code changes are made). It also requires a structure to evaluate the generated model against what is in production as a solution (Shadow Testing) or between different models (A/B testing).
There are tools on the market, such as Comet, that allow us to manage, monitor, and especially provide visibility into insights generated automatically (compatible with Databricks, of course).
Sensitive information masking involves anonymization and pseudonymization to protect individuals' identities and prevent unauthorized disclosure of confidential information. However, in practice, this concept falls under the domain of data engineering.
This means that knowledge of APIs and web services (e.g., REST), message and queue services, events, integration with business systems in the ecosystem, etc., is also required. It’s true that some of these processes are partially automated or self-managed by certain platforms.
Solid Foundation in Algorithms: Understanding algorithms goes beyond using (which is not the same as applying) regression algorithms, decision trees, or neural networks. It’s also not just about using ML frameworks like TensorFlow, PyTorch, or scikit-learn.
I acknowledge that many other domains are not covered here, or have been grouped (MLOps and Evaluation), but the goal here is not to delve into detail or step-by-step construction of a Machine Learning model (we can cover that in another blog), but to highlight the knowledge and experience required by teams. These are achievable projects but with a high degree of complexity.
On the other hand, it’s worth mentioning that when approaching these projects, starting with a discovery phase is essential (especially if we are a consultancy developing a custom service) and the working methodology should be agile. It is neither feasible nor advisable to approach these projects in any other way.
Opportunity and Final Conclusions
The best thing that Generative AI has done is encourage clients to use these tools and address problems that, despite being solvable for a long time with "Classic Analytics," were overlooked or simply not considered until the recent wave of hype. In many cases, when people think of AI, they think of GPT, but in practice and from a commercial and business perspective, it doesn’t matter. This has helped spark curiosity and will encourage clients to modernize. I am sure this will continue to generate more data engineering, machine learning, and of course, Generative AI projects as well.
Society has opened its eyes and is willing to invest in these types of projects. Respect for these technologies and/or practices has grown (which, as we mentioned at the start of the blog, was not always the case). Back in my college days, I remember I once proposed my university thesis to be solved with neural networks and hearing some laughter or being called crazy. Today, society listens and is interested in these topics.
However, I am convinced that there is still work to be done on the culture side needed to position these practices where they should be, and I am not just talking about ML/AI as adopted terminology. I am especially referring to the foundation of all this, which is the mathematics and physics that govern everything.