Machine learning techniques are becoming a fundamental tool for scientific and engineering progress. These techniques are applied in contexts as diverse as astronomy and spam filtering. However, correctly applying these techniques requires careful engineering. Much attention has been paid to the technical potential; relatively little attention has been paid to the software engineering process required to bring research-based machine learning techniques into practical utility. Technology companies have supported the engineering community through machine learning frameworks such as TensorFLow and PyTorch, but the details of how to engineer complex machine learning models in these frameworks have remained hidden. To promote best practices within the engineering community, academic institutions and Google have partnered to launch a Special Interest Group on Machine Learning Models (SIGMODELS) whose goal is to develop exemplary implementations of prominent machine learning models in community locations such as the TensorFlow Model Garden (TFMG). The purpose of this report is to define a process for reproducing a state-of-the-art machine learning model at a level of quality suitable for inclusion in the TFMG. We define the engineering process and elaborate on each step, from paper analysis to model release. We report on our experiences implementing the YOLO model family with a team of 26 student researchers, share the tools we developed, and describe the lessons we learned along the way.
翻译:机械学习技术正在成为科学和工程进步的基本工具。这些技术应用在天文学和垃圾过滤器等多种情况中。但是,正确应用这些技术需要仔细的工程。已经非常注意技术潜力;相对较少注意将基于研究的机器学习技术纳入实用实用实用技术所需的软件工程过程;技术公司通过TensorFllow和PyTorrch等机器学习框架支持工程界,但是如何在这些框架中设计复杂的机器学习模型的细节仍然隐藏着。为了在工程界推广最佳做法,学术机构和谷歌合作发起了一个机器学习模型特别兴趣小组(SIGMODELS),其目标是在诸如TensorFlow模型园等社区地点发展突出的机器学习模型的示范性实施。本报告的目的是确定一个程序,在质量上重新制作适合纳入TFMG的先进机器学习模型。我们界定了工程进程,并详细阐述了从纸面分析到发布模型的每一步。我们报告我们开发的“YOLO模型”模型的经验,我们与学生分享了我们所开发的“26OLO模型”的学习方法。