Talaria:交互式优化机器学习模型以实现高效推理

Fred Hohman 1234-5678-9012 AppleSeattleWAUSA fredhohman@apple.com , Chaoqun Wang 1234-5678-9012 AppleBeijingChina chaoqun_wang@apple.com , Jinmook Lee 1234-5678-9012 AppleCupertinoCAUSA jinmook_lee@apple.com , Jochen Görtler 1234-5678-9012 Independent ResearcherWalldorfGermany me@jgoertler.com , Dominik Moritz 1234-5678-9012 ApplePittsburghPAUSA domoritz@apple.com , Jeffrey P. Bigham 1234-5678-9012 ApplePittsburghPAUSA jbigham@apple.com , Zhile Ren 1234-5678-9012 AppleSeattleWAUSA zhile_ren@apple.com , Cecile Foret 1234-5678-9012 AppleCupertinoCAUSA cforet@apple.com , Qi Shan 1234-5678-9012 AppleSeattleWAUSA qshan@apple.com and Xiaoyi Zhang 1234-5678-9012 AppleSeattleWAUSA xiaoyiz@apple.com
(2024)
摘要。

设备端机器学习 (ML) 将计算从云端转移到个人设备,保护用户隐私并实现智能用户体验。 然而,在资源有限的设备上拟合模型提出了重大的技术挑战:从业者需要优化模型并平衡模型大小、延迟和功耗等硬件指标。 为了帮助从业者创建高效的机器学习模型,我们设计并开发了Talaria:模型可视化和优化系统。 Talaria 使从业者能够将模型编译到硬件,以交互方式可视化模型统计数据,并模拟优化以测试对推理指标的影响。 自两年前进行内部部署以来,我们使用三种方法对 Talaria 进行了评估:(1) 日志分析突出了其 800 多名从业者提交 3,600 多个模型的增长情况; (2) 一项由 26 位用户参与的可用性调查,评估 20 个 Talaria 功能的实用性; (3) 对 7 位最活跃的用户进行定性访谈,了解他们使用 Talaria 的体验。

高效机器学习、模型压缩、设备端机器学习、交互系统、可视化分析
journalyear: 2024copyright: rightsretainedconference: Proceedings of the CHI Conference on Human Factors in Computing Systems; May 11–16, 2024; Honolulu, HI, USAbooktitle: Proceedings of the CHI Conference on Human Factors in Computing Systems (CHI ’24), May 11–16, 2024, Honolulu, HI, USAdoi: 10.1145/3613904.3642628isbn: 979-8-4007-0330-0/24/05submissionid: 8106ccs: Human-centered computing Visualization systems and toolsccs: Human-centered computing Interactive systems and toolsccs: Computing methodologies Machine learningccs: Computing methodologies Artificial intelligence
A screenshot of the Talaria user interface. The interface is roughly split in half, where the left side shows a rich data table of statistics about a model, and the left half shows a network graph diagram of the model.
图1。 Talaria 使机器学习从业者能够将模型编译到硬件,并在 (A) 表视图(B) 图形视图 中联合可视化其操作,同时模拟一套(C)交互式模型优化选项以提高硬件推理效率。 在此示例中,用户按计算时间对操作进行排序,选择一个操作(在表格和图表中以蓝色突出显示),并应用了一项优化,可节省 18.02% 的内存功耗和 11.55% 的运行时延迟。

1. 介绍

机器学习 (ML) 研究和开发的持续趋势是将推理计算从云服务器转移到个人计算(Apple,2021、2022b、2022a)和边缘设备(李等人,2018) 通常称为设备上机器学习(Google,2022),或通俗地称为tinyML (Warden 和 Situnayake,2019),这种方法:(1)保护用户隐私,因为数据计算推理时不会离开用户的设备,(2) 实现新的用户体验,特别是对于具有严格延迟要求的应用程序(例如,高刷新率下的推理),(3) 由于模型不需要访问互联网,因此支持更便携的体验, (4) 允许开发人员在没有大量计算资源的情况下提供机器学习体验,从而降低成本和大型服务器对环境的影响。 然而,随着最新的机器学习模型规模不断扩大(例如,具有数千亿个参数的神经网络(Villalobos 等人,2022;Giattino 等人,2022;Zhao 等人,2023;Stanford,2023)),创建可以在资源受限的设备(例如手机、平板电脑或可穿戴设备)上运行推理的高效 ML 模型具有挑战性,因为部署需要从业者优化和压缩其模型,同时维护可接受的精度(Vasu等人,2022)

除了模型质量指标(例如准确性)之外,机器学习从业者如何有效优化和平衡设备上的推理效率,例如模型大小、功耗和延迟(Hohman 等人,2024;Banbury 等人,2020) 高效的机器学习研究和开发仍处于起步阶段,最先进的技术正在迅速变化(Zhao 等人, 2022; Gu 等人, 2021; Zamzam 等人, 2019; Dhar 等人, 2021; Sehgal和 Kehtarnavaz,2019) 最佳实践很大程度上没有记录或仍在形成(NVIDIA,2023;Warden 和 Situnayake,2019) 高效机器学习方面的大部分进展都集中在贡献新颖的压缩算法上——不幸的是,专注于开发实用工具来帮助人们成功应用和理解压缩的好处的工作要少得多。 由于硬件工程和机器学习研究的进步推动了高效的机器学习技术的发展,但在帮助机器学习从业者应用这些技术来设计真实世界的智能机器学习用户体验方面仍然存在重大障碍。

用于开发高效机器学习模型的工具尚未得到充分探索和开发,但充满机遇(Hohman 等人,2024) 在这个及时的领域,更好的工具可以产生巨大的影响。 机器学习工具通常是一种力量倍增器,使不同专业知识的从业者能够自行开发模型。 用于模型优化和压缩的交互式工具是一个新的研究方向,现有的少数工作仅触及表面。 除了传达应用特定算法压缩技术的效果(Li 等人,2020;Dotter 和 Ward,2018;Xie 等人,2017),高效 ML 开发的许多其他组成部分可以通过交互式可视化来实现帮助从业者创建基于机器学习的设备端用户体验。

为了帮助 ML 从业者构建高效的模型,我们设计并开发了 Talaria:一个模型优化和可视化系统,由 Apple 的专家 ML 从业者提供信息并与他们共同构建,这些专家专门开发设备上的高效模型。 Talaria将模型编译到硬件,并通过显示交互式表格和模型图的分割界面可视化底层硬件和模型统计信息,如图 1 Talaria 还模拟了一套模型优化,以立即显示对模型推理效率(例如延迟和内存)的影响。 机器学习从业者可以在模型级别或单个硬件操作级别应用这些优化。 该系统与模型无关,支持任意 ML 任务的模型,例如视觉(例如分类、对象检测、分割)、自然语言处理和传感应用。

随着高效机器学习领域的成熟,我们期望模型评估工具能够支持从业者根据模型行为指标(例如准确性、精确度、召回率)以及硬件特定指标(例如模型大小、延迟、功耗)来优化模型)。 然而,一切都是有代价的,在 ML 中,CACE 原则(Sculley 等人,2014),“改变任何东西都会改变一切”仍然成立。 在实践中,缩小模型以减小其尺寸、延迟和功耗,同时保持其准确性和质量极具挑战性(Hohman 等人,2024) 在这项工作中,我们有意关注将 ML 推理转移到个人计算设备上以实现由 ML 提供支持的用户体验所带来的新挑战。 因此,Talaria 的作用是帮助从业者在设备上推理任务下评估模型的硬件指标(在部分中进一步讨论) > 2.3)。

我们开发 Talaria 历时 2 年,并报告了 3 项评估。 首先,我们提供日志分析,显示 Talaria 在我们组织内的成功采用。 接下来,我们讨论了对 26 名 ML 从业者进行的可用性调查的结果,他们对 20 种不同系统功能的实用性进行了评分。 最后,我们详细介绍了对 7 位最活跃用户的定性访谈结果,以了解他们使用 Talaria 的体验,以及可以进行哪些改进以更好地帮助他们创建高效的模型。

我们的贡献包括:

  • 与 12 名 ML 从业者一起进行模型优化的形成性研究。 通过需求调查和低保真原型的参与式设计会议,我们概述了优化模型功耗、内存占用和推理延迟以创建高效的机器学习模型的挑战和任务。

  • 塔拉里亚:用于创建高效 ML 模型的交互式可视化系统。 Talaria 将模型编译到硬件,将其低级统计数据和计算图一起可视化,同时模拟多个模型优化以测试推理效率(例如延迟和内存)。 基于网络的系统允许用户与大型模型(例如数千个操作)实时交互。 Talaria 还引入了一种将硬件操作映射回模型源代码的机制。 最后,系统支持协作模型优化,让用户保存优化并将单个 URL 发送给同事以分叉并继续他们的工作。

  • 对 ML 研发团队中部署的 Talaria 进行三项评估的结果。 我们进行了日志分析,以检查我们系统随时间的采用情况(800 多个唯一用户上传了 3,600 多个模型),对 26 名 ML 从业者进行了可用性调查,以评级和评估 20 个系统功能的实用性,并进行了半结构化定性访谈与 7 位最活跃的用户一起了解他们使用 Talaria 进行模型优化的体验。

我们相信,高效的机器学习(特别是针对设备上的用例)是人工智能/机器学习的一个丰富且尚未开发的领域,可供人机交互社区参与。 目前的工具与从业者的需求之间存在很大差距。 我们希望我们的工作强调优化模型工具的必要性和重要性,并激发未来交互式界面的跨学科工作,以创建智能、高效的机器学习用户体验。

2. 背景及相关工作

2.1. 模型压缩技术

为了缩小模型,高效的机器学习从业者使用各种策略,从原则性的架构决策到临时的技巧。 一类技术是模型压缩:对模型的各个组件进行优化,以最大限度地减少其所需的计算资源量。 压缩技术的类别(如图2所示)包括量化(Gholami等人,2021)、调色(Cho 等人, 2022; Wu 等人, 2018)、剪枝(即稀疏化 (Hoefler 等人, 2021; Gholami 等人, 2021))和其他建模具体技术(例如,蒸馏 (Gou 等人, 2021; Gholami 等人, 2021; Polino 等人, 2018)、高效神经架构 (Vasu 等人, 2023; Howard 等人, 2017;Sandler 等人,2018;Tan 等人,2019;Choudhary 等人,2020),以及动态架构(Zhu 等人,2021))。 每种技术实际上都是一个技术家族,具有许多细微的变化,也可以组合在一起(Han 等人,2016) 以下调查详细介绍了压缩技术:(Menghani,2023;Deng 等人,2020;Choudhary 等人,2020;Cheng 等人,2018)

在这项工作中,我们使用的压缩技术是量化( 2A)、剪枝( 2B),以及调色( 2C)。 简而言之,量化将模型的输入、输出和/或权重从高精度格式(例如,fp32)转换为低精度格式(例如, fp16int8,甚至int2)(Gholami 等人,2021) 权重剪枝删除模型中最不重要的参数(例如权重、偏差)以使其更小。 其动机是现代神经网络过度参数化,因此删除参数对最终预测的影响最小(Hoefler等人,2021;Gholami等人,2021) 最后,调色将模型的权重映射到一组离散的预先计算(或学习)值。 受到艺术家“调色板”的启发,其想法是将许多相似的值映射到一个平均值或近似值,然后使用这些新值进行计算推理。 虽然压缩技术有多种类型,但由于它们的流行度、性能和常用性,我们重点关注这三种技术。

Visual analogies for how three compression techniques work. Each start with an original apple emoji and show the output of the compression technique after it is applied. In quantization, the apple emoji becomes blurry with noticeable artifacting around the edges due to a decrease in resolution. In pruning/sparsification, the apple emoji becomes masked with a grid of white squares, where the apple is still visible but parts of it have been removed. In palettization, the apple emoji’s colors are reduced to a set of six colors.
图 2. Talaria 中内置的三种常见模型压缩技术的图示。 (A) 量化将数据类型从高精度格式(例如,fp32)转换为低精度格式(例如,int8)。 (B) 修剪/稀疏化 从神经网络中删除不必要的权重。 (C) Palletization 将模型权重映射到一组离散的预先计算(或学习)值。

2.2. 现有压缩资源

由于模型压缩的投资通常只需要模型在设备上运行的应用程序,因此与一般的 ML 相比,ML 优化的研究和最佳实践要有限得多。 虽然调查详细介绍了不同的压缩技术(Deng 等人,2020;Choudhary 等人,2020;Cheng 等人,2018),但大多数现有的实践指南都来自流行的 ML 库的在线教程和文档。 示例包括 TensorFlow 的模型优化工具包和有关量化感知训练的博客文章(TensorFlow,2020、2018); PyTorch 对量化(PyTorch,2018)、稀疏性(PyTorch,2019)及其随附示例(PyTorch,2023)的实验性支持; Google 对 Keras 的量化扩展名为 QKeras (Google,2019);微软的神经网络智能包和工具(微软,2021);英特尔的神经压缩器库(英特尔,2020);以及 Apple 的 MLX 框架 (Hannun 等人,2023) 和 DNIKit (Welsh 等人,2023) 对于针对特定硬件,其他示例侧重于加速 FPGA 上的推理(Fahim 等人,2021)以及压缩 Core ML 模型以在 Apple 平台上运行​​(Apple,2023) 最后,围绕这一主题出现了名为 TinyML 的社区,该社区出版了一本关于为始终在线、低功耗用例开发模型的书(Warden 和 Situnayake,2019 年)

