...
It looks like the common behavior of the model CRD object is just to download and upload data and executable files (of different types) to a cloud location, i.e. some storage service like AWS S3.
Model preprocess and postprocess
For example:
Preprocess: images need to be resized to be fit for CNN network input.
Postprocess: NMS module in the object detection framework, is used to delete highly redundant boxes.
The model inference service usually requires preprocess and postprocess scripts.
Model Metrics
For a trained model, model metrics (accuracy, precision, recall and etc..) usually indicate the performance of the model. We need to provide this feature for two purposes: i. For users who query model information he can get the model performance; ii. During model selection, the metrics of the model are used as a reference. Further, model metadata may also be used for model selection (for example, it is a object detection model or a facial recognition model? Labels are dog and cat, or car and plane?). Therefore, a metadata field may also be provided.
Support for different dataset format
Different data sets have different formats. Structured data is usually in CSV format, image classification TXT, and object detection XML format. Our crd needs to be aware of the format of the data set. For example, a basic feature of dataset management is to collect statistics on the number of samples, which requires awareness of different dataset formats.
For joint inference, is it necessary to consider as a unified model.
Joint inference aims to be a model on the cloud and a model on the edge. In the current solution, model serving is simple. User only need to train two models separately and deploy services separately. However, if a model is considered as a unified, can the interfaces for users to use the model be more simplified? Users are unaware that the backend are two models, just like loading a single side model for inference.
Cross-edge synchronization of models, datasets, and dataset metadata.
For some algorithms, cross-edge synchronization is required. More details will be provided later.