person
Author: Process Fellows
The ML architecture must also take into account the interfaces between the different architectural elements. This is basically similar to the approach in Software Architecture. Such interfaces of a SW architecture are usually described by their name, type, range, default value, unit, resolution, and direction. In case of a ML architecture, additional aspects are important, because such systems are typically data driven and probabilistic. Examples (non-exhaustive):
- Often probabilities or confidence values are provided by such models, not just yes/ no answers. Therefore, interfaces might define how uncertainty is communicated as well how thresholds for decisions are configured.
- Sensitiveness for input data: format, normalization and encoding must be clearly specified, as well how to handle missing values or out-of -distribution data. In case of "classical" APIs, often the type must match. In case of AI, in addition the data representation must match (e.g. "tokenization", image dimension).
- ML / AI models can change frequently because of re-training or fine tuning. Therefore, interfaces should consider a model version or API version. In addition a strategy for backward compatibility could make sense.
- Interference times can vary (depending on e.g. hardware and batch size). Therefore interfaces could account for configurable timeouts and quality-of-service parameters or they could support asynchronous processing or streaming as an option.
- AI / ML models often process personal data. Therefore interfaces could support anonymization of data, as well logging should be done under consideration of GDPR and similar standards.