Skip to main content
QUICK REVIEW

[論文レビュー] Machine Learning Systems are Bloated and Vulnerable

Huaifeng Zhang, Fahmi Abdulqadir Ahmed|arXiv (Cornell University)|Dec 16, 2022
Cloud Computing and Resource Management被引用数 5
ひとこと要約

本論文では、コンテナおよびパッケージレベルでの未使用コードや依存関係を測定することで、機械学習コンテナ内のボトルネック要因を分析・定量するMMLBというフレームワークを紹介する。ボトルネックはコンテナサイズの最大80%を占め、プロビジョニング時間を最大370%増加させ、脆弱性を99%増加させる。APTパッケージと機械学習フレームワークがボトルネックとリスクの主な要因である。

ABSTRACT

Today's software is bloated with both code and features that are not used by most users. This bloat is prevalent across the entire software stack, from operating systems and applications to containers. Containers are lightweight virtualization technologies used to package code and dependencies, providing portable, reproducible and isolated environments. For their ease of use, data scientists often utilize machine learning containers to simplify their workflow. However, this convenience comes at a cost: containers are often bloated with unnecessary code and dependencies, resulting in very large sizes. In this paper, we analyze and quantify bloat in machine learning containers. We develop MMLB, a framework for analyzing bloat in software systems, focusing on machine learning containers. MMLB measures the amount of bloat at both the container and package levels, quantifying the sources of bloat. In addition, MMLB integrates with vulnerability analysis tools and performs package dependency analysis to evaluate the impact of bloat on container vulnerabilities. Through experimentation with 15 machine learning containers from TensorFlow, PyTorch, and Nvidia, we show that bloat accounts for up to 80% of machine learning container sizes, increasing container provisioning times by up to 370% and exacerbating vulnerabilities by up to 99%.

研究の動機と目的

  • 機械学習コンテナにおけるボトルネックの程度とその原因を調査すること。これらはしばしばモノリス的で事前パッケージ化された環境としてデプロイされる。
  • ボトルネックが機械学習ワークロードにおけるコンテナサイズ、プロビジョニング時間、セキュリティ脆弱性に与える影響を定量すること。
  • 機械学習システムにおけるコンテナレベルおよびパッケージレベルでのボトルネックの特定・測定・分析を体系的に行うフレームワークの開発。
  • 脆弱性分析と依存関係追跡を統合することで、ボトルネックがコンテナセキュリティに与える影響を評価すること。
  • 技術的負債を低減するためのよりモジュール型の機械学習システムと知能的なコンテナエコシステムの必要性を強調すること。

提案手法

  • ボトルネックの原因を特定するため、コンテナレベル分析、パッケージレベル分析、依存関係グラフ構築を統合した多層的フレームワークMMLBを開発した。
  • Cimplifierを用いてMLコンテナ内のボトルネックを検出・削除し、元のバージョンとデブローテッド(ボトルネック除去済み)バージョンの比較を可能にした。
  • 脆弱性スキャンにGrypeとTrivyを統合し、ファイルの削除を確認するカスタムロジックを追加して、デブローティング後にCVEが解消されたかを検証した。
  • TensorFlow、PyTorch、NVIDIAの15の実世界のMLコンテナに対して、コンテナサイズ、プロビジョニング時間、脆弱性分析を実施した。
  • APTパッケージ、機械学習フレームワーク(例:TensorFlow、PyTorch)、トレーニングおよびサービングパイプラインにおける未使用機能からのボトルネック寄与度を追跡した。
  • パッケージ依存関係分析を適用し、伝達的依存関係がボトルネックと脆弱性表面積にどのように寄与しているかを特定した。

実験結果

リサーチクエスチョン

  • RQ1ボトルネックは、機械学習コンテナのサイズにどの程度寄与しているか?
  • RQ2APTパッケージ、機械学習フレームワーク、または未使用機能といったコンponentの中で、MLコンテナにおけるボトルネックの主な要因は何か?
  • RQ3ボトルネックは、コンテナのプロビジョニング時間とパフォーマンスオーバーヘッドにどのように影響するか?
  • RQ4ボトルネックは、MLコンテナの脆弱性表面積をどの程度拡大させるか?
  • RQ5既存の脆弱性スキャナは、デブローティングによって解消されるCVEをどの程度効果的に検出できるか?

主な発見

  • 一部の機械学習コンテナでは、ボトルネックが合計サイズの最大80%を占め、パッケージングにおける著しい非効率性を示している。
  • ボトルネックにより、コンテナのプロビジョニング時間が最大370%増加し、デプロイ効率に顕著な影響を与えている。
  • ボトルネックは、未使用の依存関係や伝達的パッケージの含むことにより、脆弱性を最大99%増加させる。
  • APTパッケージは、複雑な依存関係チェーンのため、ボトルネックと脆弱性の主な要因である。
  • TensorFlow や PyTorch などの機械学習フレームワークは、ボトルネックに顕著に寄与しており、特にトレーニング用機能がサービングコンテナに含まれるような不適切なデプロイ環境で顕著である。
  • 高いボトルネックと脆弱性リスクにもかかわらず、ML専用パッケージに対しては非常に少ないCVEが報告されており、セキュリティ監査のギャップが明らかになっている。

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

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

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

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