TL;DR Depending on the problem statement, resources available to you which includes but not limited to time, money and talent should be considered before deciding what to choose. In most cases, a Hybrid approach i.e. right mix of both worlds is the key to success ! (which isn't guaranteed, why you ask? there are so many other factors at play and this is just one among them). Not satisfied with the explanation? read on!
Over the past decade, a lot of research and development efforts has gone into AI and Data Science. There are plenty of tools, frameworks and cloud solutions available in the market to do AI tasks. Open-source tools like sci-kit-learn for machine or statistical learning, Tensorflow for deep learning and Google Vision API, Natural Language API & Document AI are being used for various use cases.
The first two examples are open source frameworks (scikit-learn & TensorFlow) and have no licensing or subscription costs but you have to get your data and do the implementation yourself which means you need to know what you are doing.
However, the Google's SaaS products don't require you to bring your data for training. There's an incentive for them to make it as easy as possible for the end application to consume these APIs and there's substantial documentation and examples for the developer to follow.
Since most of the tedious and time-consuming tasks like data collection, training, testing, optimisation and compliance are taken care of by the cloud vendor, they charge pay per hit or few thousand hits depending on the pricing model.
Why should I care?
Every company which has to implement AI for either self-consumption or has to build for others to consume or to sell it as a service has to decide whether to go with Cloud-based Solutions or Open Source. AI-based solutions are being developed by companies of all shapes and sizes. Choosing the right tool for the right job greatly enhances the possibility of success for that company, if you are reading this article chances are you are among those people who have to make this decision.
We understand your dilemma! the best way to find a solution to this problem is to first understand two key points mentioned below -
- Cloud-based SaaS product; which can be consumed or interacted with using a RESTful API at a cost per invocation or few $ per thousand hits.
- Open Source frameworks for AI; implements the algorithm which can be plugged with the data you have to get model(s) which can do a prediction or give insight and it doesn't cost to use the framework.
So far so good? let's look at some questions -
- Going with the cloud would mean that will cost a lot more than an open-source option? isn't that going to be expensive?
- Using an API from GCP or AWS or any other cloud vendor for my service or product, wouldn't that lock me into their Eco-system?
- While the tool or framework is free but the entire solution needs to be architect-ed, trained and tested by my team or my company?
- What if we hit a roadblock who do we reach out to? wouldn't that affect my timeline and other go-to market goals?
Before we address these questions pause for a moment and reflect on these questions and if we pay enough attention the answers will start to reveal themselves.
The first step towards finding answers is by asking the right questions, let's read on...
Potential answers -
Disclaimer; We try to answer these questions with our best capability and experience. However, it may not be the best one but it should help you think in the right direction, let's begin -
- Yes, an AI SaaS product is going to cost more to use, but the cost of data acquisition, processing and amount of data required is going to be much less. If your time to market is short and you need to get your solution out in the market quickly, it is worth the price. If you don't provide the solution in time there are so many other costs that will add on because your product is not out in time.
- Again yes, it would lock you into a cloud if you are using a specific API that a particular vendor provides. That's how it is, one way to mitigate this risk is by going multi-cloud and implement one AI functionality with at least two or more competing vendors this will add to additional development effort but it's going to be worth it if you care enough for not being locked into a vendor.
- There are many pros to Open-source AI tools and frameworks one of them is that they don't cost as much as the cloud counterparts. But they are DIYs which means you need to know what you are doing or at least be willing to fail and learn continuously so that eventually you get better at it. If you have the time and resources available to build the solution, then it has a good value proposition.
- If you are stuck chances are the issue is already documented and reported along with possible solutions., the open source community is generally very helpful & reaching out at the right forum should help. The second option would be to hire a contractor or SME from the domain.
Closing thoughts -
You may have guessed it by now, there is no silver bullet here and the bottom line is to use the right tool for the right problem based on the situations around you. We have built AI-based solutions which typical follows a hybrid architecture.
Problems that are easy enough to solve using an open-source framework should be built accordingly and the ones which require lots of data or a multi-model architecture and other complex stuff that you think your team or your company wouldn't be able to support, that's a use case for using a SaaS product.
We know these are just a minuscule amount of questions on this topic, we tried to make it as general and applicable to most AI problems. However, we would love to hear your questions and thoughts on the same, feel free to share your thoughts in the comments section below.
If you want to make sure you don't miss out on our next post, subscribe to our newsletter and get the article delivered to your inbox! 😁