Machine Learning Systems: A Survey from a Data-Oriented Perspective
Abstract
Engineers are deploying ML models as parts of real-world systems with the upsurge of AI technologies. Real-world environments challenge the deployment of such systems because these environments produce large amounts of heterogeneous data, and users require increasingly efficient responses. These requirements push prevalent software architectures to the limit when deploying ML-based systems. Data-Oriented Architecture (DOA) is an emerging style that better equips systems to integrate ML models. Even though articles on deployed ML-based systems do not mention DOA, their authors make design decisions that implicitly follow DOA. Implicit decisions create a knowledge gap, limiting practitioners’ ability to implement ML-based systems. This article surveys why, how, and to what extent practitioners have adopted DOA to implement ML-based systems. We overcome the knowledge gap by answering these questions and explicitly showing the design decisions and practices behind these systems. The survey follows a well-known systematic and semi-automated methodology for reviewing articles in software engineering. The majority of reviewed works partially adopt DOA. Such an adoption enables systems to address big data management, low-latency processing, resource management, security, and privacy requirements. Based on these findings, we formulate practical advice to facilitate the deployment of ML-based systems.
Links
Cite this Paper
Related People
Christian Cabrera Jojoa
Assistant Research Professor, Cambridge University
Andrei Paleyes
Visiting Researcher, Cambridge University
Pierre Thodoroff
PhD Student, Cambridge University
Neil D. Lawrence
The DeepMind Professor of Machine Learning, Cambridge University
Related Projects
AutoAI
While excitement about the potential of artificial intelligence (AI) technologies continues to build, a gap is emerging between our aspirations for the benefits of AI and our ability to deploy these technologies to tackle real-world challenges.
Data-Oriented Architectures for AI-based Systems
Data Oriented Architecture (DOA) is a software architecture pattern that creates data-driven, loosely coupled, decentralised, and open systems. DOA achieves these goals by exposing systems' data as first class citizen to distributed, stateless, and asynchronous systems’ components. These design decisions enable DOA-based systems to achieve desirable properties such as data availability, reusability, and monitoring, as well as systems adaptability, scalability, and autonomy.
Interfaces
The Interfaces research programme develops interpretable, self-sustaining multi-agent AI systems, treating software as the interface between socio-technical needs and AI capabilities, with validation in healthcare and other high-stakes settings.