机器学习系统臃肿且易受攻击
Machine Learning Systems are Bloated and Vulnerable
AI总结:
本文提出 MMLB 框架,量化机器学习容器在容器和包层面的臃肿程度,并结合漏洞分析揭示臃肿导致体积增大、配置时间延长和漏洞加剧的问题。
摘要:
当今的软件充斥着大多数用户不会使用的代码和功能,这种臃肿现象遍及整个软件栈,从操作系统、应用程序到容器。容器是一种轻量级虚拟化技术,用于打包代码和依赖项,提供可移植、可复现和隔离的环境。由于其易用性,数据科学家经常利用机器学习容器来简化工作流程。然而,这种便利是有代价的:容器常常充斥着不必要的代码和依赖项,导致其体积非常庞大。在本文中,我们分析并量化了机器学习容器中的臃肿现象。我们开发了 MMLB,一个用于分析软件系统臃肿的框架,重点关注机器学习容器。MMLB 在容器和包两个层面测量臃肿程度,量化臃肿的来源。此外,MMLB 与漏洞分析工具集成,并执行包依赖分析,以评估臃肿对容器漏洞的影响。通过对来自 TensorFlow、PyTorch 和 Nvidia 的 15 个机器学习容器进行实验,我们表明臃肿占机器学习容器体积的比例高达 80%,使容器配置时间增加高达 370%,并使漏洞加剧高达 99%。
英文摘要:
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%.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。