2.3. 设备上推理 v. 设备上训练

澄清设备上推理和设备上训练之间的区别非常重要。 在我们的工作中,我们专注于设备上推理中更常见的研究和应用组件:根据计算资源有限的设备(例如内存较小的手机、平板电脑或可穿戴设备)上加载的预训练模型计算预测和电力容量(Hohman等人,2024) 在这些特定的移动计算设备上,很少会从头开始训练模型。 在某些需要个性化的机器学习环境中,模型可能需要对用户设备上的数据进行微调;然而,这种场景比离线训练模型并将其部署到移动设备上以运行推理(Hohman等人,2024)要少得多。 虽然设备上推理和训练面临许多相似的挑战,并且两者都可以从交互式工具和可视化中受益,但设备上训练模型并不常见,通常需要更多资源(周等人,2019) 因此,我们有意将工作范围集中在构建用于运行设备上推理的 ML 模型优化工具上。 有关设备上学习的当前研究和挑战的资源,请参阅以下调查:(Dhar 等人, 2021; Lim 等人, 2020; Zhou 等人, 2019; Murshed 等人, 2021).

2.4. 模型评估的可视化

自十多年前机器学习创新蓬勃发展以来,已经出现了许多针对机器学习开发周期的大多数阶段设计的视觉分析系统。 这种将可视化与机器学习相结合的混合研究方向为模型评估做出了重大贡献(Hohman等人,2018) 对于不同的建模任务,用于可视化数据子集指标(例如准确率、精确度、召回率)的工具(Cabrera 等人,2023, 2019;Ahn 和 Lin,2019;Wexler 等人,2019)用于探索大型机器学习数据集的工具(Bertucci 等人,2022;Inc.,2021)帮助从业者比较和评估机器学习模型对未见数据的泛化能力。 结合可视化的 ML 任务示例包括数据分类(Amershi 等人,2015;Ren 等人,2016;Görtler 等人,2022)、图像分类(Choo 等人,2010)、物体检测(Gou 等人, 2020)、迁移学习(Ma 等人, 2020)、自然语言处理(NLP) (Strobelt 等人) ,2022,2017;Hoover 等人,2019;Brath 等人,2023)

对机器学习从业者如何在代码中构建和评估模型的研究表明,与传统编程相比,机器学习代码具有高度实验性和迭代性(Patel 等人,2008;Amershi 等人,2019) 这一观察结果催生了将可视化融入机器学习开发流程的新方法,例如增强计算笔记本(Bäuerle 等人,2022;Kery 等人,2020) 然而,尽管强调评估模型行为,但评估模型效率(例如延迟和功耗)的可视化工具却少得多。 现有的少数工具显示了模型指标,但没有告知机器学习从业者最新模型优化和压缩技术的潜在效率改进。

2.5. 模型优化可视化

与一般模型评估相比,现有的用于高效机器学习优化的可视化工具很少。 大多数工作研究和调查压缩模型的算法技术,例如稀疏化(Hoefler等人,2021) 工具的开发程度要低得多(Hohman 等人,2024) 与我们相关的为数不多的可视化作品之一是 CNNPruner (Li 等人,2020),它专注于卷积神经网络架构的一种特定压缩技术,即剪枝。 其他工作仅显示模型优化过程中结果和特征的静态可视化;例如,Dotter 和 Ward (2018) 分析了推理时间和模型大小等模型指标,以及可视化分类任务的数据集群,以及 Xie 等人 (2017)网络学习到的可视化特征作为更好地修剪冗余内核的指导。 模型图可视化工具,例如 TensorFlow Dataflow Graph 可视化工具 (Wongsuphasawat 等人,2018) 和 Netron (Roeder,2017) 等开源工具,允许从业者检查他们的模型模型,但不是为优化任务而设计的。 大多数现有工具都不是基于现实世界的工作流程和机器学习从业者的需求,也没有考虑模型效率和硬件指标的细节。

3. 形成性研究:动机和挑战

从文献中可以清楚地看出,用于创建高效机器学习模型的工具尚不发达。 这在一定程度上是由于设备上机器学习的特殊性:构建优化模型带来了传统机器学习开发的所有挑战,但还需要硬件知识和访问方面的专业知识(Hohman等人,2024)

受到这些挑战的激励,我们寻求探索可视化可以提供帮助的机会。 为了构建正确的模型优化工具,我们进行了形成性研究,以更好地了解创建高效模型的挑战和需求。 我们首先对 Apple 的 ML 从业者进行了一项小型需求调查(部分 3.1)。 然后,通过参与式设计会议,我们根据从业者数据开发了低保真度原型,让他们了解交互式可视化可以提供的功能(部分 3.2)。

表格1。 对需求调查的已完成答复的摘要,包括他们的角色、ML 应用程序的主要类型以及 ML 领域的多年经验。
ID Role ML Application Exp.
P1 ML Manager Deployment & Optimization 10
P2 ML Engineer Training & Optimization 9
P3 ML Engineer Training & Optimization 8
P4 Research Scientist Research & Optimization 9
P5 ML Engineer Training & Optimization 5
P6 ML Engineer Training & Optimization 4
P7 ML Engineer Deployment & Optimization 4
P8 Research Scientist Research & Optimization 5
P9 ML Manager Training & Optimization 7
P10 ML Engineer Training & Optimization 3
P11 Research Scientist Research & Optimization 6
P12 ML Engineer Deployment & Optimization 5

3.1. 高效机器学习需求调查

首先,我们向组织内高效的机器学习专家发出了一项开放式需求调查,询问用于模型优化的交互式工具应支持哪些功能。 调查形式主要由开放式文本回复组成,并且基本上是非结构化的,旨在收集有关优化模型的不同观点。 我们收到了 12 条回复,总结在1中。 我们调查的参与者数量低于我们组织内的其他参与者,因为我们制定了严格的参与标准:参与者必须是高效 ML、硬件优化和至少一个 ML 领域(例如研究、模型训练或部署)方面的专家),以确保数据尽可能相关且信息丰富。 共有 12 名参与者,他们拥有 75 年的经验。 我们注意到,这项调查仅在一个组织内进行,因此从业者可能持有特定于组织的信念和实践(Schein,1990) 然而,根据现有关于实践中高效机器学习的实地研究(Hohman等人,2024)、经验年数以及这些参与者分享的专业知识,我们相信我们的研究结果准确地描述了他们工作中当前面临的挑战,以及更广泛的高效机器学习。

关于新工具可以支持哪些功能,许多请求都是特定于 ML 模型和硬件分析的领域,例如将功耗和内存消耗归因于在设备上执行的各个 ML 操作。 所有 12 个响应 (P1–P12) 都表明了他们定期检查的特定指标(例如模型大小、推理速度、内存使用情况、内存功率)。 分析这些统计数据是高效的机器学习从业者执行的主要常规分析之一。 因此,从任意模型中提取这些统计数据并将其快速加载到工具中进行分析的能力将缩短从业者可视化和优化其模型所需的时间。 答复明确表示,任何工具要想在这项工作中取得成功,就必须支持这项任务。

然而,回应表明,仅分析模型和硬件统计数据是不够的;机器学习从业者还需要知道这些指标在模型内的位置(即在编译的计算图中的几何位置)。 从业者不仅想知道他们的模型使用了多少计算预算(即模型大小、延迟、功率的阈值或允许模型消耗的任何特定资源的数量),而且他们还想知道具体的计算预算模型中的操作对这些聚合的权重很大。 九个回复(P1-P6、P9-P11)表达了他们希望有工具来帮助他们排序、过滤和定位最大的“违规者”(计算成本最高的操作)。 这些也称为计算瓶颈,是高价值的硬件操作,可帮助从业者最大限度地减少模型编辑。 由于获得准确的模型变得更加困难,因此需要进行更多的优化,因此保留尽可能多的原始模型完好无损是一种理想的方法。 在这种情况下,计算瓶颈是从业者想要了解的潜在优化节省的主要候选者。

另一组八个回复(P2-P7、P9、P10)表达了对快速测试优化选项以了解对硬件指标的影响的热情。 快速优化实验很重要,因为不同的优化会对模型的指标产生不同的影响,并且很难知道优化单个层会对整个模型产生什么影响。 最后,一个共同的主题是此类工作固有的协作性质:它不仅需要机器学习工程师,还需要硬件专家、编译器工程师以及可以在这些角色之间浮动的具有混合专业知识的人员。 这些从业者拥有利基但需求高的混合技能,无法随着他们从事的项目数量而扩展。 帮助他们更快地分析模型、共享结果(例如,总体延迟改进、层级内存分析或应用优化前后的影响)的工具,或许还可以向其他 ML 工程师介绍优化技术,从而帮助他们分发他们的工具。专业知识。

3.2. 参与式设计和低保真可视化原型

鉴于我们从需求调查中发现的观点,我们接下来希望通过让调查参与者与基本原型进行交互来收集更多关于创建有效模型的见解。 从一个正在开发的模型中获取数据后,我们构建了低保真原型和可视化,为机器学习从业者提供有形的工件来检查和批评。 为了收集最精确和信息丰富的定性反馈,使用真实数据和模型进行原型设计非常重要。

在一个月的时间里,我们每周与 12 名参与者会面,根据他们的要求和我们对有用功能的期望更新我们的原型。 这些原型通常是针对需求调查中提出的问题的具体但不相干的解决方案。 例如,一个原型是一个丰富的数据表,它显示了可以从编译为在硬件上运行的模型中收集的所有不同指标。 从业者(P1-P12)表示这是必须具备的,并且赞赏快速排序和过滤操作以找到模型瓶颈,并更广泛地了解模型中使用的计算的总体分布。 第一个表格原型是需求调查任务的直接结果,其中从业者都提到了他们想要一起收集和分析的具体指标,因为他们经常在多个指标之间进行权衡(例如,是否使模型在一个位置更快)它的内存使用情况?)。 后来,我们还添加了模型上预先计算的优化结果,实践者(P2-P7、P9-P11)表示这有助于在原始模型的同时优化模型数据。

另一个原型是一个简单的仪表板,它实现了基本的交互式可视化技术(例如,刷动和链接、按需提供详细信息)。 从业者(P1-P3、P8、P11)赞赏这种替代的、表格中数据的可视化视图,但表示他们不断地检查特定的操作值,因此表格几乎应该始终显示在屏幕上。 该仪表板原型随后被定位为补充。

另一种原型是模型硬件操作的简单节点链接图。 从业者(P1-P9)非常欣赏模型的结构。 然后,我们添加了控件,通过不同的指标对图的节点进行编码,以突出显示模型中某些指标权重较大的位置。 这对从业者来说很有启发,因为他们以前没有制作过这样的可视化,但一直想要一个在模型中以几何方式(而不仅仅是从统计数据)中找到瓶颈操作的视图。

到月底,我们已经收集了一小部分原型,包括数据表、仪表板、计算图等,这足以展示高效 ML 开发中交互式可视化的强大功能。 当与实践者一起审查所有原型时,他们再次强调从分析和几何角度检查他们的模型,并且每种视图都为他们的工作提供了不同的视角。 大家一致认为,未来工具的基础应该支持这两种范式。 这些原型帮助我们在 Talaria 的设计和开发过程中确定系统功能的优先级。

3.3. 模型优化的设计挑战

结合从我们的需求调查(部分 3.1)收集的数据和来自低保真可视化原型的反馈( 3.2),优化机器学习模型最常见和最紧迫的挑战合并,我们在下面列出为(C1-C5)。

  • C1。

    从分析和几何角度检查模型统计数据。 高效的机器学习分析需要同时查看大量表格模型统计数据和大型网络图。 在这两个视图之间来回切换既耗时又麻烦,但却至关重要。

  • C2。

    寻找模型瓶颈。 并非模型的每个部分都需要或应该进行优化。 很难找到计算模型瓶颈并将其与全局架构放在一起。

  • C3。

    交互式测试多个模型优化。 模型压缩工具还处于起步阶段,缺乏支持一般优化分析的交互界面。 目前尚不清楚在多大程度上以及在何处应用模型优化来达到目标​​指标和计算预算。

  • C4。

    协同优化模型。 高效的机器学习工作需要多个从业者和专家在模型开发过程中迭代地做出决策。 跟踪多个贡献者共享的分析是很困难的。

  • C5。

    准确应用模型优化。 将优化分析的结果转化为实践(例如,对模型训练代码中的某个层应用压缩)可能非常耗时且容易出错。

