Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
119 tokens/sec
GPT-4o
56 tokens/sec
Gemini 2.5 Pro Pro
43 tokens/sec
o3 Pro
6 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

Best Practices for Machine Learning Systems: An Industrial Framework for Analysis and Optimization (2306.13662v1)

Published 9 Jun 2023 in cs.SE and cs.LG

Abstract: In the last few years, the Machine Learning (ML) and Artificial Intelligence community has developed an increasing interest in Software Engineering (SE) for ML Systems leading to a proliferation of best practices, rules, and guidelines aiming at improving the quality of the software of ML Systems. However, understanding their impact on the overall quality has received less attention. Practices are usually presented in a prescriptive manner, without an explicit connection to their overall contribution to software quality. Based on the observation that different practices influence different aspects of software-quality and that one single quality aspect might be addressed by several practices we propose a framework to analyse sets of best practices with focus on quality impact and prioritization of their implementation. We first introduce a hierarchical Software Quality Model (SQM) specifically tailored for ML Systems. Relying on expert knowledge, the connection between individual practices and software quality aspects is explicitly elicited for a large set of well-established practices. Applying set-function optimization techniques we can answer questions such as what is the set of practices that maximizes SQM coverage, what are the most important ones, which practices should be implemented in order to improve specific quality aspects, among others. We illustrate the usage of our framework by analyzing well-known sets of practices.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (35)
  1. Towards a Software Component Quality Model.
  2. Software Engineering for Machine Learning: A Case Study. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP). 291–300. https://doi.org/10.1109/ICSE-SEIP.2019.00042
  3. Assuring the Machine Learning Lifecycle: Desiderata, Methods, and Challenges. ACM Comput. Surv. 54, 5, Article 111 (may 2021), 39 pages. https://doi.org/10.1145/3453444
  4. Manuel F. Bertoa and Antonio Vallecillo. 2002. Quality Attributes for COTS Components. Proceedings of the 6th ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE 2002) 1, 2 (November 2002), 128–144. http://www.lcc.uma.es/~av/publicaciones.html
  5. Quantitative Evaluation of Software Quality. In Proceedings of the 2nd International Conference on Software Engineering (San Francisco, California, USA) (ICSE ’76). IEEE Computer Society Press, Washington, DC, USA, 592–605.
  6. ISO/IEC 9126 in practice: what do we need to know?. In Software Measurement European Forum 2004 (Rome). 297–306. http://www.lsi.upc.es/~jmarco/publications_pdfs/SMEF2004.pdf
  7. The ML Test Score: A Rubric for ML Production Readiness and Technical Debt Reduction. In Proceedings of IEEE Big Data.
  8. Joseph P. Cavano and James A. McCall. 1978. A Framework for the Measurement of Software Quality. SIGSOFT Softw. Eng. Notes 3, 5 (jan 1978), 133–139. https://doi.org/10.1145/953579.811113
  9. Reuven Cohen and Liran Katzir. 2008. The Generalized Maximum Coverage Problem. Inform. Process. Lett. 108, 1 (2008), 15–22. https://doi.org/10.1016/j.ipl.2008.03.017
  10. In search for a widely applicable and accepted software quality model for software quality engineering. Software Quality Journal 15 (2007), 401–416.
  11. R. Geoff Dromey. 1995. A Model for Software Product Quality. IEEE Trans. Softw. Eng. 21, 2 (feb 1995), 146–162. https://doi.org/10.1109/32.345830
  12. Uriel Feige. 1998. A Threshold of Ln n for Approximating Set Cover. J. ACM 45, 4 (jul 1998), 634–652. https://doi.org/10.1145/285055.285059
  13. Michael R. Garey and David S. Johnson. 1990. Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman & Co., USA.
  14. Boris Goldengorin. 2009. Maximization of submodular functions: Theory and enumeration algorithms. European Journal of Operational Research 198 (10 2009), 102–112. https://doi.org/10.1016/j.ejor.2008.08.022
  15. Robert B. Grady. 1992. Practical Software Metrics for Project Management and Process Improvement. Prentice-Hall, Inc., USA.
  16. Jennifer Horkoff. 2019. Non-Functional Requirements for Machine Learning: Challenges and New Directions. In 27th IEEE International Requirements Engineering Conference, RE 2019, Jeju Island, Korea (South), September 23-27, 2019, Daniela E. Damian, Anna Perini, and Seok-Won Lee (Eds.). IEEE, 386–391. https://doi.org/10.1109/RE.2019.00050
  17. ISO/IEC 25010. 2011. ISO/IEC 25010:2011, Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models.
  18. ISO/IEC 25012. 2008. Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – Data quality model. ISO/IEC 25012. International Organization for Standardization, Geneva, Switzerland.
  19. ISO/IEC 9126. 2001. ISO/IEC 9126. Software engineering – Product quality. ISO/IEC.
  20. Adversarial examples in the physical world. CoRR abs/1607.02533 (2016). http://dblp.uni-trier.de/db/journals/corr/corr1607.html#KurakinGB16
  21. Large-scale machine learning systems in real-world industrial settings: A review of challenges and solutions. Information and Software Technology 127 (2020), 106368. https://doi.org/10.1016/j.infsof.2020.106368
  22. A Review of Software Quality Models for the Evaluation of Software Products. International journal of Software Engineering & Applications 5 (11 2014), 31–54. https://doi.org/10.5121/ijsea.2014.5603
  23. Systematic literature review of validation methods for AI systems. Journal of Systems and Software 181 (2021), 111050. https://doi.org/10.1016/j.jss.2021.111050
  24. G.L. Nemhauser and L.A. Wolsey. 1978. Best algorithms for approximating the maximum of a submodular set function. LIDAM Reprints CORE 343. Université catholique de Louvain, Center for Operations Research and Econometrics (CORE). https://doi.org/10.1287/moor.3.3.177
  25. An Analysis of Approximations for Maximizing Submodular Set Functions—I. Mathematical Programming 14 (12 1978), 265–294. https://doi.org/10.1007/BF01588971
  26. Hidden Technical Debt in Machine Learning Systems. In Proceedings of the 28th International Conference on Neural Information Processing Systems - Volume 2 (Montreal, Canada) (NIPS’15). MIT Press, Cambridge, MA, USA, 2503–2511.
  27. Adoption and Effects of Software Engineering Best Practices in Machine Learning. In Proceedings of the 14th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM) (Bari, Italy) (ESEM ’20). Association for Computing Machinery, New York, NY, USA, Article 3, 12 pages. https://doi.org/10.1145/3382494.3410681
  28. Software engineering for machine learning. https://se-ml.github.io/
  29. Construction of a quality model for machine learning systems. Software Quality Journal (2021).
  30. Maxim Sviridenko. 2004. A Note on Maximizing a Submodular Set Function Subject to a Knapsack Constraint. Oper. Res. Lett. 32, 1 (jan 2004), 41–43. https://doi.org/10.1016/S0167-6377(03)00062-2
  31. Understanding interobserver agreement: the kappa statistic. Fam med 37, 5 (2005), 360–363.
  32. Andreas Vogelsang and Markus Borg. 2019. Requirements engineering for machine learning: Perspectives from data scientists. In 2019 IEEE 27th International Requirements Engineering Conference Workshops (REW). IEEE, 245–251.
  33. Wikipedia. 2022. List of system quality attributes — Wikipedia, The Free Encyclopedia. https://en.wikipedia.org/wiki/List_of_system_quality_attributes. [Online; accessed 30-April-2022].
  34. Brett Wujek and Patrick Hall. 2016. Best Practices for Machine Learning Applications.
  35. Machine Learning Testing: Survey, Landscapes and Horizons. IEEE Transactions on Software Engineering PP (02 2020), 1–1. https://doi.org/10.1109/TSE.2019.2962027
User Edit Pencil Streamline Icon: https://streamlinehq.com
Authors (5)
  1. Georgios Christos Chouliaras (2 papers)
  2. Kornel Kiełczewski (1 paper)
  3. Amit Beka (2 papers)
  4. David Konopnicki (16 papers)
  5. Lucas Bernardi (9 papers)

Summary

We haven't generated a summary for this paper yet.