Machine learning is improving our day to day life from assisting us in doing various tasks (Google Assistant, Alexa) to predicting diseases. The machine learning algorithms need to be trained over a large amount of data and that requires a huge amount of processing power for large datasets and complex network. So mostly cloud computing is preferred for deploying the machine learning algorithms into applications. Though cloud computing helps to improve the performance of the machine learning algorithms by processing it as at a faster speed as the cloud computing is having excellent hardware capabilities, there are few shortcomings of using cloud computing
Lacks in privacy
Since for cloud computing, the data is remote sent to the server for training and predicting that raise concern over the privacy of the data. We might be sometime okay with sending our face image or voice to the cloud server through the internet, but when comes to the medical data we normally prefer to keep it safe and do not prefer to send it to cloud server for processing the data. Many of us prefer to use the AI which will be local and doesn't required send the data to the cloud for using AI or machine learning.
Speed of data transmission
Machine learning algorithms trained in cloud and data needs to be sent to cloud for processing to the cloud processing is much faster than the traditional PC, there is a time delay associated with the transmission of the data to the cloud and receiving back the responses. This speed limit causes serious problem while using the machine learning algorithms with cloud server where the speed of the prediction is one of the primary concern. For example, and self-driving cars move at very high speed must need local AI to predict the directions in which cars need to be moved.
The cloud-based machine learning applications need internet connectivity. Because the raw data is transmitted to the cloud server via internet and the processed result of the machine learning model is transmitted back to the client via the internet. There are many areas in the world especially in India and Africa where the good speed of internet is still out of reach. In those areas, using cloud-based machine learning algorithms will not be able to provide good performance because of slow internet connectivity.
Cost to use the cloud service
Unlike a physical devices such as personal computers or any other hardwares where you need to pay only one-time price, cloud based services require monthly or yearly payments for the services. Though for one time payment is quite low, for long run companies might need to pay a huge amount to use the services.
Availability of alternative to cloud computing for machine learning applications
Though cloud computing is one of the ways to deploy a machine learning algorithm, it's not the only way. There are several alternatives available there that can be used to deploy a machine learning algorithm without cloud. One of them is Google's Coral which allows to build local AI and allow us to use ML algorithms without the cloud and helps to make fast secure AI application maintaining privacy.