事务性 Python 用于持久化机器学习:愿景、挑战与可行性
Transactional Python for Durable Machine Learning: Vision, Challenges, and Feasibility
AI总结:
本文提出事务性 Python 愿景,通过非侵入式对象级监控提供持久性、原子性、可复制性和时间版本化(DART),无需修改代码,开销仅为 1.5%–15.6%。
摘要:
在机器学习(ML)中,Python 作为一种便捷的抽象,用于处理 PyTorch、scikit-learn 等关键库。然而,与数据库管理系统(DBMS)不同,Python 应用程序可能会因机器故障或人为错误而丢失重要数据,如训练好的模型和提取的特征,导致时间和资源的浪费。具体而言,它们缺乏四个基本属性,这些属性本可以使机器学习更加可靠和用户友好——持久性、原子性、可复制性和时间版本化(DART)。本文提出了事务性 Python 的愿景,通过在对象级别非侵入式地监控应用程序状态,并确定足以重建整个应用程序的最小信息量,无需对用户程序或 Python 内核进行任何代码修改即可提供 DART。我们对使用公开的 PyTorch 和 scikit-learn 应用程序的概念验证实现的评估表明,DART 可以以 1.5% 至 15.6% 的开销提供。
英文摘要:
In machine learning (ML), Python serves as a convenient abstraction for working with key libraries such as PyTorch, scikit-learn, and others. Unlike DBMS, however, Python applications may lose important data, such as trained models and extracted features, due to machine failures or human errors, leading to a waste of time and resources. Specifically, they lack four essential properties that could make ML more reliable and user-friendly -- durability, atomicity, replicability, and time-versioning (DART). This paper presents our vision of Transactional Python that provides DART without any code modifications to user programs or the Python kernel, by non-intrusively monitoring application states at the object level and determining a minimal amount of information sufficient to reconstruct a whole application. Our evaluation of a proof-of-concept implementation with public PyTorch and scikit-learn applications shows that DART can be offered with overheads ranging 1.5%--15.6%.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。