What Causes Exceptions in Machine Learning Applications? Mining Machine Learning-Related Stack Traces on Stack Overflow

要約

タイトル:Stack Overflowでの機械学習関連スタックトレースのマイニングによる、機械学習アプリケーション例外の原因の特定

要約:

– 機械学習アプリケーションにもプログラムエラーの結果生じるバグがある。
– 普通のソフトウェアと同様に、明確なプログラミングエラーはエラーメッセージとスタックトレースを通して表れる。
– スタックトレースには異常な状況、例外につながる関数の呼び出しの連鎖が記述されている。
– Stack Overflow(SO)から得られたPythonの7つの人気のある機械学習ライブラリに関連する11,449のスタックトレースをミニングすることで、スタックトレースのパターンを研究することができた。
– 一部のパターンだけで多くのスタックトレースをカバーできることがわかった。
– スタックトレースのパターンから、Pythonの基本構文やモデルトレーニング、並列化、データ変換、サブプロセス呼び出しなど、5つの高レベルのカテゴリと25の低レベルのタイプを導出することができた。
– 外部モジュールの実行、サブプロセス呼び出し、リモートAPIの呼び出しに関するパターンは、SOで受け入れられた回答を得る可能性が最も低いことがわかった。
– 本研究の結果は、研究者、機械学習ライブラリプロバイダ、および機械学習アプリケーション開発者が、機械学習ライブラリとそのアプリケーションの品質を向上させるための洞察を提供する。

要約(オリジナル)

Machine learning (ML), including deep learning, has recently gained tremendous popularity in a wide range of applications. However, like traditional software, ML applications are not immune to the bugs that result from programming errors. Explicit programming errors usually manifest through error messages and stack traces. These stack traces describe the chain of function calls that lead to an anomalous situation, or exception. Indeed, these exceptions may cross the entire software stack (including applications and libraries). Thus, studying the patterns in stack traces can help practitioners and researchers understand the causes of exceptions in ML applications and the challenges faced by ML developers. To that end, we mine Stack Overflow (SO) and study 11,449 stack traces related to seven popular Python ML libraries. First, we observe that ML questions that contain stack traces gain more popularity than questions without stack traces; however, they are less likely to get accepted answers. Second, we observe that recurrent patterns exists in ML stack traces, even across different ML libraries, with a small portion of patterns covering many stack traces. Third, we derive five high-level categories and 25 low-level types from the stack trace patterns: most patterns are related to python basic syntax, model training, parallelization, data transformation, and subprocess invocation. Furthermore, the patterns related to subprocess invocation, external module execution, and remote API call are among the least likely to get accepted answers on SO. Our findings provide insights for researchers, ML library providers, and ML application developers to improve the quality of ML libraries and their applications.

arxiv情報

著者 Amin Ghadesi,Maxime Lamothe,Heng Li
発行日 2023-04-25 14:29:07+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, OpenAI

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