Skip to main content
QUICK REVIEW

[論文レビュー] An Empirical Study of Software Architecture for Machine Learning.

Alex Serban, Joost Visser|arXiv (Cornell University)|May 26, 2021
Software Engineering Research被引用数 8
ひとこと要約

本論文は、文献レビュー、実務家インタビュー、アンケート調査を組み合わせた混合研究手法に基づき、機械学習(ML)コンponentsを強固に統合できるソフトウェアシステムの再アーキテクチャフレームワークを提示する。20のアーキテクチャチャレンジとその解決策を同定し、スケーラビリティやプライバシーなどの品質特性とアーキテクチャ戦略を結びつける。伝統的な関心事(結合度)がML特有の問題(継続的再訓練)と併せて依然として重要であることが示された。

ABSTRACT

Specific developmental and operational characteristics of machine learning (ML) components, as well as their inherent uncertainty, demand robust engineering principles are used to ensure their quality. We aim to determine how software systems can be (re-) architected to enable robust integration of ML components. Towards this goal, we conducted a mixed-methods empirical study consisting of (i) a systematic literature review to identify the challenges and their solutions in software architecture forML, (ii) semi-structured interviews with practitioners to qualitatively complement the initial findings, and (iii) a survey to quantitatively validate the challenges and their solutions. In total, we compiled and validated twenty challenges and solutions for (re-) architecting systems with ML components. Our results indicate, for example, that traditional software architecture challenges (e.g., component coupling) also play an important role when using ML components; along new ML specific challenges (e.g., the need for continuous retraining). Moreover, the results indicate that ML heightened decision drivers, such as privacy, play a marginal role compared to traditional decision drivers, such as scalability or interoperability. Using the survey, we were able to establish a link between architectural solutions and software quality attributes; which enabled us to provide twenty architectural tactics used for satisfying individual quality requirements of systems with ML components. Altogether, the results can be interpreted as an empirical framework that supports the process of (re-) architecting software systems with ML components.

研究の動機と目的

  • 機械学習コンponentsをソフトウェアシステムに統合するためのアーキテクチャ的課題と解決策を同定・検証すること。
  • 伝統的なソフトウェアアーキテクチャの関心事(例:結合度)が、モデルの再訓練やデータの不確実性といったML特有の課題とどのように相互作用するかを理解すること。
  • アーキテクチャ意思決定における意思決定要因(例:プライバシー、スケーラビリティ、相互運用性)の相対的な重要性を評価すること。
  • 実証的に、MLコンponentsを含むシステムにおけるアーキテクチャ戦略と特定の品質特性を結びつけること。
  • MLコンponentsを統合するソフトウェアシステムの(再)アーキテクチャを支援する、検証済みで証拠に基づいたフレームワークを開発すること。

提案手法

  • 機械学習のソフトウェアアーキテクチャにおける既存の課題と解決策を同定するため、体系的文献レビューを実施した。
  • 文献レビューの発見を定性的に拡張するために、実務家を対象とした半構造化インタビューを実施した。
  • 広範な実務家ベースで同定された課題と解決策を検証するため、定量的アンケートを実施した。
  • 実証的証拠に基づいて、20のアーキテクチャチャレンジとそれに対応する解決策のセットを統合的に抽出した。
  • アンケートデータを用いて、特定の品質特性(例:スケーラビリティ、プライバシー)にアーキテクチャ解決策をマッピングし、因果関係を確立した。
  • 品質指向の設計意思決定に基づき、ML統合システムの体系的(再)アーキテクチャを支援する実証的フレームワークを開発した。

実験結果

リサーチクエスチョン

  • RQ1ソフトウェアシステムに機械学習コンponentsを統合する際の主なアーキテクチャ的課題は何か。また、文献で提案されている解決策は何か。
  • RQ2実務家の経験と優先順位は、文献で同定されたものと一致するか、あるいは乖離しているか。特にプライバシー、スケーラビリティ、相互運用性といった意思決定要因に関して。
  • RQ3結合度やモularityといった伝統的なソフトウェアアーキテクチャの関心事は、MLコンponentsを含むシステムにおいても依然として関連性があるか。
  • RQ4ML統合システムにおいて、特定の非機能的品質特性(例:パフォーマンス、信頼性、保守性)を満たすために最も効果的なアーキテクチャ戦略は何か。
  • RQ5MLコンponentsを含むシステムにおいて、アーキテクチャ解決策をどのように実証的に品質特性に関連付けることができるか。

主な発見

  • MLコンponentsを含むシステムにおいても、コンポonent結合度といった伝統的なソフトウェアアーキテクチャの課題が依然として顕著に重要であることが示された。
  • 特にモデルの継続的再訓練の必要性というML特有の課題が、一貫して重要なアーキテクチャ的関心事として同定された。
  • プライバシーは、スケーラビリティや相互運用性といったより伝統的な関心事と比較して、相対的に影響力が小さい意思決定要因として浮き彫りになった。
  • ML統合システムにおいて、特定のアーキテクチャ戦略とパフォーマンス、信頼性、保守性といった品質特性との明確な関連性が確立された。
  • 混合研究手法により、20のアーキテクチャ課題と解決策が検証され、MLシステムの(再)アーキテクチャを支援する包括的で証拠に基づいたフレームワークが構築された。
  • 本フレームワークにより、実務家はML対応システムにおける特定の非機能要件に応じて戦略をマッピングすることで、品質指向のアーキテクチャ意思決定を下せるようになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。