Deep learning (DL) systems present unique challenges in software engineering, especially concerning quality attributes like correctness and resource efficiency. While DL models achieve exceptional performance in specific tasks, engineering DL-based systems is still essential. The effort, cost, and potential diminishing returns of continual improvements must be carefully evaluated, as software engineers often face the critical decision of when to stop refining a system relative to its quality attributes. This experience paper explores the role of MLOps practices -- such as monitoring and experiment tracking -- in creating transparent and reproducible experimentation environments that enable teams to assess and justify the impact of design decisions on quality attributes. Furthermore, we report on experiences addressing the quality challenges by embedding domain knowledge into the design of a DL model and its integration within a larger system. The findings offer actionable insights into not only the benefits of domain knowledge and MLOps but also the strategic consideration of when to limit further optimizations in DL projects to maximize overall system quality and reliability.
翻译:深度学习(DL)系统在软件工程中带来了独特的挑战,特别是在正确性和资源效率等质量属性方面。尽管DL模型在特定任务中表现出卓越的性能,但基于DL的系统工程仍然至关重要。由于软件工程师经常面临何时停止相对于质量属性优化系统的关键决策,因此必须仔细评估持续改进所需的工作量、成本以及潜在的收益递减。本经验论文探讨了MLOps实践(如监控和实验跟踪)在创建透明且可复现的实验环境中的作用,这些环境使团队能够评估并证明设计决策对质量属性的影响。此外,我们报告了通过将领域知识嵌入DL模型设计及其在更大系统中的集成来应对质量挑战的经验。研究结果不仅提供了关于领域知识和MLOps益处的可行见解,还提出了在DL项目中何时限制进一步优化以最大化整体系统质量和可靠性的战略考量。