# CMS: A Continuous Machine-Learning and Serving Platform for Industrial Big Data
## 1 Introduction  
With the rapid advancement of Internet of Things and industrial automation systems, enterprises and industries are collecting and accumulating data with unparalleled speed and volume [1; 2; 3]. Cloud computing, with capabilities of performing massive-scale and complex computing tasks, has been widely treated as an excellent candidate to meet the growing data processing and computation demands of enterprises and industries [4; 5]. Compared with data in other sectors (e.g., government, financial services and retail), industrial data have several distinct characteristics: firstly, the major parts of their data are produced from sensor networks and must be processed quickly [6]; secondly, use of these data is often limited within certain domains for the sake of data safety and regulations. These unique requirements sometimes make traditional cloud computing infeasible since data are often required to upload to the cloud, which causes both latency and security problems. Compared to cloud computing, the frameworks that process data at the network edge, e.g., fog computing [7; 8] and edge computing [9; 10], better fit the requirements of industrial big data businesses. Both models push intelligence and processing capabilities down closer to where data originate from. Such design provides a quicker response, more processing efficiencies, less pressure on the network and higher security. On the basic of this model, two major types of services are identified: (1) _trainer_: building models from historical data using machine-learning algorithms for prediction, control or classification tasks. (2) _modelet_: collecting data from sensors, making predictions and control decisions with a trained model for the on-line model serving, similar to the concept of Servable defined in the TensorFlow Serving [11]. Several existing big data platforms, e.g., TFX [12] and IBDP [6],have already provided certain supports for both types of service. This intelligent system uses data analysis technology and model-based systems to help decision-makers to improve the effectiveness of their decisions. It has a vast area of application including energy, manufacturing industry and medical activity [13; 14]. However, in addition to the two major types of requirements, the industrial machine-learning and serving platform has other distinctive requirements. Many industrial processes are mission-critical and might evolve during their 20- to 50-year lives. During their lifecycle, the monitored data and their models evolve over time. For long-time and complex industrial systems, the benefits of accurate modeling are only possible when models are periodically retrained, updated and switched with the latest data. For the production-level deployment, such a type of automation is non-trivial, especially when complications, such as resorce isolation, scheduling, reliability and scalability, need to be taken into account. This paper proposes a container-based computing platform to automate the workflow from model (re-) learning to deployment, namely CMS. A system component, namely _orchestrator_, is introduced to orchestrate the model training executions across multiple _trainers_. It also provides model deployments and model update services, while keeping the same model-serving processes uninterrupted. The primary goal is to simplify and automate model generation, deployment and switching process. The contributions of the paper are summarized as follows:  
* A container-based computing platform is constructed for continuous model learning and serving;
* A model management service, _Orchestrator_, is proposed to streamline the model updating process. The structures for _trainer_ and _modelet_ are also formulized to ensure consistent invocation and avoid ad-hoc glue codes;
* A continuous model switching mechanism is proposed. It allows the model serving process to be uninterrupted even the model of the _modelet_ is updated.