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

要約

機械学習 (ML) では、Python は、PyTorch、scikit-learn などの主要なライブラリを操作するための便利な抽象化として機能します。
ただし、DBMS とは異なり、Python アプリケーションでは、マシンの故障や人的ミスにより、トレーニングされたモデルや抽出された特徴などの重要なデータが失われる可能性があり、時間とリソースの無駄につながります。
具体的には、ML をより信頼性が高く、使いやすいものにする 4 つの重要な特性、つまり耐久性、アトミック性、複製可能性、および時間バージョン管理 (DART) が欠けています。
このペーパーでは、オブジェクト レベルでアプリケーションの状態を非侵入的に監視し、アプリケーション全体を再構築するのに十分な最小限の情報を決定することで、ユーザー プログラムや Python カーネルにコードを変更することなく DART を提供する、トランザクション Python のビジョンを示します。
パブリック 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%.

arxiv情報

著者 Supawit Chockchowwat,Zhaoheng Li,Yongjoo Park
発行日 2023-05-15 16:27:09+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.DB, cs.LG, cs.PL パーマリンク