English

Transactional Python for Durable Machine Learning: Vision, Challenges, and Feasibility

Databases 2023-05-16 v1 Machine Learning Programming Languages

Abstract

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%.

Keywords

Cite

@article{arxiv.2305.08770,
  title  = {Transactional Python for Durable Machine Learning: Vision, Challenges, and Feasibility},
  author = {Supawit Chockchowwat and Zhaoheng Li and Yongjoo Park},
  journal= {arXiv preprint arXiv:2305.08770},
  year   = {2023}
}

Comments

5 pages, 5 figures, to appear at DEEM 2023

R2 v1 2026-06-28T10:34:55.104Z