模型导出格式如何影响ML系统开发?——关于模型集成的案例研究
摘要
机器学习模型常被集成到ML-enabled系统中以提供无法由其他方式实现的软件功能。这种集成需要选择合适的ML模型导出格式,而可选项众多。这些格式对于确保无缝集成至关重要,选择次优格式可能对系统开发产生负面影响。然而,目前缺乏足够的证据指导实践者在导出格式选择方面。因此,我们评估了各种模型导出格式对ML-enabled系统开发(从集成角度)的影响。基于初步问卷调查(n=17)的结果,我们设计了一个包含两个ML-enabled系统三个版本的深入嵌入式案例研究。我们随后分析了五种流行导出格式的效果,即ONNX、Pickle、TensorFlow的SavedModel、PyTorch的TorchScript和Joblib。总共研究了30个分析单元(2个系统×3个技术堆栈×5个格式),通过结构化现场笔记收集数据。对结果进行全面质性分析表明,ONNX在大多数情况下提供了最高效的集成和可移植性。SavedModel和TorchScript在Python-based系统中使用非常便捷,但在其他情况下需要规避措施(TorchScript的规避措施超过SavedModel)。SavedModel还允许将预处理逻辑轻松地纳入单个文件,使其适用于复杂深度学习应用场景。Pickle和Joblib在集成方面最具挑战性,即便在Python-based系统中也是如此。就技术支持而言,所有模型导出格式都在诸如Stack Overflow和Reddit等平台上都有强大的技术文档和活跃社区支持。实践者可以利用我们的发现来指导其上下文合适的ML导出格式选择。
引用
@article{arxiv.2502.00429,
title = {How Do Model Export Formats Impact the Development of ML-Enabled Systems? A Case Study on Model Integration},
author = {Shreyas Kumar Parida and Ilias Gerostathopoulos and Justus Bogner},
journal= {arXiv preprint arXiv:2502.00429},
year = {2025}
}
备注
Accepted for publication at the International Conference on AI Engineering - Software Engineering for AI (CAIN'25, see https://conf.researchr.org/home/cain-2025)