Given the requirement of millions of users, I would likely prefer server-side deployment. However, a hybrid model is also worth considering, where basic, non-sensitive, and less resource-intensive tasks are handled on the client-side, while more demanding processing occurs on the server side. The primary benefit of client-side deployment is its ability to function in real-time and offline. It also significantly alleviates the burden on your servers, enhancing their efficiency in managing other tasks. However, this advantage can be offset by the fact that machine learning models tend to be large and complex, necessitating considerable computational power. Thus, for a large user base and to achieve optimal performance, it may be best to keep most processing on the server side while allowing minor functionalities to be executed client-side.