4th July, 2023
Ahmad Anis: Exploring the Art & Science of Machine Learning
Ahmad, a Machine Learning Engineer at RedBuffer, is a writer with a collection of over 40 insightful blogs on Machine Learning and Deep Learning. His articles have been published on various platforms like Towards Data Science, KDNuggets, CNVRG, and more. With an impressive StackOverflow reputation of 2300+ points, Ahmad has made a significant impact on the knowledge-sharing community impacting 200k individuals.
Not only does he possess expertise in theory, but he also contributes to the practical side of the field through his open-source contributions to renowned repositories such as OpenAI’s Shap-E and AWS Rekognition. Moreover, Ahmad actively is an AWS community builder and serves as a regional lead at Cohere for AI, further solidifying his dedication to fostering collaboration and innovation within the AI community.
What is your role at Red Buffer and what projects have you worked on?
I am working as a Machine Learning Engineer at Redbuffer, and I have worked on various projects. The specific details of the projects can not be disclosed, but here is a high-level overview.
- A high-quality OCR running on low-end devices offline to secure sensitive information in real-time.
- Performed R&D over the Illegal Bowling Angle Detection in Cricket using Deep Learning techniques.
- Worked on creating modern high-quality dashboards using Plotly and Dash in Python, and integration in a complete ETL pipeline.
- Prompt Engineering for aiphotos.ai, which is a Red Buffer product that focuses on creating Artfully Inspiring photos using Artificial Intelligence.
Prior to Redbuffer, I was working at WortelAI where I worked on the following projects.
- Safety Detection system for construction sites. Used object detection techniques to detect whether a person is wearing a safety hat and safety vest or not.
- Neural Search Engine using Qdrant, CLIP by OpenAI, and Elasticsearch.
- Multi-Label Multi-Class Classifier on a big diverse dataset scraped from Reddit.
- Data visualization using QGIS and PostGIS of panoramic Image segmentation.
- Large Scale Celebrity Detection and Classification using 3DDFAv2, SORT, ResNet50, on a 172GB dataset
What excites you the most about being a Machine Learning Engineer?
Machine Learning in itself is something that excites me the most. The capabilities are endless. The internal satisfaction you get when you see the loss of a model converging, or you see the bounding boxes or segmentation masks over an image, or the model generating poetry in the style of Shakespeare.
The new advancements that are coming in the field of ML, all these baby steps in the progression of the field, and above that most of it is open-source for a long time, you will not find any scientific community that is this much open about their research. The urge to improve these models, or train one from scratch, making an exciting application on top of it is what excites me most about being an ML Engineer.
What are the technical skills required to be a Machine Learning Engineer?
In order to become a good ML Engineer, the first thing I would strongly emphasize is Python and problem-solving skills. These are the most basic and most important skills which you will be needing on a daily basis as an Engineer.
Alongside Python, it is important to have knowledge of important Data Science libraries such as Numpy, Pandas, Matplotlib, etc. These libraries can come in handy in any Machine Learning Project. Knowledge of Git/Github should be able to run a repo from Github (Since most of the time, you’ll be working with already built models and their repos available on Github). It is also important to know sklearn and one of the common Deep Learning Libraries such as PyTorch/TF/Jax, etc.
You should also have some knowledge of Cloud Computing as most probably you’ll be using Cloud to train and deploy your models. While these may sound a lot, all of this can be achieved with consistency and practice.
What has been the most surprising insight you have found in your career as a Machine Learning Engineer?
There are many surprising insights about emerging capabilities that we face in the ML community regularly, but one of the things that are still in my mind(and is quite simple) is that when I had to train my first real-world Object Detection model, and I was thinking that it would be rocket science, but it turned out to be very simple, thanks to ultralytics they made object detection so easy for everyone.
What does the future of Machine Learning look like?
With the advent of the latest large language models, common people, and businesses are starting to trust AI. There will be a lot more businesses transforming their products using AI. At the same time, I believe there will be new advancements in making smaller models with the same quality, open source Machine Learning community will catch up eventually, and there will be a lot of new hardware architectures for running these models (Right now there is only one, CUDA).
What would be your advice to young and aspiring data science students who are trying to navigate in the world of Machine Learning and AI?
- 10 Thousand Hours rule. In order to become somewhat proficient and expert in ML or in any domain, you need to spend at least 10 thousand hours in it. As Chip Huyen said, Becoming an expert in anything takes years, if not decades.
- Hard work beats talent when talent fails to work hard.
- Find a mentor who can offer guidance and rely on your own hard work to navigate your journey toward success.
- Read a lot of papers.
- Write. Document your learning journey. Medium is a great place to start.
Picture Courtesy: Ahmad Anis