4. 可视化系统需求和任务分析

从我们的形成性研究来看,显然有机会帮助从业者创建高效的机器学习模型。 从业者表示现有工具不足,并表示热衷于可视化可以帮助他们为设备上的用户体验开发更小、更高效的模型。 鉴于解决机器学习这一新兴领域的相对新颖的领域和工作的稀疏性,我们寻求设计新的交互式可视化来优化机器学习模型。 为了告知我们的设计,我们提炼了我们的系统应该支持的从业者执行的五项主要任务。 下面的任务 (T1–T5) 对应于部分 3<中提出的挑战 (C1–C5) /t4>

  • T1。

    快速分析低级模型和硬件统计数据,以了解模型的推理(效率)(C1、C2)。

  • T2。

    交互式地可视化模型架构,以查看其拓扑并找到计算图中的计算性能瓶颈(C1,C2)。

  • T3。

    探索不同的模型优化并快速检查它们对推理效率的影响,包括模型范围的优化和目标优化 (C3)。

  • T4。

    允许团队协作优化模型 (C4)。

  • T5。

    通过将低级硬件操作归因于其源代码位置,使优化变得可行,以帮助从业者知道在哪里实施优化 (C5)。

5. Talaria 界面和系统

根据我们的形成性研究确定的任务,我们提出了 Talaria,这是一种用于 ML 模型优化的交互式可视化。 Talaria 使机器学习从业者能够了解他们的模型在设备上的执行情况并对其进行优化以提高推理效率。 该系统通过显示交互式表格和模型图的分割界面可视化硬件统计数据。 Talaria 是一项实质性工程工作,包含许多功能,可解决从业者在构建高效 ML 时面临的挑战。 该系统与模型无关,支持任意 ML 任务,例如视觉、NLP 和传感。 在本节中,我们将相关视图和功能链接到从任务分析(部分 4中确定的任务(T1–T5) )。

5.0.1. 系统头文件

Talaria 标头包含有关模型的顶级信息,包括从业者需要了解和优化的关键统计数据,例如目标推理帧速率 (fps)、内存功率 (mW) 和延迟(多发性硬化症)。 标题还包含 Talaria 的主导航选项卡,用于在下面描述的特定可视化和视图之间切换。 切换视图时,系统标头在界面中保持固定。

5.1. 表格视图

界面的第一个主视图是表视图( 1A),这是一个丰富的交互式数据表,显示低级数据模型如何运行的硬件统计信息 (T1)。 表的每一行对应一个低级硬件任务,每一列编码不同的指标。 一个重要的指标是任务运行所需的时钟时间(TOTAL TIME 列),该表在此表中双重编码为​​数字和内联 Sparkbar (Tufte,1986)

有数十个指标可供可视化,但系统默认只显示几个;默认选项是根据从业者对部分3形成性研究的反馈而选择的。 用户可以通过单击“可见列”按钮来添加、删除或浏览所有可用指标。 不熟悉每个指标的用户可以将鼠标悬停在列标题中的指标名称上,以显示以简单语言描述该指标的工具提示。

表视图还支持与从业者从我们的参与式设计会议中请求的丰富数据表进行交互的常见任务。 当用户单击列标题中的箭头图标时,用户可以按指标对表进行排序,过滤表(例如,显示耗时超过 1 毫秒的任务),并按任务名称或 ID 进行搜索。 这些功能允许用户快速探索和分析其模型的统计数据。

最后,表格视图与图形视图交互链接。 例如,在表中选择一个任务将放大并突出显示图表中的相应节点。 这是一个简单但关键的交互,因为它允许从业者将任务统计数据链接到模型图中的位置以进行进一步分析。 还支持多项选择,例如,当表过滤为任务子集时,图形视图会突出显示所选任务并自动调整图形大小以显示这些任务。 这种共享状态是 Talaria 中的一种模式:一个视图中的交互与系统中的其他视图相关联。 我们决定根据需求调查实施多协调视图和交叉过滤,因为从业者感叹他们经常在统计数据和图形可视化之间来回切换。

5.2. 图表视图

Five neural network models that are represented as node-link diagrams. The diagrams are arranged from left to right, where each becomes larger and more complex, e.g.,, more nodes and more edges.
图 3. Talaria 中可视化的五种不同模型的架构日益复杂。
A neural network model represented as a node-link diagram, where the nodes are colored shades of blue indicated which node has a high value of some metric of interest. There are three copies of the same network side by side, each with different patterns of shaded blue nodes to compared different metrics within a model.
图 4. 图形视图的三个示例在同一模型上编码不同的硬件指标,以快速识别潜在的模型瓶颈。 深蓝色节点表示指标值较高,例如延迟、内存或功耗。

界面的第二个主视图是图形视图( 1B),这是一个交互式画布,显示已编译的模型架构图(T2)。 图中的每个节点对应于一个低级硬件任务(例如,卷积或串联操作)。 需要注意的是,该图表示编译到硬件上的模型的操作(类似于可视化数据流图(Wongsuphasawat等人,2018)),而不仅仅是来自模型定义代码的传统模型架构。 Talaria 中显示的计算图更丰富且通常更复杂( 3 中显示的示例模型复杂性不断增加)。

用户可以自由缩放和平移图表,以检查他们的模型如何编译到硬件。 有关按需详细信息,将鼠标悬停在任何节点上都会显示一个工具提示,其中包含从业者在探索过程中可能感兴趣的重要指标。 当用户想要获取有关特定任务的更多信息时,选择一个节点还会在表视图中突出显示相应的任务,其中包含如上所述的所有其他可用指标。 除了选择单个节点外,用户还可以通过套索选择来选择多个节点;此选择还会将表视图过滤到选择中的相应任务。

由于模型的深度(例如,层数)和宽度(例如,并行层或分支)可能很大,因此图形视图会显示小地图(小图形概述),以允许用户快速识别感兴趣的区域(1B)。 3 显示了架构日益复杂的五个模型的小地图示例。 小地图还可以帮助用户在放大特定区域时记住全局模型几何形状。 用户可以拖动小地图选择窗口来重新定位主图形视图(例如,快速跳转到模型中较远的位置)。 小地图也可以隐藏以最大化屏幕空间。

处理大型模型的另一种技术是将相关任务分组并在适当时构建层次结构。 当从业者导出模型时,他们可以在代码中定义分组(例如,将 Transformer 单元中的所有任务分组,或将特定子网络中的任务分组)。 通过超级节点可以交互展开或折叠的分层图(受到(Wongsuphasawat等人,2018)的启发),从业者可以减少他们视图中的节点数量,以专注于更高层次的模型结构。

图表视图的最后一个重要功能是通过模型指标为图表着色。 这对于快速找到网络内的计算瓶颈至关重要。 用户可以在两个位置之一选择指标:(1) 图形视图中的下拉菜单,或 (2) 表格视图中列标题中的“绘图”图标。 任一选择都会更新节点的颜色,其中深蓝色表示计算成本更高的任务,如 4 中所示。 这种设计可以让暗节点(即瓶颈任务)在缩小概览时脱颖而出。

A toy neural network model is represented as a node-link diagram is gray. It has two arrows pointing if different directions. The first direction demonstrates model-wide optimization, where the entire network is now colored blue to show that this technique impacts every node and edge of the models. The second direction demonstrates targeted optimization, where only a couple nodes and edges are colored clue to show that this technique only impacts a sub-network within the model.
图 5. 两种类型的模型优化的图示。 (A) 模型范围优化 将压缩技术应用于整个模型,无论结果如何。 (B) 定向优化仅压缩某些模型操作。 Talaria 支持两者,并允许从业者以交互方式优化单个模型操作。

5.3. 交互模型优化

除了可视化模型统计数据和编译的图表之外,Talaria 还包含强大的功能,可帮助 ML 从业者在模型优化 (T3) 方面做出明智的决策。 为了优化模型,从业者通常必须实施和应用优化,例如特定的压缩技术,以凭经验测试哪些技术可以提供最佳结果。 这可能非常耗时,而且感觉就像“在黑暗中寻找”。相反,Talaria 使用户能够实时选择和比较模型优化。

这怎么可能? 在编译时,Talaria 会为每个任务预先计算许多可能的优化,并将这些数据保存到 Talaria 后端服务器。 尽管这些是对硬件指标节省(例如延迟和功耗)的估计,但在我们的大多数测试中,模型足够准确(与实际硬件基准测试相比,方差在 1-3% 以内)。 当用户选择优化时,界面会在两个地方更新。 首先,系统标题中的表格显示了模型总体指标的结果(如1所示,其中此优化导致节省18.02% 内存功率和 11.55% 延迟)。 其次,表格视图显示每个任务的新优化统计数据,颜色为绿色或红色,具体取决于它们是改进还是退化( 1) 。

Talaria 支持两种类型的优化:(1) 模型范围的预定义优化( 5A),以及(2)针对特定任务的针对性优化(5B)。

5.3.1. 模型范围的预定义优化

模型范围的优化是一种常用但生硬的方法,其中相同的优化技术适用于模型中的每个任务。 例如,可以量化或稀疏整个网络以减小模型大小。 Talaria 提供最常考虑的预定义模型范围优化( 6A)。 由于 Talaria 允许用户实时检查优化影响,因此当有人想要通过常见的模型范围优化快速估计延迟或节能时,这是一个很好的首次尝试。

Two screenshots of the two different optimization options in Talaria. The first is for model-wide optimizations, where a short table lists out the options a user can take in natural language. The second is for targeted optimizations, where a table of different optimizations show the impact on various metrics for a single layer in the model.
图 6. Talaria(A) 模型范围优化 用于快速实验,(B) 有针对性的优化 用于压缩单个硬件操作。 有针对性的优化显示一个表,其中行采用不同的压缩技术,指标更改为绿色或红色。 在此示例中,用户已过滤表以仅考虑输入和输出格式量化为 int8 的优化。
Three complementary charts from Talaria. The first shows multiple bar charts of different metrics as histograms. The second shows a scatterplot where a rough correlation is made between the x and y axes. The third shows a waterfall chart where bars indicate how long an operation takes to run; most operations are short, whereas only a few of the model operations take up a majority of the computation time.
图 7. 补充可视化可帮助机器学习从业者分析他们的模型。 (A) 单变量指标直方图让用户可以快速浏览各种模型指标的分布形状。 (B) 散点图有助于识别模型指标之间的相关性。 (C) 执行时间线 显示模型的不同操作何时执行。

5.3.2. 针对特定任务的针对性优化

Talaria 更先进、更新颖的是适用于特定任务的针对性优化,例如计算成本较高的瓶颈任务。 虽然模型范围的优化可以被视为粗略的技术,但有针对性的优化为用户提供了细粒度的控制。 有针对性的优化可以避免模型的过度压缩,从而更好地保留准确性等行为指标。

要优化任务,用户可以单击表视图中的“优化”按钮来查看一个模式,其中显示了优化任务的“输入格式”、“输出格式”、“内核格式”和“权重”的详尽组合列表。稀疏性。”每个优化还显示了对该任务的延迟和内存功率的影响。 用户可以将这些选项过滤为他们喜欢的优化子集,例如,仅考虑具有 int8 内核量化的选项。 为了帮助从业者做出决定,每个选项在所有选项中的相对变化都被着色,以便于比较。 例如,在6B中,绿色文本表示积极的结果(例如,延迟下降),红色文本表示相反的结果。 虽然优化任务通常会带来更好的推理效率,但某些优化会做出权衡(例如,减少内存但增加延迟)。

借助表格视图、图形视图和实时优化功能,新颖的分析工作流程开始出现。 机器学习从业者可以在表视图中观察指标分布模式,从图形视图中快速定位模型瓶颈,然后有选择地优化这些任务以挤出最佳的推理效率。 这遵循一个指导设计原则,即从业者希望最小化编辑和优化他们的模型。 Talaria 使他们能够优先考虑优化并获得最佳的“性价比”。

5.4. 协作优化和保存压缩分析

在实践中,构建机器学习模型需要多个贡献者的协作。 Talaria 在设计时就考虑到了此工作流程,并包含轻量级但重要的功能来支持 ML 团队的协作模型优化 (T4)。

用户可以通过单击保存按钮并提供分析名称来将优化保存在 Talaria 中。 系统标头中的 1就是一个示例,其中用户保存了名为“CHI 2024 Analysis”的优化。此功能还可用于 (1) 将分析保存为特定检查点,(2) 跟踪特定节省目标的路径,或 (3) 保存优化,然后重新启动以处理替代方案。

此外,当模型上传到 Talaria 时,会生成一个唯一的 URL。 一旦上传者授予权限,该URL可以共享给个人用户或用户组,并且该模型将出现在协作者的模型列表页面中。 这是专为通用工作流程而设计的,其中机器学习工程师优化其模型、保存分析并将 URL 发送给其团队进行审核。 模型所有者还可以启用链接共享,以便任何其他用户都可以加载之前保存的优化,对其进行编辑,并将其另存为新分析。

