Software Engineering for Machine Learning: A Case Study

被引:502
作者
Amershi, Saleema [1 ]
Begel, Andrew [1 ]
Bird, Christian [1 ]
DeLine, Robert [1 ]
Gall, Harald [2 ]
Kamar, Ece [1 ]
Nagappan, Nachiappan [1 ]
Nushi, Besmira [1 ]
Zimmermann, Thomas [1 ]
机构
[1] Microsoft Res, Redmond, WA 98052 USA
[2] Univ Zurich, Zurich, Switzerland
来源
2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP 2019) | 2019年
关键词
AI; Software engineering; process; data;
D O I
10.1109/ICSE-SEIP.2019.00042
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:291 / 300
页数:10
相关论文
共 35 条
[1]  
Alexander Melvin., 2001, Six Sigma: The breakthrough management strategy revolutionizing the world's top corporations
[2]   ModelTracker: Redesigning Performance Analysis Tools for Machine Learning [J].
Amershi, Saleema ;
Chickering, Max ;
Drucker, Steven M. ;
Lee, Bongshin ;
Simard, Patrice ;
Suh, Jina .
CHI 2015: PROCEEDINGS OF THE 33RD ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, 2015, :337-346
[3]   What Went Wrong and Why? Diagnosing Situated Interaction Failures in the Wild [J].
Andrist, Sean ;
Bohus, Dan ;
Kamar, Ece ;
Horvitz, Eric .
SOCIAL ROBOTICS, ICSR 2017, 2017, 10652 :293-303
[4]  
[Anonymous], 2018, CORR
[5]  
[Anonymous], 2017, EXPLAINABLE ARTIFICI
[6]  
[Anonymous], 2015, NIPS
[7]   TFX: A TensorFlow-Based Production-Scale Machine Learning Platform [J].
Baylor, Denis ;
Breck, Eric ;
Cheng, Heng-Tze ;
Fiedel, Noah ;
Foo, Chuan Yu ;
Haque, Zakaria ;
Haykal, Salem ;
Ispir, Mustafa ;
Jain, Vihan ;
Koc, Levent ;
Koo, Chiu Yuen ;
Lew, Lukasz ;
Mewald, Clemens ;
Modi, Akshay Naresh ;
Polyzotis, Neoklis ;
Ramesh, Sukriti ;
Roy, Sudip ;
Whang, Steven Euijong ;
Wicke, Martin ;
Wilkiewicz, Jarek ;
Zhang, Xin ;
Zinkevich, Martin .
KDD'17: PROCEEDINGS OF THE 23RD ACM SIGKDD INTERNATIONAL CONFERENCE ON KNOWLEDGE DISCOVERY AND DATA MINING, 2017, :1387-1395
[8]  
Begel Andrew, 2007, 2007 First International Symposium on Empirical Software Engineering and Measurement, P255
[9]  
Begel A, 2008, ESEM'08: PROCEEDINGS OF THE 2008 ACM-IEEE INTERNATIONAL SYMPOSIUM ON EMPIRICAL SOFTWARE ENGINEERING AND MEASUREMENT, P120
[10]  
Bohus Dan, 2017, P 19 ACM INT C MULTI, P493, DOI DOI 10.1145/3136755.3143021