AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Model Explorer : 用于可视化大型模型开发
发布日期:2024-05-22 09:00:30 浏览次数: 2034 来源:零壹白洞


"Model Explorer 是一款功能强大的图形可视化工具,可帮助人们理解、调试和优化 ML 模型。它专门以直观的分层格式可视化大型图形,但也适用于较小的模型。"

    图形可视化在机器学习 (ML) 开发过程中起着关键作用。模型的可视化表示可帮助研究人员和工程师调试转换和量化问题、识别性能瓶颈、找到优化模式并深入了解模型架构。这些做法对许多类型的模型都很有用,特别是在将模型部署到资源有限的设备(例如移动设备和浏览器)时。然而,现代 ML 和 AI 模型(例如Transformers和 diffuser)的规模和复杂性不断增加,对现有的可视化工具提出了重大挑战。大规模基于 Transformer 的模型通常会让传统的图形可视化工具不堪重负,导致渲染失败或视觉复杂性难以管理。此外,缺乏清晰的视觉层次结构会使人们难以理解节点关系。

Model Explorer 是什么?

    它是一种有效的图形可视化工具,用于理解、调试和优化这些模型。它对于较小的模型也能很好地工作,但它擅长以易于理解的分层方式提供巨大的图表。
“ Model Explorer 是一款功能强大的图形可视化工具,可以帮助人们理解、调试和优化 ML 模型。它专门以直观的分层格式可视化大型图形,但也适用于较小的模型。”—— Google 团队.
    在加快将大型模型部署到设备平台方面,可视化转换、量化和优化数据特别有用,模型浏览器已被证明非常有效。该工具提供了一个Python API,使工程师能够将其直接集成到他们的机器学习工作流程中,以及满足一系列可视化需求的图形用户界面。此外,它还支持各种图形格式,例如 PyTorch、TensorFlow、JAX 和 TensorFlow Lite 使用的图形格式。由于支持所有这些品种,该工具可以高效地大规模处理各种模型。

    团队描述了 Model Explorer 如何结合 3D 游戏和动画制作中使用的图形技术(例如实例化渲染和多通道符号距离场(MSDF)),并使其适应 ML 图形渲染。团队展示了 Model Explorer 支持三种类型的用例来开发大型模型:了解模型架构、调试转换错误以及调试性能和数值问题。各位看官可以看看这个(使用Google Genie AI从草图创建一个完整的可玩游戏世界

Model Explorer 以平滑的可视化大型模型并提供分层信息

可视化的挑战

    可视化大型模型图有两个主要的技术挑战。首先,布局算法难以适应更大的图:随着节点数量的增加,其计算复杂性急剧上升,导致布局阶段的速度显著减慢,并且偶尔会完全失败。即使是成功的布局也往往过于密集和复杂,从而降低了其可解释性。其次,大多数现有的模型可视化工具使用基于可扩展矢量图形的渲染,该渲染不是为渲染大量对象而设计的。缩放和滚动操作变得缓慢且无响应,导致可视化工具无法使用。白话就是像大家用的 PPT 或者 Excel 上面元素越多,拖动和缩放就越卡
    受到 Tensorboard 图形可视化器中分层布局概念的启发,团队开发了一个库,可以从 TensorFlow、PyTorch 和 JAX 等主流创作框架中提取分层信息。然后,构建了一个交互式系统,从最顶层开始可视化节点,允许用户通过逐层展开来逐步导航图形,或通过折叠层恢复到更高级别的层。这允许用户以他们需要的粒度检查图表中的内部结构和连接。由于布局算法是按层运行的,因此当用户选择打开层时,模型资源管理器会计算布局计算。该方法避免了在初始图加载期间对所有节点进行不必要的计算,并显著提高了大型模型的性能

    通过使用WebGL和Three.js实现 GPU 加速的图形渲染来解决第二个挑战。因此,团队实现了流畅的 60 帧/秒 (FPS) 用户体验(牛逼的,60 fps 基本就是大家常用的帧,视觉感受不到卡顿),即屏幕上每秒显示 60 个单独的图像,在交互和动画中创建流畅且逼真的运动,即使图形包含数十个图像数千个节点。此外,我们利用实例渲染技术在场景中的不同位置同时渲染对象的多个副本。下面的示例展示了如何在具有集成 GPU 的 2019 Macbook Pro 上以 60 FPS 流畅渲染具有 50,000 个节点和 5,000 个边(出于演示目的随机生成)的图形。为了提高视觉连续性,我们为图层导航添加了流畅的动画,帮助用户了解自己在模型结构中的位置

Model Explorer以 60 FPS 流畅地渲染具有 50,000 个节点和 5,000 个边的图形

模型架构

    下图展示了自注意力掩码和嵌入被馈送到变压器层中。嵌入层的展开视图显示了不同类型嵌入之间的关系。该模型总共有近 2,000 个节点,如果没有这些分层信息,几乎无法理解该模型。

调试转换错误

    在部署到特定硬件(例如手机或笔记本电脑)之前,ML 模型必须经历转换过程:例如将 PyTorch 模型转换为 Tensorflow Lite 模型。然而,有关转换的信息在转换过程中经常丢失。为了帮助比较多个图形,模型资源管理器提供了并排比较模式。下面的示例重点介绍了一层内的子图(即torch.nn.modules.linear.Linear_attn)在从 PyTorch 转换为 TensorFlow Lite 期间如何变化。比较层的输入和输出的形状和数据类型信息可以帮助突出显示转换错误。

原始 PyTorch 模型(左)和优化的 TensorFlow Lite 模型(右)并排比较– 调试转换时非常有用
    这是一种分析具有复杂内部工作原理和大量图形可视化的各种最先进机器学习模型中的转换错误和困难的好方法。
  • 要查找受量化影响的麻烦过程,使用模型资源管理器。
  • 要识别质量下降,根据错误指标对操作进行排序,获取每一层的结果并比较各种量化结果,以确定最佳模型大小与质量之间的权衡。

调试性能和数值准确性

    谷歌用户研究的参与者报告说,当与层次视图结合使用时,他们可以更轻松地立即将性能或数值困难集中在图表的特定区域。如果没有这种可视化,获得这些见解将会困难得多。此图比较了浮点模型与量化 TFLite 模型的均方误差。用户能够通过使用 Model Explorer 立即确定质量损失接近图表底部,并且他们还能够修改量化方法。

每个节点的数据叠加允许用户快速识别模型中的性能或数字问题

    要更深入地了解调试和基准测试工具的结果,请使用 Model Explorer。了解哪些操作与 GPU 兼容、如何根据延迟对操作进行排序,以及每个操作的性能在整个加速器中如何变化。

如何访问它?

    有两种方法可以使用 Google 的 Model Explorer。您可以在浏览器窗口本地运行它,也可以在 Colab 笔记本上运行它。按照GitHub 说明,可以轻松地将 Model Explorer 安装在本地计算机上。您的所有数据都是本地的,并且在浏览器窗口中运行。支持 Mac、Windows 和 Linux。由于模型资源管理器在 Colab 中运行顺利,因此可以将其合并到当前的模型创建过程中。要将其添加到自己的 Colab note 中,请尝试试用版或按照安装说明进行操作。

结论
    Model Explorer 引入了一种强大的新方法来检查几乎任何大小的模型中的架构和调试问题,而不会影响用户体验或渲染性能。它清晰地呈现模型结构,使用层和分组来提高理解,并结合调试功能和层级洞察来支持模型分析。
    这种程度的开放性是必要的,以确保人工智能系统的创建和使用负责任,并考虑到其所有优点和缺点。随着这些技术的快速发展,像 Model Explorer 这样的工具对于确保我们能够利用人工智能的潜力,同时保持问责制和开放性至关重要。检查人工智能模型内部运作的能力对于增强用户、决策者和公众之间的信心和信任至关重要。
附录
model-explorer
https://ai.google.dev/edge/model-explorer?hl=zh-cn


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询