5.5. 源代码跟踪

一旦选择了理想的优化,从业者就需要将其应用到他们的代码中。 Talaria 支持一项称为源代码跟踪的关键功能,该功能将每个硬件任务映射回代码中的模型定义 (T5)。 为了实现源代码跟踪,从业者使用 Talaria 的配套框架导出模型,该框架构建了硬件任务图。 在图构建过程中,它会解析每个 API 调用的调用堆栈以获取代码位置。 导出的模型包包含将源代码映射到硬件任务的 JSON 文件。 最终结果是用户可以从堆栈中的硬件跟踪单个任务到生成该任务的模型定义的确切代码行。 用户可以在两个视图中与此功能交互:代码位置和代码浏览器。

5.5.1. 代码位置视图

从表视图或图形视图中选择任务会填充代码位置视图,其中显示生成该任务的代码片段。 这使得从业者能够快速找到要编辑的代码以应用优化。

5.5.2. 代码浏览器视图

每个代码片段还包含该片段所属的文件的名称。 单击文件名会将视图更改为代码浏览器(基于 Web 的只读代码编辑器),它会突出显示代码片段中的代码行,为从业者提供更好的代码上下文。 代码浏览器具有代码查看器的常见功能,包括文件树浏览器、语法突出显示和代码小地图。

5.6. 互补的可视化

Talaria 还包含三个互补的可视化效果,以帮助从业者探索模型统计数据。 可视化显示模型操作,即表视图中的行和图形视图中的节点。 这些视图是交互式的,并在工具内共享状态,例如,在一个视图中选择或过滤任务会更新所有其他视图。 用户通过系统标题中的选项卡在这些视图之间切换。

A diagram with nested boxes showing the relationship between the frontend, backend, database, and file storage components of the system.
图 8. Talaria 系统架构。 用户与 Web 前端交互以可视化模型。 前端与编译模型的后端服务器通信,还连接到数据库和文件存储服务以保存和检索模型信息。

5.6.1. 度量直方图

第一个补充视图是单变量直方图网格( 7A),让用户快速浏览每个指标的分布形状他们的模型。 可以使用轻量级交互,例如范围选择以过滤掉分布中不需要的部分;然后,Talaria 更新系统的选择状态并重新映射轴以适应数据子集。 过滤多个直方图可以帮助用户找到他们感兴趣的任务子集。

5.6.2. 散点图

第二个补充视图是散点图( 7B),可帮助用户找到指标之间的相关性。 每个轴都包含一个下拉列表来指定指标。 将鼠标悬停在某个点上会显示包含任务详细信息的工具提示。 单击或选择点也会在 Talaria 的其他视图中选择这些任务。

5.6.3. 执行时间表

第三个补充视图是时间线可视化( 7C),可帮助用户按时间顺序查看模型任务的执行情况。 任务排列在 y 轴上,时间排列在 x 轴上,其中条形表示任务花费的时间。 这种编码可以轻松地将计算成本较高的任务(较大的条形)与较小的任务进行比较。 此外,该视图对于快速查找最严重的任务(即计算成本较高的任务)以及在推理时间内运行时按时间顺序定位每个任务都很有用。 与其他视图类似,单击任何任务都会更新其他视图中的 Talaria 选择。

5.7. 系统实施

Talaria 是一个构建在通用网络堆栈上的基于网络的系统。 该系统的指导设计理念是将尽可能多的工作负载保留在浏览器中,并使用主要用于数据和模型编译的后端。

对于前端,我们使用了开源库,包括 Vue.js111https://vuejs.org/ 用于主 UI 框架,D3.js222https://d3js.org/ 用于数据转换和可视化渲染,以及 Monaco Editor33>33https://microsoft.github.io/monaco-editor/ 对于后端,我们使用 Flask444https://flask.palletsprojects.com/ 作为一个轻量级 WSGI 应用程序框架,它与我们的数据库和存储进行通信并向前端提供数据。 大多数交互逻辑位于前端(例如,渲染和可视化交互),而后端主要用于提供预先计算的 JSON 数据(例如,计算5.3中提到的可能的优化)。 我们的服务托管在 Amazon Web Services Enterprise(例如 EC2、EKS、RDS、S3)上555https://aws.amazon.com/ 有关每个组件如何相互关联的更多详细信息,请参阅8中的系统架构图。

6. 使用场景说明

展示部分 5中描述的Talaria功能如何协同工作,帮助机器学习从业者可视化和优化他们的模型,我们提出了一个说明性的使用场景。

