Software Engineering for Machine Learning: A Case Study
By Saleema Amershi, Andrew Begel, Christian Bird, R. Deline, Harald C. Gall, Ece Kamar, N. Nagappan, Besmira Nushi, Thomas Zimmermann. 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), 2019
1,033 citations recorded by the source corpus.
Recent advances in machine learning have stimulated widespread interest within the Information Technology sector on integrating AI capabilities into software and services. This goal has forced organizations to evolve their development processes. We report on a study that we conducted on observing software teams at Microsoft as they develop AI-based applications. We consider a nine-stage workflow process informed by prior experiences developing AI applications (e.g., search and NLP) and data science tools (e.g. application diagnostics and bug reporting). We found that various Microsoft teams have united this workflow into preexisting, well-evolved, Agile-like software engineering processes, providing insights about several essential engineering challenges that organizations may face in creating large-scale AI solutions for the marketplace. We collected some best practices from Microsoft teams to address these challenges. In addition, we have identified three aspects of the AI domain that make it fundamentally different from prior software application domains: 1) discovering, managing, and versioning the data needed for machine learning applications is much more complex and difficult than other types of software engineering, 2) model customization and model reuse require very different skills than are typically found in software teams, and 3) AI components are more difficult to handle as distinct modules than traditional software components - models may be "entangled" in complex ways and experience non-monotonic error behavior. We believe that the lessons learned by Microsoft teams will be valuable to other organizations.
Subfields: Information Systems, Information Systems and Management, Management Information Systems
View Paper: https://www.semanticscholar.org/paper/f70b2f20be241f445a61f33c4b8e76e554760340
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Information Systems
- Tongshuang Sherry Wu
- Sameer Singh
- Marco Tulio Ribeiro
- Jie M. Zhang
- Yang Liu
- Lei Ma
- Ben Hutchinson
- Andrei Paleyes
In Information Systems and Management
- Eric Horvitz
- Thomas Liao
- Mark Harman
- Andrew Smart
- Carlos Guestrin
- Ben Shneiderman
- Lora Aroyo
- Ben Hutchinson
In Management Information Systems
- Neil D. Lawrence
- Eric Horvitz
- Andrew Smart
- Carlos Guestrin
- Ben Shneiderman
- Ece Kamar
- Besmira Nushi
- Emily L. Denton
Citations in the corpus
- Are We Learning Yet? A Meta Review of Evaluation Failures Across Machine Learning (2021, background): “Behavior-based alternatives to the benchmarking paradigm, such as test suites [1, 126, 170], for example, can re-orient ML evaluation away from its current focus on the competitive determination of “state of the art”, and more towards an exploratory and descriptive probing of model capabilities…”
- Trustworthy AI: From Principles to Practices (2021, background): “Moreover, various techniques researched for this stage can contribute to the trustworthiness of an AI system [17].”
- Bridging the Gap Between Ethics and Practice (2020, background): “4), and agile programming team methods [3].”
- Data collection and quality challenges in deep learning: a data-centric AI perspective (2021, methodology): “This entire process from data preparation to model deployment is widely viewed as a new software engineering paradigm, and companies have been actively developing open source [27,43] and proprietary Software 2.0 systems [19,20,35,75,78,138].”
- Beyond Accuracy: Behavioral Testing of NLP Models with CheckList (2020, background): “However, CheckList cannot be directly used for non-behavioral issues such as data versioning problems (Amershi et al., 2019), labeling errors, annotator biases (Geva et al.”
- Towards Accountability for Machine Learning Datasets: Practices from Software Engineering and Infrastructure (2020, background): “tigate these challenges, we propose the following goals for research, academia and industry. Recognize AI dataset expertise. AI datasets take more effort and rigor to curate and manage than code does [4], and yet this work remains underappreciated. Omitting dataset development from the core training”
- Machine Learning Testing: Survey, Landscapes and Horizons (2019, methodology): “[8], data testing is especially important.”
- Challenges in Deploying Machine Learning: A Survey of Case Studies (2020, background): “Despite obvious onboarding and slow-start challenges, this approach was seen to bring long term benefits in terms of speed and quality of product delivery [12].”
- An Empirical Analysis of Backward Compatibility in Machine Learning Systems (2020, background): “have also been highlighted in surveys on software engineering challenges in ML [1, 42].”
- Clinical artificial intelligence quality improvement: towards continual monitoring and updating of AI algorithms in healthcare (2022, background): “…a performance drop in an ML algorithm for determining which patients were at high risk of hospital admission based on their emergency department (ED) presentation that relied on input variables like respiratory rate and arrival mode, which were signi fi cantly affected by the spread of COVID-19.”
- Software Engineering for AI-Based Systems: A Survey (2021, methodology): “Major players in the industry are big companies like Microsoft, IBM or Google.”
- “Everyone wants to do the model work, not the data work”: Data Cascades in High-Stakes AI (2021, background): “Multiple recent studies examine the challenges of production machine learning [6, 100, 101].”