Screenshots of the Talaria interface showing how a user Moira meets her runtime budget. It shows a the Table View of failed model-wide optimization, then the Table View of a successful targeted optimization, along with the Graph View and code snippet of the hardware operations to optimize.
图 9. 一个说明性的使用场景,其中 ML 从业者 Moira 必须在 U-Net 分段模型上实现 34 毫秒的运行时预算。 通过 Talaria,她 (A) 快速测试了模型范围的优化基线(使用量化压缩技术,但未满足预算。 相反,她(B)过滤硬件操作以找到瓶颈节点,应用有针对性的量化优化,这满足了预算。 (C) 图形视图突出显示早期过滤器中计算成本最高的操作,(D) 代码浏览器视图显示生成这些操作的代码片段。
场景设置:如何加快图像分割模型的推理速度?

Moira 是产品团队的 ML 工程师,该团队正在开发一个模型,该模型将为移动设备上的新功能提供支持。 任务是图像分割,团队决定使用轻量级的 U-net 架构(Ronneberger 等人,2015) Moira 一直在迭代这个模型,以获得尽可能最好的准确度。 要将此模型移植到设备上,其推理运行时间必须在预算范围内,以确保良好的用户体验。 首先,Moira 将模型加载到 Talaria 中以对其当前运行时进行基准测试。 在系统标题中,她读出了模型的顶级指标:“内存功率:401.21mW”和“运行时间:42.68ms”。该模型允许的运行时间预算为 34 毫秒,因此她需要将运行时间减少大约 20%

在硬件上可视化模型架构。

Moira 首先熟悉Talaria,包括两个主要视图:表格视图和图形视图。 她在表视图中看到 51 行,对应于硬件上运行的 51 个模型操作。 她首先想要了解这些操作是如何组织的,因此在图形视图中,她缩放和平移模型以检查硬件编译器生成的结构。 她认为在硬件上运行的 U-Net 架构代表了她的期望:输入和输出共享相同的大小,并且两个“U 边”(称为收缩和扩展路径(Ronneberger 等人,2015))可以从从开始操作到最终操作的后续卷积层运行的图连接中看出。

快速测试:应用模型范围的优化。

在分析新模型时,常见的基线是尝试模型范围的优化:使用相同的压缩技术优化每个模型操作。 Moira 想看看这个快速测试是否满足她的运行时间预算。 她单击模型范围优化按钮,看到 Talaria 支持的多个压缩选项,包括量化、修剪和调色。 Moira 主要对量化感兴趣,因此她选择将所有输入、输出和内核格式从 fp16 转换为 int8 生成的模型( 9A)报告了内存功耗降低 73.53% (401.21mW → 106.21mW) 和运行时间的顶级指标提高了 16.03%(42.68 毫秒 → 35.83 毫秒)。 请注意,不能保证优化总是使性能更好,例如,优化的开销可能大于节省的开销。 在此示例中,某些操作( 9A 的表视图中的红色部分)的运行时间增加了。 虽然这是一个很大的性能改进,但它没有达到 34ms 的运行时预算。 在尝试另一次优化之前,Moira 单击“保存”按钮并提供名称“模型范围优化”,以保留工作的检查点。

分析模型统计数据并查找瓶颈操作。

在尝试有针对性的优化之前,Moira 需要更深入地了解模型性能。 为了检查模型统计数据,她读取表视图来检查现有操作及其运行时分布。 滚动浏览任务并向下阅读“层名称”列,她发现该模型主要由卷积和池化操作组成。 从模型范围的优化中,她发现量化池化层并不会减少运行时间,因此她在搜索框中输入“卷积”来关注这些操作。 由于图形视图和表格视图是交互式同步的,现在图形视图用蓝色边框突出显示卷积运算。 然后,她按运行时间对卷积运算进行排序,以揭示整个模型的运行时间分布。 从表视图的“静态总时间”列中,她发现十二个操作占据了总运行时间的大部分。 然后,她应用过滤器来删除小于 1 毫秒的操作。 图形视图再次更新以突出显示满足过滤器的卷积节点( 9C)。 这些瓶颈操作形成了 Moira 希望优化的候选集。

结合几何和分析模型知识。

使用“按硬件统计颜色”功能,Moira 在图形视图中将模型架构和运行时可视化。 此功能将每个节点着色为蓝色(颜色越深意味着运行时间越长)。 她确认较暗的节点是她在表视图中过滤的操作,并观察到它们出现在模型的开头和结尾。 这是确认和直观地发现模型瓶颈的快速而强大的方法。

应用有针对性的模型优化。

Moira 现在有了用于目标优化的候选操作集。 她单击计算成本最高的操作的优化按钮,并看到压缩技术组合的列表。 Moira 首先通过使用 int8 过滤输入、输出和内核的表来量化此操作;结果显示,此单一操作的运行时间减少了 39%,内存消耗减少了 66%。 选择此选项后,Talaria 应用优化并在表行中向 Moira 显示改进。 系统标头中的顶级指标也已更新,显示总体内存功耗降低了 43.14% (401.21mW → 228.12mW),运行时间降低了 17.45% (42.68ms → 35.23ms)——这很接近但仍然没有低于所需的预算(34ms)。 Moira 尝试使用相同的量化来优化下一个计算成本最高的操作。 Talaria 更新了指标,显示内存功耗降低了 60.94% (401.21mW → 156.72mW),运行时间降低了 22.72% (42.68ms → 32.98ms)。 虽然此优化的内存功耗降低不如模型范围优化那么强,但她的针对性优化( 9B)成功满足了她的运行时间预算。 请注意,如果某个操作依赖于其他操作,Talaria 会处理这些依赖关系并优化相应的操作。666例如 9中第0个和第49个操作是相连的通过路径,因此将第 49 个操作的输入量化为 int8 会将第 0 个操作的输出更新为 int8 同样,由于第 50 个操作的量化,第 51 个操作的输入必须与 int8 匹配。 在继续之前,Moira 单击“保存”按钮并将分析命名为“运行时 33 毫秒优化”。

与他人共享优化模型并在硬件上进行评估。

完成目标优化和模型范围的基线分析后,Moira 希望与她的团队分享这些结果。 Talaria 中,她单击共享按钮添加团队成员的电子邮件,他们将在其模型列表中看到此模型。 Moira 还将 Talaria URL 复制并粘贴到她团队的聊天中,以便其他人可以直接访问该模型。 现在,其他团队成员可以检查 Moira 所做的分析检查点、分叉并创建自己的优化,并与她分享。 当她的团队检查结果时,Moira 准备她的代码以进行必要的修改以应用优化。 为了找到要修改的代码,她单击每个优化操作,然后单击“代码跟踪”选项卡,该选项卡突出显示生成此硬件操作的 Python 源代码中的代码片段。 为了获得更好的上下文,Moira 单击代码片段的文件名以查看其在代码库中的位置( 9D)。 更新代码后,她现在可以在硬件上运行和评估优化后的模型:她发现实际运行时间减少到 33.35%,与 Talaria 的预测仅相差 1% 左右。 Talaria 让 Moira 能够实时理解和试验她的分割模型的优化,而不是盲目地应用压缩技术并等待更长时间的硬件基准测试。

7. 评估:日志分析、可用性调查和定性访谈

我们在组织内部署了 Talaria,随着时间的推移,多个团队发现它对他们的工作有价值,因此赢得了用户。 我们将该系统描述为一种新的交互式方法,可帮助机器学习从业者评估和优化其模型推理效率。 在这里,我们报告了三种不同的评估 (E1–E3)

  • E1。

    日志分析(部分7.1)用于跟踪Talaria中用户和模型的增长t4> 随着时间的推移。

  • E2。

    可用性调查(部分 7.2),以确定对用户最有用和最不有用的功能。

  • E3。

    对最活跃的用户进行定性访谈(部分7.3),了解他们使用该系统超过一段时间的体验时间以及他们提出的改进建议,以帮助他们创建高效的机器学习模型。

时间线

Talaria 于 2021 年夏季开始实施,第一个版本于 2021 年秋季完成。 从那时起,我们一直在积极开发该工具,包括添加功能、提供维护以及与从业者交谈超过 2 年。 日志分析数据是从 2021 年秋季到 2023 年秋季捕获的。 可用性调查于 2023 年春季发送。 同样,对于定性采访,我们在 2023 年春季与 Talaria 的高级用户进行了交谈。

协议

我们的研究包括三项评估,所有这些评估的方案均得到内部 IRB 的批准。 每个评估的招聘策略都在各自的部分中单独描述。 由于所有参与者都是我们组织的受薪员工,因此没有给予任何补偿。 然而,许多参与者有兴趣了解我们的结果。 研究结束时,我们向参与者及其团队简要介绍了我们的结果。

7.1. 日志分析

在第一次评估中,我们从一个角度分析 Talaria 的后端日志,以检查其使用情况和随着时间的推移更广泛的采用情况。 总体检查用户日志可以让我们深入了解该工具的采用情况、性能和用户行为模式,这可以为未来的改进带来机会。 在我们的评估中,我们重点检查累计数量,例如登录的用户数量和提交的模型数量。 更深入的分析(例如每个用户对特定 UI 元素进行哪些交互)超出了本工作的范围。 为了保护用户隐私,所有名称均已从数据中删除。

Two line charts that show the cumulative total users and models of Talaria over its develop. The user line chart rises steadily for 1.5 years from late 2021 to mid 2023, with two sudden increases towards the middle of 2023. The model line chart rises slowly for 2021, but steadily increases until mid 2023.
图 10. 随着时间的推移,(A) 唯一 Talaria 用户(总共 800 个)和 (B) 提交给 Talaria 的唯一模型的累计数量(已提交 3,600 多个)。

筛选出用于测试的系统和模型的开发人员后,我们统计出 800 个唯一用户,其中 161 个用户提交了至少一种模型(20%)。 这意味着五分之一的用户提交模型,而其他用户则查看协作者共享给他们的模型。 观察一段时间内的累计用户数如图10A所示。 同样,我们可以检查已提交的模型的累计数量。 同一时间段内,提交了 3,600 多个模型,如图 10B 所示。

10中的两个图表中,我们看到了一个有趣的模式:使用量在同一时间出现多次大幅上升。 10A中的用户图表中,这表明整个团队通过查看以下模型发现了Talaria:与他们共享,或者队友正在演示该工具并让同事同时登录以有机地尝试它。 请注意,最近最大的峰值发生在一些模型出于教育目的被演示并分享给更广泛的受众时。 10B中的模型图表中,上升表明开发人员一次提交了多个模型,可能是在测试不同的超参数或架构。 这些使用模式对于理解 ML 从业者如何使用 Talaria 非常有用,也是我们在下面跟进的讨论点。

7.2. 关于功能可用性的用户调查

在我们的第二次评估中,为了了解 Talaria 的可用性,我们对用户进行了调查,以评估不同系统功能的有用性。 该调查首先要求参与者提供有关职位、角色以及使用该系统的持续时间/频率的基本信息。 其余问题要求参与者对 20 个不同的 Talaria 功能进行评分,这些功能按部分5中描述的类别进行分组。 我们与三名从业者一起进行了试点调查,以确保在 5 分钟内完成。 为了招聘,我们将调查发送到专门与该工具的开发和用户群相关的电子邮件和聊天组。 我们总共收到 26 条回复。

Three bar charts showing the metadata of the usability survey participants. The first chart shows that a majority of the participants are ML engineers, with a handful of research scientists, hardware engineers, and software engineers in decreasing order. The second chart shows that majority of participants have 5-8 and 9-12 years of experience, followed by 1-4 years, and only one person with 13+ years of experience. The third chart shows most participants use Talaria multiple days per week or weekly, with fewer using it monthly and only a couple using it as needed.
图 11. 可用性调查参与者的摘要,包括他们的 (A) 工作角色、(B) 他们使用 Talaria 的时间以及 (C) 他们使用 Talaria 的频率。

11中总结了我们的参与者,包括多种类型的机器学习从业者( 11A),包括研究科学家、机器学习工程师和硬件工程师。 它们还涵盖广泛的应用领域,例如机器学习原型、模型训练、模型评估、硬件和编译器设计。 当被问及他们使用 Talaria 多长时间时( 11B),回答从 1 到 18 个月不等。 在此期间,当被问及他们使用 Talaria 的频率时( 11C),回答显示大多数从业者使用Talaria 每周或每周多次,这是该系统对他们的工作产生影响的有力证据。

检查12中的研究响应揭示了许多模式。 首先,总的来说,看到所有功能类别的大多数响应都是积极的,这是令人鼓舞的。 对从业者来说最有用的突出功能包括表格视图、图形视图和交互式优化选项。 虽然表格视图中各种功能的接受度很高,但在两个主要视图中,图形视图的积极响应如此强烈,令人惊讶。 这显示了可视化的力量:虽然许多优化任务可以通过表格视图来解决(例如,按特定指标对任务进行排序以找到计算成本最高的任务),但通过在图中编码来以几何方式查看模型统计数据提供了宝贵的上下文。 同样令人鼓舞的是,尽管其设计和实用性传统,但补充可视化被认为非常有用。

如果我们考虑对用户最不有用或不适用的功能,那么协作和源代码映射类别就会脱颖而出。 虽然他们有一半或更多的答案非常有用,但这两个类别是最少使用或了解的。 我们怀疑并非所有 Talaria 用户都在更大的团队中进行协作,有些用户可能会单独使用该工具。 也可能出现这样的情况:用户在 Talaria 中完成了他们所需的一切,并且不需要导出任何其他材料。 具有更多不适用响应的源代码映射功能也很有洞察力。 这里的一个假设是,在两种类型的优化中,应用模型范围的优化不需要特定的代码编辑,因为优化仅适用于每个操作;因此用户不需要此功能。 另一个假设是,这些功能的可发现性可以提高,因为结果显示这些功能有用或不适用,26 个回复中只有 1 个表示它们没有用。

A grouped bar chart colored by responses to the usability survey. Almost all features in the Table View, Graph View, and Interactive Model Optimization categories are rated very useful. Collaborative Optimization and Complementary Visualizations were rated very or somewhat useable, but only 75% of participants had used those features. Lastly, the Source Code Mapping features had only been used by roughly 50% of participants, although of those they said it was very useful.
图 12. 对可用性调查的答复按功能分组。 参与者对系统的 20 个不同功能进行了评分。

7.3. 来自高级用户的定性反馈

在我们的最终评估中,我们通过几次 30 分钟的半结构化访谈(Boyce 和 Neale,2006;Knott 等人,2022) 收集了与 Talaria 最活跃的人的反馈用户(即高级用户)了解他们可视化和优化自己模型的体验。 我们选择了半结构化的形式,以确保参与者回答我们准备的每个问题,并灵活地自由谈论他们的具体工作并表达他们可能持有的任何替代观点或意见(Knott 等人,2022) 此方法非常适合收集我们之前的评估中未捕获或预期的高效 ML 工作的第一手和个人知识(Boyce 和 Neale,2006)

Talaria 高级用户是通过计算每个唯一用户提交的模型总数并排序以查找提交模型最多的用户来找到的。 我们采访了 7 位用户,包括研究科学家、机器学习工程师和硬件工程师。 参与者的摘要可以在2中找到。 这些用户与 Talaria 的互动最多,并且已经熟练使用其功能。 我们询问了有关他们的用户体验的具体问题,包括让他们反思自己工作的问题。 我们还提出了开放式问题,以了解未来的改进,可以帮助他们更好地优化模型。 对于所有采访,一位作者主导提问,另一位作者做笔记。 经参与者批准,我们录制了对话以供分析期间参考。

面试问题围绕从业者在高效机器学习方面面临的挑战(部分 3)以及我们确定工具应支持的任务(部分 4)。 根据访谈数据,我们进行了主题分析方法,将常见的工作流程、用户行为和模型优化的最佳实践分为几类(Gibbs,2007) 每个参与者的数据和成绩单均经过独立审查,并使用归纳编码(Thomas,2003)进行手动编码。

7.3.1. 分析和可视化优化模型

令人兴奋的是,从业者对他们在分析中使用的观点有自己的偏好。 在两个主要视图(表格视图和图形视图)之间,他们的偏好几乎是分裂的:上传新模型后,P2、P4 和 P6 首先查看表格视图,而 P1、P3、P5 和 P7 考虑图形先查看一下。 尽管第一反应是这样,但几乎所有参与者都提到他们同时依赖两种视图进行分析 (T1)。 P4 明确表示:“数字和图表同样重要。”参与者告诉我们,在表格视图中选择一个任务并同时在图表视图中突出显示它(反之亦然)对于他们的工作。 Talaria 的所有功能中,P2 表示视图之间的交互式选择是他们最喜欢的。

图形视图支持的一项意想不到的任务是,从业者使用图形来验证他们在构建模型时遇到的架构问题。 这可能是图形视图在可用性调查中获得如此高评价的潜在原因(部分 7.2)。 例如,P3 表示,他们使用该图来确认对架构更改的理解,然后渴望了解它如何编译到硬件。 P2 表示,他们将图表视为“快速检查”。这个模型验证任务很有趣,因为它强调了对传统 ML 通常不需要处理的硬件细节的独特考虑。 为了测量功耗、延迟和内存使用等设备上的指标,从业者需要知道他们的模型如何分解为硬件上的单独操作。 可视化极大地帮助了这项任务,它允许从业者直观地检查模型图的拓扑结构,并在图的顶部编码不同的指标。

表 2. 定性访谈评估受访者的摘要,包括他们的角色、ML 应用的主要类型以及多年的经验。
ID Role ML Application Exp.
P1 Research Scientist Research & Optimization 6 yrs
P2 Hardware Engineer Deployment & Optimization 5
P3 ML Engineer Training & Optimization 6
P4 ML Engineer Training & Optimization 6
P5 Research Scientist Research & Optimization 4
P6 ML Engineer Optimization 7
P7 ML Engineer Training & Optimization 7

“我使用 Talaria 勾勒出模型的拓扑结构;它是一个很好的工具,可以可视化模型以及查看功能和性能。” — P7

7.3.2. 发现计算瓶颈

接下来,我们询问了 Talaria 查找计算瓶颈 (T2) 的能力,或者 P2 所说的“头号罪犯” 和 P7 所说的内容作为“热点”(即具有最多延迟、内存或功耗的任务)。 Talaria 设计的一个主要目标是让从业者能够从低级统计数据、模型图或其他可视化中快速找到模型瓶颈。 毫不奇怪,所有参与者都表示这是他们使用该工具的主要原因之一,并且 Talaria 做得很好。 我们通过询问从业者是否上传过模型并对瓶颈感到惊讶来深入探讨瓶颈发现过程。 P1 说这个“经常发生”,,P2 说这个“一直发生”。更具体地说,P3、P4 和 P5 说他们都上传了模型并且发现了不应该存在的额外硬件任务。 例如,当将目标量化应用于硬件任务的子集时,从业者发现各种硬件任务的输入和输出之间存在冗余的数据类型转换。 借助 Talaria,他们可以比以前更快地找到这些瓶颈并修复它们。

Talaria 的好处在于,它会告诉您一些您可能没有预料到的事情,但它也为您提供了一种方法来了解为什么会发生这种情况。” — P2

7.3.3. 更快的优化实验

除了可视化模型统计数据和查找计算瓶颈之外,我们还研究了高级用户如何使用交互式优化功能 (T3)。 这里的用例因从业者的需求而异。 例如,P6 大量使用模型范围的优化。 P6 与多个模型开发团队合作并为其提供咨询,因此每当他们收到新模型时,他们都需要以最快的方式来测试最大节省,以便快速分享给团队,这可以通过使用特定压缩优化整个模型来实现技术。 其他六名参与者更经常使用有针对性的优化功能。 根据他们的应用,参与者更喜欢不同的压缩技术(例如,仅量化输入和输出、量化内核或修剪权重)。 P3 表示,他们很欣赏 Talaria “清楚地向我展示了每一层的选项。”

Talaria 很好,因为我可以快速尝试几个优化选项,并且它可以更详细地告诉我发生了什么。” — P7

一个值得强调的独特工作流程来自 P4,他们表示更喜欢进行有针对性的优化,因为他们不想更改每一层,这更有可能导致准确性损失。 P4 相反,首先应用模型范围的优化,然后删除需要保留的敏感层的优化。 我们注意到这种方法是为了告诉未来的用户他们可以优化整个模型,但也可以有选择地删除需要完全精度的任务。

7.3.4. 优化团队内的模型

我们还询问了从业者在协作环境 (T4) 中使用 Talaria 的体验。 从采访中可以明显看出,共享被大量使用,但我们也想更好地了解模型接收者:他们是建模工程师、硬件专家还是更广泛的利益相关者? P2 表示,在自己的团队内共享 Talaria URL 时,他们将单独迭代模型,然后共享最佳模型作为其工作的最终证明。 P7 也有类似的工作流程,当他们收到新模型时,会将其上传到 Talaria,然后向合作者发回 Talaria URL,并表示:“这是你最初拥有的,这也是我得到的。” P3 和 P5 表示他们将向他们的团队共享多个 URL(模型的不同版本)以进行比较。 P4 和 P6 表示,与仅报告顶级指标相比,共享 Talaria URL 可能更有价值,以防利益相关者想要深入了解。

最后,P1 讲述了他们正在咨询减少模型延迟的场景。 他们发现自己处于建模团队和硬件团队之间,并定期向两个团队共享 Talaria URL,以解释更改和潜在的节省。 P1 是一位高效的 ML 专家,他解释说,他们会定期就需要紧张预算以产生最佳用户体验的项目提供咨询。 虽然他们很乐意分享他们的专业知识,但这种方法不可扩展,尤其是随着项目数量的增长。 他们很高兴看到 Talaria 等交互式工具可以帮助没有这方面专业知识的其他人优化他们自己的模型。

“由于有些人拥有[高效的机器学习]部落知识,[...]自助服务绝对是未来。” — P6

7.3.5. 闭环:应用优化

最后,我们报告从业者进行优化分析并将其应用回他们的代码库 (T5)。 回想一下,在可用性调查中,此功能类别使用最少( 12)。 这个结果也反映在我们的采访中,从业者没有那么多例子可以描述。 我们的初衷是让从业者在使用 Talaria 后有一个可行的下一步。 我们在这里的新颖贡献是将各个硬件操作归因于源代码。 然而,从业者解释说,对代码应用优化只是他们可能做的一次迭代。 从业者可能进行的其他迭代可能是尝试不同的架构、更新模型编译器或导出统计数据以在 Talaria 之外运行他们自己的附加分析。 我们相信这里有机会进一步改善 ML 开发人员的体验,但是,最重要的是我们的用户在使用 Talaria 时没有遇到困难,并且系统为他们提供了下一步可操作的操作,即使它不在系统本身内。

“最终,Talaria 有助于创建运行速度更快的模型,同时对开发人员更加友好。” — P6

8. 讨论:优化可视化的局限性和未来工作

Two screenshots of the new Diff View view in Talaria. The first screenshot shows the source code for a segmentation model, and the modified source code for a new model with two additional lines of code representing additional layers in the neural network. The second screenshot shows the main Talaria UI but split to show two models. This includes two tables and two computational graphs, where rows of the table and nodes of the graph are colored green for the new operations spawned from the modified code.
图 13. 在我们的评估中观察实践者比较 Talaria 中的多个模型后,添加了原型模型 Diff View。 在此示例中,(A)“分段”模型的代码被修改以在其网络中包含附加层。 (B) 新视图显示了原始模型和修改后模型的硬件统计数据和计算图,以绿色突出显示新操作。 这个新模型在图中添加了多个卷积层,从而将内存功耗从 6.19mW 增加到 10.91mW,运行时间从 39.03ms 增加到 45.47ms。

8.1. 型号比较

部分 7.1中的日志分析中,我们观察到一种特定的用户行为:ML从业者可能会一次提交模型的多个版本进行比较。 Talaria 的局限性是它一次只能可视化一个模型;然而,机器学习的开发是高度迭代和实验性的(Patel 等人,2008;Amershi 等人,2019),要求从业者比较模型统计数据、架构和超参数。 高效的机器学习工作为这个难题增添了另一块内容,因为从业者还需要考虑硬件指标之间的权衡,例如模型大小、功耗和延迟。 从我们在部分7.3中的定性研究来看,用户希望跨多个方面比较模型。 示例比较包括将优化模型与非优化模型进行比较、比较不同的压缩策略或比较具有不同架构的模型。 这带来了新的挑战:模型应该如何进行比较,例如与共同基线或彼此之间进行比较? 我们如何有效地可视化模型之间的相关差异? 如果用户想要比较两个以上的模型怎么办?

由于这种观察到的工作流程非常重要且普遍,因此在我们的研究分析得出结论后,我们在 Talaria 中实现了一个新的原型视图,称为模型 Diff 视图。 虽然这一视图并不完全支持任意和灵活的模型比较,但它确实可以帮助从业者完成比较两个模型、它们的硬件指标和计算图的常见任务。 如图13A所示,修改了左侧模型的代码,并在左侧创建了一个具有附加层的新模型正确的。 将两个模型加载到 Talaria 后,Diff 视图现在将主界面分为四个部分:左侧两个表和右侧两个计算图,模仿用于检查单个模型的表视图和图视图。 在更新后的表视图中, 13B 显示原始模型中不存在的新层以绿色突出显示,以及已删除的层以红色突出显示(本例中不存在)。 同样,更新后的图形视图显示了两个计算图,其中新的硬件操作呈绿色。 通过这个新视图,从业者可以看到不同模型架构对其顶级指标的影响,以及修改后的硬件操作位于模型计算图中的位置。

这是对机器学习优化模型比较的早期探索。 值得注意的是,模型比较可视化并不是一个新主题,并且已经在其他工具中进行了探索(Xuan等人,2022;Das和Endert,2020;Kahng等人,2016) 然而,考虑到现代机器学习模型的规模和复杂性,模型比较的可视化改进值得重新审视,特别是对于高效机器学习带来的新挑战和约束。

8.2. 自动代码编辑和交互式模型游乐场

Talaria 允许用户测试各种优化选项并检查它们对推理效率的影响。 然而,现在从业者仍然必须在他们的代码中手动应用这些优化。 Talaria 或未来的模型压缩工具,可以自动在代码中应用指定的优化(可能使用针对编码任务预先训练的大型语言模型(Github,2021;OpenAI,2021、2023)),将它们重新编译到目标硬件,并可视化结果。 从同步代码和 GUI 状态的流畅最终用户编程工具中汲取灵感(Kery 等人,2020),我们提出了一个交互式游乐场,用户可以在其中上传其初始模型定义代码,迭代应用优化,重新编译其模型模型,最后使用优化后的模型代码进行再训练。

最后,鉴于 Talaria 包含模型的代码和可用的优化选项,因此有机会自动建议首先尝试的推荐压缩技术。 推荐压缩技术听起来可能适合自动优化算法。 然而,完全自动化的模型优化尚不可能,因为必须对模型和模型将实现的用户体验设计进行很多考虑(Hohman 等人,2024) 尽管如此,未来的工具可以实现混合主动交互和引导实验,其中 Talaria 可以向用户推荐界面中的优化选项并对模型的源代码进行更改。 这些功能的添加可以为从业者节省大量时间,提供更多的机会来迭代他们的模型。

8.3. 包括模型行为指标

Talaria 专注于提高设备上运行的 ML 模型的推理效率。 虽然可以应用最大压缩来极度优化模型效率和硬件指标(例如模型大小、延迟和功耗),但它可能会对模型的行为指标(例如准确性、精度、召回率)产生负面影响。 构建高效模型的整体目标是在推理效率和可接受的准确性回归之间找到平衡。 Talaria 的一个局限性是,它目前没有考虑准确性等模型行为指标,而是专门关注高效 ML 工作带来的新挑战。 如今,借助 Talaria,从业者可以快速对模型应用最大优化和最小优化,然后使用这些优化配置重新训练它们,以检查准确性或其他行为指标如何变化。 然而,有很好的机会将 Talaria 与模型评估工具更深入地结合起来,这些工具可以可视化不同数据子组的行为指标(例如,捕捉潜在的公平性或可访问性问题)。

需要解决某些技术挑战才能实时进行这些评估以实现交互性,因为考虑行为指标需要通过模型向前传递测试数据以计算预测。 根据测试集的大小或模型的大小,这可能需要几分钟到几小时的时间。 也许应用引导采样方法来创建模型可以在几秒钟内预测的“高效机器学习测试集”,将使未来的工具能够测试某些模型优化并实时获取行为和硬件指标。 这种潜在的组合将使机器学习从业者能够轻松地同时看到压缩方法对行为指标和推理效率的影响。

8.4. 协同模型优化

虽然 Talaria 使从业者能够保存优化实验并与其他人共享,但与其他功能集相比,其协作功能是轻量级的。 部分 7.2显示现有功能被评为非常有用,但这只是朝着协作、高效的机器学习方向迈出的第一步。 数据科学领域的合作并不是一个新话题。 流行的编程工具已经支持协作功能,例如 Juypter (Kluyver 等人,2016)、Google Colab (Bisong 和 Bisong,2019) 和 VSCode (Microsoft ,2023),之前的工作描述了数据科学家如何在人际关系和工具方面进行协作(Zhang 等人,2020;Randles 等人,2017) Talaria 通过使用代码和文档捕获分析的最终结果(例如,保存可共享的优化分析和模型元数据),支持 Zhang 等人 (2020) 强调的协作工具设计,但未来的扩展可能会获得额外的支持,以跟踪分析的完整历史记录(Kery 等人,2019;Head 等人,2019) 历史协作特征可以帮助其他人逐步重现优化,以支持更好的重现性——由于 ML 工作的迭代、经验性质,这是一个严峻的挑战 (Patel 等人,2008 年;Amershi 等人,2019) 模型优化因编译器版本、硬件目标和压缩技术等其他维度而进一步复杂化。

8.5. 缩放可视化设计

Talaria 在构建时考虑到了可扩展性,特别是对于大型现代机器学习模型。 虽然我们还没有进行详尽的可扩展性测试,但 Talaria 已用于具有数千个任务/图形节点的模型并且运行顺利。 表视图仅在浏览器视口内呈现行,即使对于大型模型也可以实时滚动、排序、过滤和搜索。 图形视图上的缩放和平移速度很快,因为图形是使用 WebGL 在画布上渲染的,并且即使有数千个节点也以高刷新率(例如 60fps)运行。

然而,我们测试了一些具有数万次硬件操作的模型。 在这些模型中,图形视图是可用的,但导航图形的更大挑战是它太大,无法直观地了解模型如何编译到硬件上。 一个很好的例子是可视化 Transformer 模型,其中数千个操作可以选择性地表示为少数顺序 Transformer 模块。 在这种规模体制下,未来的可视化和交互设计可以提供帮助,例如,通过利用可重复的硬件操作类型并将它们自动分组为超级节点(类似于(Wongsuphasawat等人,2018))。 虽然用户可以在将模型提交到 Talaria 之前在代码中定义自己的组,但将来可以根据利用可重复的硬件操作自动构建组,无论是按顺序(例如多个卷积操作),还是作为模式进行挖掘跨模型(例如,连接到池化操作的并行卷积结构)。

8.6. 高效机器学习的未来工具

这项工作的目标是证明用于机器学习优化的交互式工具在实践中如何高效。 根据我们的评估,与之前的工作相比,Talaria 的一个突出特点是将现有脚本、视图和从业人员工作流程的临时分析统一到单个系统中,这一点得到了回报。 Talaria 降低了高效 ML 工作的障碍,并使优化估计变得更容易(例如,单击按钮),帮助人们检查多个模型优化之间的权衡。 这种将硬件和软件相结合的高效机器学习工作的整体视图是 Talaria 与现有工作的关键区别。

Talaria 的设计以我们与机器学习专家的形成性研究为指导。 我们遵循已知的可视化设计模式(Brehmer 和 Munzner,2013),例如实现多协调视图、交叉过滤和 Schneiderman 的口头禅(Shneiderman,1996)进行概述+ 细节和焦点 + 上下文技术(Cockburn 等人,2009) 用于混合主动用户界面(Horvitz,1999) 尽管设计界面有严格的策略,但我们强调高效机器学习的工具目前尚未开发和探索(Hohman 等人,2024) 少数相关工具侧重于解释特定压缩算法的内部工作原理(部分 2.5)。 虽然现有的工作增进了我们对特定技术的理解,但它们对于许多实际应用来说可能还不够普遍。 未来为高效机器学习设计工具的工作有大量机会在人机交互和可视化领域丰富的文献基础上进行构建,以推进最先进的技术。

9. 结论

通过专注于创建设备上的高效模型,我们可以设计新的智能 ML 用户体验。 这一研究方向虽然不断发展,但仍处于起步阶段。 更具体地说,用于创建和优化模型的工具尚不发达。 为了帮助 ML 从业者创建高效的模型,我们与 Apple 专门开发设备上模型的 ML 专家一起设计并开发了交互式可视化系统 Talaria 我们的可视化系统使机器学习从业者能够分析各种低级统计数据的模型,与模型的计算图交互,并在硬件上进行模型优化实验。 我们希望我们的工作能够强调模型优化工具的必要性和重要性,并激发未来关于交互式工具的工作,以创建高效的机器学习用户体验。

致谢。
作者感谢 Apple 同事对这项工作的精力、支持和指导。 我们特别感谢 Sam Xu、Matthew Kay Fei Lee、Patrick Dong 和 Hojin Kee 的技术专业知识。 我们还感谢那些花时间参与我们系统评估的人。

参考

  • (1)
  • Ahn and Lin (2019) Yongsu Ahn and Yu-Ru Lin. 2019. Fairsight: Visual analytics for fairness in decision making. IEEE Transactions on Visualization and Computer Graphics 26, 1 (2019), 1086–1095.
  • Amershi et al. (2019) Saleema Amershi, Andrew Begel, Christian Bird, Robert DeLine, Harald Gall, Ece Kamar, Nachiappan Nagappan, Besmira Nushi, and Thomas Zimmermann. 2019. Software engineering for machine learning: A case study. In 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice. IEEE, 291–300. https://doi.org/10.1109/icse-seip.2019.00042
  • Amershi et al. (2015) Saleema Amershi, Max Chickering, Steven M Drucker, Bongshin Lee, Patrice Simard, and Jina Suh. 2015. Modeltracker: Redesigning performance analysis tools for machine learning. In Proceedings of the 33rd Annual ACM Conference on Human Factors in Computing Systems. 337–346.
  • Apple (2021) Apple. 2021. On-device panoptic segmentation for camera using transformers. Machine Learning Research (2021). https://machinelearning.apple.com/research/panoptic-segmentation
  • Apple (2022a) Apple. 2022a. Deploying transformers on the Apple Neural Engine. Machine Learning Research (2022). https://machinelearning.apple.com/research/neural-engine-transformers
  • Apple (2022b) Apple. 2022b. A multi-task neural architecture for on-device scene analysis. Machine Learning Research (2022). https://machinelearning.apple.com/research/on-device-scene-analysis
  • Apple (2023) Apple. 2023. Optimizing models - Core ML Tools overview. https://coremltools.readme.io/docs
  • Banbury et al. (2020) Colby R Banbury, Vijay Janapa Reddi, Max Lam, William Fu, Amin Fazel, Jeremy Holleman, Xinyuan Huang, Robert Hurtado, David Kanter, Anton Lokhmotov, et al. 2020. Benchmarking tinyml systems: Challenges and direction. arXiv preprint arXiv:2003.04821 (2020).
  • Bäuerle et al. (2022) Alex Bäuerle, Ángel Alexander Cabrera, Fred Hohman, Megan Maher, David Koski, Xavier Suau, Titus Barik, and Dominik Moritz. 2022. Symphony: Composing interactive interfaces for machine learning. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM. https://doi.org/10.1145/3491102.3502102
  • Bertucci et al. (2022) Donald Bertucci, Md Montaser Hamid, Yashwanthi Anand, Anita Ruangrotsakun, Delyar Tabatabai, Melissa Perez, and Minsuk Kahng. 2022. DendroMap: Visual exploration of large-scale image datasets for machine learning with treemaps. IEEE Transactions on Visualization and Computer Graphics (2022).
  • Bisong and Bisong (2019) Ekaba Bisong and Ekaba Bisong. 2019. Google colaboratory. Building Machine Learning and Deep Learning Models on Google Cloud Platform: A Comprehensive Guide for Beginners (2019), 59–64.
  • Boyce and Neale (2006) Carolyn Boyce and Palena Neale. 2006. Conducting in-depth interviews: A guide for designing and conducting in-depth interviews for evaluation input. Vol. 2. Pathfinder International Watertown, MA.
  • Brath et al. (2023) Richard Brath, Daniel Keim, Johannes Knittel, Shimei Pan, Pia Sommerauer, and Hendrik Strobelt. 2023. The role of interactive visualization in explaining (large) NLP models: From data to inference. arXiv preprint arXiv:2301.04528 (2023).
  • Brehmer and Munzner (2013) Matthew Brehmer and Tamara Munzner. 2013. A multi-level typology of abstract visualization tasks. IEEE Transactions on Visualization and Computer Graphics 19, 12 (2013), 2376–2385.
  • Cabrera et al. (2019) Ángel Alexander Cabrera, Will Epperson, Fred Hohman, Minsuk Kahng, Jamie Morgenstern, and Duen Horng Chau. 2019. FairVis: Visual analytics for discovering intersectional bias in machine learning. In IEEE Conference on Visual Analytics Science and Technology. IEEE, 46–56.
  • Cabrera et al. (2023) Ángel Alexander Cabrera, Erica Fu, Donald Bertucci, Kenneth Holstein, Ameet Talwalkar, Jason I. Hong, and Adam Perer. 2023. Zeno: An interactive framework for behavioral evaluation of machine learning. In CHI Conference on Human Factors in Computing Systems (Hamburg, Germany). Association for Computing Machinery, New York, NY, USA, 22 pages. https://doi.org/10.1145/3544548.3581268
  • Cheng et al. (2018) Yu Cheng, Duo Wang, Pan Zhou, and Tao Zhang. 2018. Model compression and acceleration for deep neural networks: The principles, progress, and challenges. IEEE Signal Processing Magazine 35, 1 (2018), 126–136. https://doi.org/10.1109/msp.2017.2765695
  • Cho et al. (2022) Minsik Cho, Keivan A. Vahid, Saurabh Adya, and Mohammad Rastegari. 2022. Differentiable k-means clustering layer for neural network compression. In International Conference on Learning Representations. https://arxiv.org/abs/2108.12659
  • Choo et al. (2010) Jaegul Choo, Hanseung Lee, Jaeyeon Kihm, and Haesun Park. 2010. iVisClassifier: An interactive visual analytics system for classification based on supervised dimension reduction. In 2010 IEEE Symposium on Visual Analytics Science and Technology. IEEE, 27–34.
  • Choudhary et al. (2020) Tejalal Choudhary, Vipul Mishra, Anurag Goswami, and Jagannathan Sarangapani. 2020. A comprehensive survey on model compression and acceleration. Artificial Intelligence Review 53, 7 (2020), 5113–5155. https://doi.org/10.1007/s10462-020-09816-7
  • Cockburn et al. (2009) Andy Cockburn, Amy Karlson, and Benjamin B Bederson. 2009. A review of overview+detail, zooming, and focus+context interfaces. ACM Computing Surveys (CSUR) 41, 1 (2009), 1–31.
  • Das and Endert (2020) Subhajit Das and Alex Endert. 2020. LEGION: visually compare modeling techniques for regression. In 2020 Visualization in Data Science. IEEE, 12–21.
  • Deng et al. (2020) Lei Deng, Guoqi Li, Song Han, Luping Shi, and Yuan Xie. 2020. Model compression and hardware acceleration for neural networks: A comprehensive survey. Proc. IEEE 108, 4 (2020), 485–532. https://doi.org/10.1109/jproc.2020.2976475
  • Dhar et al. (2021) Sauptik Dhar, Junyao Guo, Jiayi Liu, Samarth Tripathi, Unmesh Kurup, and Mohak Shah. 2021. A survey of on-device machine learning: An algorithms and learning theory perspective. ACM Transactions on Internet of Things 2, 3 (2021), 1–49. https://doi.org/10.1145/3450494
  • Dotter and Ward (2018) Marissa Dotter and Chris M Ward. 2018. Visualizing compression of deep learning models for classification. In 2018 IEEE Applied Imagery Pattern Recognition Workshop (AIPR). IEEE, 1–8.
  • Fahim et al. (2021) Farah Fahim, Benjamin Hawks, Christian Herwig, James Hirschauer, Sergo Jindariani, Nhan Tran, Luca P Carloni, Giuseppe Di Guglielmo, Philip Harris, Jeffrey Krupa, et al. 2021. hls4ml: An open-source codesign workflow to empower scientific low-power machine learning devices. (2021). arXiv:2103.05579
  • Gholami et al. (2021) Amir Gholami, Sehoon Kim, Zhen Dong, Zhewei Yao, Michael W Mahoney, and Kurt Keutzer. 2021. A survey of quantization methods for efficient neural network inference. arXiv (2021). arXiv:2103.13630
  • Giattino et al. (2022) Charlie Giattino, Edouard Mathieu, Veronika Samborska, Julia Broden, and Max Roser. 2022. Artificial intelligence. Our World in Data (2022). https://ourworldindata.org/artificial-intelligence.
  • Gibbs (2007) Graham R Gibbs. 2007. Thematic coding and categorizing. Analyzing Qualitative Data 703 (2007), 38–56.
  • Github (2021) Github. 2021. Copilot. https://github.com/features/copilot
  • Google (2019) Google. 2019. QKeras. https://github.com/google/qkeras
  • Google (2022) Google. Accessed 2022. Why on-device machine learning? Google Developers (Accessed 2022). https://developers.google.com/learn/topics/on-device-ml/learn-more
  • Gou et al. (2021) Jianping Gou, Baosheng Yu, Stephen J Maybank, and Dacheng Tao. 2021. Knowledge distillation: A survey. International Journal of Computer Vision 129, 6 (2021), 1789–1819. https://doi.org/10.1007/s11263-021-01453-z
  • Gou et al. (2020) Liang Gou, Lincan Zou, Nanxiang Li, Michael Hofmann, Arvind Kumar Shekar, Axel Wendt, and Liu Ren. 2020. VATLD: A visual analytics system to assess, understand and improve traffic light detection. IEEE Transactions on Visualization and Computer Graphics 27, 2 (2020), 261–271.
  • Gu et al. (2021) Renjie Gu, Chaoyue Niu, Fan Wu, Guihai Chen, Chun Hu, Chengfei Lyu, and Zhihua Wu. 2021. From server-based to client-based machine learning: A comprehensive survey. Comput. Surveys 54, 1 (2021), 1–36. https://doi.org/10.1145/3424660
  • Görtler et al. (2022) Jochen Görtler, Fred Hohman, Dominik Moritz, Kanit Wongsuphasawat, Donghao Ren, Rahul Nair, Marc Kirchner, and Kayur Patel. 2022. Neo: Generalizing confusion matrix visualization to hierarchical and multi-output labels. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM. https://doi.org/10.1145/3491102.3501823
  • Han et al. (2016) Song Han, Huizi Mao, and William J Dally. 2016. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. (2016).
  • Hannun et al. (2023) Awni Hannun, Jagrit Digani, Angelos Katharopoulos, and Ronan Collobert. 2023. MLX: Efficient and flexible machine learning on Apple silicon. https://github.com/ml-explore
  • Head et al. (2019) Andrew Head, Fred Hohman, Titus Barik, Steven M Drucker, and Robert DeLine. 2019. Managing messes in computational notebooks. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems. 1–12.
  • Hoefler et al. (2021) Torsten Hoefler, Dan Alistarh, Tal Ben-Nun, Nikoli Dryden, and Alexandra Peste. 2021. Sparsity in deep learning: Pruning and growth for efficient inference and training in neural networks. Journal of Machine Learning Research 22, 241 (2021), 1–124.
  • Hohman et al. (2018) Fred Hohman, Minsuk Kahng, Robert Pienta, and Duen Horng Chau. 2018. Visual analytics in deep learning: An interrogative survey for the next frontiers. IEEE Transactions on Visualization and Computer Graphics (2018). https://doi.org/10.1109/TVCG.2018.2843369
  • Hohman et al. (2024) Fred Hohman, Mary Beth Kery, Donghao Ren, and Dominik Moritz. 2024. Model compression in practice: Lessons learned from practitioners creating on-device machine learning experiences. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM. https://doi.org/10.1145/3613904.3642109
  • Hoover et al. (2019) Benjamin Hoover, Hendrik Strobelt, and Sebastian Gehrmann. 2019. exbert: A visual analysis tool to explore learned representations in transformers models. arXiv preprint arXiv:1910.05276 (2019).
  • Horvitz (1999) Eric Horvitz. 1999. Principles of mixed-initiative user interfaces. In Proceedings of the SIGCHI conference on Human Factors in Computing Systems. 159–166.
  • Howard et al. (2017) Andrew G Howard, Menglong Zhu, Bo Chen, Dmitry Kalenichenko, Weijun Wang, Tobias Weyand, Marco Andreetto, and Hartwig Adam. 2017. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv abs/1704.04861 (2017). arXiv:1704.04861
  • Inc. (2021) Google Inc. 2021. Know Your Data. https://knowyourdata.withgoogle.com/
  • Intel (2020) Intel. 2020. Neural Compressor. https://github.com/intel/neural-compressor
  • Kahng et al. (2016) Minsuk Kahng, Dezhi Fang, and Duen Horng Chau. 2016. Visual exploration of machine learning results using data cube analysis. In Proceedings of the Workshop on Human-In-the-Loop Data Analytics. 1–6.
  • Kery et al. (2019) Mary Beth Kery, Bonnie E John, Patrick O’Flaherty, Amber Horvath, and Brad A Myers. 2019. Towards effective foraging by data scientists to find past analysis choices. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems. 1–13.
  • Kery et al. (2020) Mary Beth Kery, Donghao Ren, Fred Hohman, Dominik Moritz, Kanit Wongsuphasawat, and Kayur Patel. 2020. mage: Fluid moves between code and graphical work in computational notebooks. In Proceedings of the ACM Symposium on User Interface Software and Technology. ACM. https://doi.org/10.1145/3379337.3415842
  • Kluyver et al. (2016) Thomas Kluyver, Benjamin Ragan-Kelley, Fernando Pérez, Brian E Granger, Matthias Bussonnier, Jonathan Frederic, Kyle Kelley, Jessica B Hamrick, Jason Grout, Sylvain Corlay, et al. 2016. Jupyter Notebooks-a publishing format for reproducible computational workflows. Elpub 2016 (2016), 87–90.
  • Knott et al. (2022) Eleanor Knott, Aliya Hamid Rao, Kate Summers, and Chana Teeger. 2022. Interviews in the social sciences. Nature Reviews Methods Primers 2, 1 (2022), 1–15.
  • Li et al. (2020) Guan Li, Junpeng Wang, Han-Wei Shen, Kaixin Chen, Guihua Shan, and Zhonghua Lu. 2020. Cnnpruner: Pruning convolutional neural networks with visual analytics. IEEE Transactions on Visualization and Computer Graphics 27, 2 (2020), 1364–1373.
  • Li et al. (2018) He Li, Kaoru Ota, and Mianxiong Dong. 2018. Learning IoT in edge: Deep learning for the nternet of Things with edge computing. IEEE network 32, 1 (2018), 96–101.
  • Lim et al. (2020) Wei Yang Bryan Lim, Nguyen Cong Luong, Dinh Thai Hoang, Yutao Jiao, Ying-Chang Liang, Qiang Yang, Dusit Niyato, and Chunyan Miao. 2020. Federated learning in mobile edge networks: A comprehensive survey. IEEE Communications Surveys & Tutorials 22, 3 (2020), 2031–2063. https://doi.org/10.1109/comst.2020.2986024
  • Ma et al. (2020) Yuxin Ma, Arlen Fan, Jingrui He, Arun Reddy Nelakurthi, and Ross Maciejewski. 2020. A visual analytics framework for explaining and diagnosing transfer learning processes. IEEE Transactions on Visualization and Computer Graphics 27, 2 (2020), 1385–1395.
  • Menghani (2023) Gaurav Menghani. 2023. Efficient deep learning: A survey on making deep learning models smaller, faster, and better. Comput. Surveys 55, 12 (2023), 1–37.
  • Microsoft (2021) Microsoft. 2021. Neural network intelligence. https://github.com/microsoft/nni
  • Microsoft (2023) Microsoft. 2023. Visual studio code. https://code.visualstudio.com/
  • Murshed et al. (2021) MG Sarwar Murshed, Christopher Murphy, Daqing Hou, Nazar Khan, Ganesh Ananthanarayanan, and Faraz Hussain. 2021. Machine learning at the network edge: A survey. Comput. Surveys 54, 8 (2021), 1–37. https://doi.org/10.1145/3469029
  • NVIDIA (2023) NVIDIA. 2023. NVIDIA deep learning TensorRT documentation. https://docs.nvidia.com/deeplearning/tensorrt/developer-guide/index.html#optimize-performance
  • OpenAI (2021) OpenAI. 2021. OpenAI Codex. https://openai.com/blog/openai-codex
  • OpenAI (2023) OpenAI. 2023. GPT-4 technical report. arXiv (2023). arXiv:2303.08774
  • Patel et al. (2008) Kayur Patel, James Fogarty, James A Landay, and Beverly Harrison. 2008. Investigating statistical machine learning as a tool for software development. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 667–676. https://doi.org/10.1145/1357054.1357160
  • Polino et al. (2018) Antonio Polino, Razvan Pascanu, and Dan Alistarh. 2018. Model compression via distillation and quantization. arXiv (2018). arXiv:1802.05668
  • PyTorch (2018) PyTorch. 2018. Quantization. https://pytorch.org/docs/stable/quantization.html
  • PyTorch (2019) PyTorch. 2019. Sparisty. https://pytorch.org/docs/stable/sparse.html
  • PyTorch (2023) PyTorch. 2023. PyTorch Examples. https://pytorch.org/tutorials/
  • Randles et al. (2017) Bernadette M Randles, Irene V Pasquetto, Milena S Golshan, and Christine L Borgman. 2017. Using the Jupyter notebook as a tool for open science: An empirical study. In 2017 ACM/IEEE Joint Conference on Digital Libraries (JCDL). IEEE, 1–2.
  • Ren et al. (2016) Donghao Ren, Saleema Amershi, Bongshin Lee, Jina Suh, and Jason D Williams. 2016. Squares: Supporting interactive performance analysis for multiclass classifiers. IEEE Transactions on Visualization and Computer Graphics 23, 1 (2016), 61–70.
  • Roeder (2017) Lutz Roeder. 2017. Netron, visualizer for neural network, deep learning, and machine learning models. https://doi.org/10.5281/zenodo.5854962
  • Ronneberger et al. (2015) Olaf Ronneberger, Philipp Fischer, and Thomas Brox. 2015. U-net: Convolutional networks for biomedical image segmentation. In Medical Image Computing and Computer-Assisted Intervention. Springer, 234–241.
  • Sandler et al. (2018) Mark Sandler, Andrew Howard, Menglong Zhu, Andrey Zhmoginov, and Liang-Chieh Chen. 2018. Mobilenetv2: Inverted residuals and linear bottlenecks. In Proceedings of the IEEE Conference on Computer Vision and pattern Recognition. 4510–4520. https://doi.org/10.1109/cvpr.2018.00474
  • Schein (1990) Edgar H Schein. 1990. Organizational culture. Vol. 45. American Psychological Association.
  • Sculley et al. (2014) David Sculley, Gary Holt, Daniel Golovin, Eugene Davydov, Todd Phillips, Dietmar Ebner, Vinay Chaudhary, and Michael Young. 2014. Machine learning: The high interest credit card of technical debt. Google (2014).
  • Sehgal and Kehtarnavaz (2019) Abhishek Sehgal and Nasser Kehtarnavaz. 2019. Guidelines and benchmarks for deployment of deep learning models on smartphones as real-time apps. Machine Learning and Knowledge Extraction 1, 1 (2019), 450–465.
  • Shneiderman (1996) Ben Shneiderman. 1996. The eyes have it: A task by data type taxonomy for information visualizations. In Proceedings 1996 IEEE Symposium on Visual Languages. IEEE, 336–343.
  • Stanford (2023) Stanford. 2023. The AI index report: Measuring trends in artificial intelligence. https://aiindex.stanford.edu/report/
  • Strobelt et al. (2017) Hendrik Strobelt, Sebastian Gehrmann, Hanspeter Pfister, and Alexander M Rush. 2017. LSTMVis: A tool for visual analysis of hidden state dynamics in recurrent neural networks. IEEE Transactions on Visualization and Computer Graphics 24, 1 (2017), 667–676.
  • Strobelt et al. (2022) Hendrik Strobelt, Albert Webson, Victor Sanh, Benjamin Hoover, Johanna Beyer, Hanspeter Pfister, and Alexander M Rush. 2022. Interactive and visual prompt engineering for ad-hoc task adaptation with large language models. IEEE Transactions on Visualization and Computer Graphics 29, 1 (2022), 1146–1156.
  • Tan and Le (2019) Mingxing Tan and Quoc Le. 2019. Efficientnet: Rethinking model scaling for convolutional neural networks. In International Conference on Machine Learning. PMLR, 6105–6114. arXiv:1905.11946
  • TensorFlow (2018) TensorFlow. 2018. Introducing the Model Optimization Toolkit for TensorFlow. https://blog.tensorflow.org/2018/09/introducing-model-optimization-toolkit.html
  • TensorFlow (2020) TensorFlow. 2020. Quantization aware training with TensorFlow Model Optimization Toolkit - performance with accuracy. https://blog.tensorflow.org/2020/04/quantization-aware-training-with-tensorflow-model-optimization-toolkit.html
  • Thomas (2003) David R Thomas. 2003. A general inductive approach for qualitative data analysis. American Journal of Evaluation 27, 2 (2003), 237–246.
  • Tufte (1986) Edward R Tufte. 1986. The visual display of quantitative information. (1986).
  • Vasu et al. (2022) Pavan Kumar Anasosalu Vasu, James Gabriel, Jeff Zhu, Oncel Tuzel, and Anurag Ranjan. 2022. An improved one millisecond mobile backbone. arXiv preprint arXiv:2206.04040 (2022).
  • Vasu et al. (2023) Pavan Kumar Anasosalu Vasu, James Gabriel, Jeff Zhu, Oncel Tuzel, and Anurag Ranjan. 2023. FastViT: A Fast Hybrid Vision Transformer using Structural Reparameterization. arXiv preprint arXiv:2303.14189 (2023).
  • Villalobos et al. (2022) Pablo Villalobos, Jaime Sevilla, Tamay Besiroglu, Lennart Heim, Anson Ho, and Marius Hobbhahn. 2022. Machine learning model sizes and the parameter gap. arXiv:2207.02852 [cs.LG]
  • Warden and Situnayake (2019) Pete Warden and Daniel Situnayake. 2019. Tinyml: Machine learning with tensorflow lite on arduino and ultra-low-power microcontrollers. O’Reilly Media.
  • Welsh et al. (2023) Megan Maher Welsh, David Koski, Miguel Sarabia, Niv Sivakumar, Ian Arawjo, Aparna Joshi, Moussa Doumbouya, Luca Suau, Xavierand Zappella, and Nicholas Apostoloff. 2023. Data and Network Introspection Kit. https://github.com/apple/dnikit
  • Wexler et al. (2019) James Wexler, Mahima Pushkarna, Tolga Bolukbasi, Martin Wattenberg, Fernanda Viégas, and Jimbo Wilson. 2019. The what-if tool: Interactive probing of machine learning models. IEEE transactions on visualization and computer graphics 26, 1 (2019), 56–65.
  • Wongsuphasawat et al. (2018) Kanit Wongsuphasawat, Daniel Smilkov, James Wexler, Jimbo Wilson, Dandelion Mané, Doug Fritz, Dilip Krishnan, Fernanda B. Viégas, and Martin Wattenberg. 2018. Visualizing dataflow graphs of deep learning models in TensorFlow. IEEE Transactions on Visualization and Computer Graphics (2018).
  • Wu et al. (2018) Junru Wu, Yue Wang, Zhenyu Wu, Zhangyang Wang, Ashok Veeraraghavan, and Yingyan Lin. 2018. Deep k-means: Re-training and parameter sharing with harder cluster assignments for compressing deep convolutions. In International Conference on Machine Learning. PMLR, 5363–5372.
  • Xie et al. (2017) Xuemei Xie, Xiao Han, Quan Liao, and Guangming Shi. 2017. Visualization and pruning of SSD with the base network VGG16. In Proceedings of the 2017 International Conference on Deep Learning Technologies. 90–94.
  • Xuan et al. (2022) Xiwei Xuan, Xiaoyu Zhang, Oh-Hyun Kwon, and Kwan-Liu Ma. 2022. VAC-CNN: A visual analytics system for comparative studies of deep convolutional neural networks. IEEE Transactions on Visualization and Computer Graphics 28, 6 (2022), 2326–2337.
  • Zamzam et al. (2019) Marwa Zamzam, Tallal Elshabrawy, and Mohamed Ashour. 2019. Resource management using machine learning in mobile edge computing: A survey. In 2019 Ninth International Conference on Intelligent Computing and Information Systems. IEEE, 112–117. https://doi.org/10.1109/icicis46948.2019.9014733
  • Zhang et al. (2020) Amy X Zhang, Michael Muller, and Dakuo Wang. 2020. How do data science workers collaborate? roles, workflows, and tools. Proceedings of the ACM on Human-Computer Interaction 4, CSCW1 (2020), 1–23.
  • Zhang et al. (2018) Xiangyu Zhang, Xinyu Zhou, Mengxiao Lin, and Jian Sun. 2018. Shufflenet: An extremely efficient convolutional neural network for mobile devices. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 6848–6856. https://doi.org/10.1109/cvpr.2018.00716
  • Zhao et al. (2022) Tianming Zhao, Yucheng Xie, Yan Wang, Jerry Cheng, Xiaonan Guo, Bin Hu, and Yingying Chen. 2022. A survey of deep learning on mobile devices: Applications, optimizations, challenges, and research opportunities. Proc. IEEE 110, 3 (2022), 334–354. https://doi.org/10.1109/jproc.2022.3153408
  • Zhao et al. (2023) Wayne Xin Zhao, Kun Zhou, Junyi Li, Tianyi Tang, Xiaolei Wang, Yupeng Hou, Yingqian Min, Beichen Zhang, Junjie Zhang, Zican Dong, et al. 2023. A survey of large language models. arXiv preprint arXiv:2303.18223 (2023).
  • Zhou et al. (2019) Zhi Zhou, Xu Chen, En Li, Liekang Zeng, Ke Luo, and Junshan Zhang. 2019. Edge intelligence: Paving the last mile of artificial intelligence with edge computing. Proc. IEEE 107, 8 (2019), 1738–1762. https://doi.org/10.1109/jproc.2019.2918951
  • Zhu et al. (2021) Mingjian Zhu, Kai Han, Enhua Wu, Qiulin Zhang, Ying Nie, Zhenzhong Lan, and Yunhe Wang. 2021. Dynamic resolution network. Advances in Neural Information Processing Systems 34 (2021), 27319–27330. arXiv:2106.02898