从黑匣子到可视化:Transformer Explainer 解密 Transformer 原理

原文标题:黑匣子被打开了?能玩的Transformer可视化解释工具!

原文作者:机器学习算法与Python学习

冷月清谈:

Transformer 自 2017 年问世以来,已成为深度学习领域的重大突破。然而,对于非专业人士来说,其内部工作原理仍然不透明。

为了解决这一问题,佐治亚理工学院和 IBM 研究院的几位研究者开发了基于网络的交互式可视化工具,名为 “Transformer Explainer”。该工具使用桑基图可视化设计,强调输入数据如何流经模型组件,从而有效地说明信息在模型中的传递过程。

Transformer Explainer 集成了模型概述和实时推理功能,允许用户在多个抽象层级间平滑过渡,以可视化低级数学运算和高级模型结构之间的相互作用。

该工具旨在降低复杂性,通过多级抽象和交互性来增强理解和参与。用户可以输入自己的文本,并实时调整温度参数,以观察模型行为和预测结果的变化。

Transformer Explainer 为非专业人士理解 Transformer 原理提供了一种简单易行的方法,打破其 “黑匣子” 神秘面纱,真正了解其背后的原理。




怜星夜思:


1、Transformer Explainer 工具的优点是什么?
2、Transformer Explainer 中的「温度参数」如何影响模型?
3、Transformer Explainer 未来将如何发展?




原文内容



机器之心报道

都 2024 年,还有人不了解 Transformer 工作原理吗?快来试一试这个交互式工具吧。

2017 年,谷歌在论文《Attention is all you need》中提出了 Transformer,成为了深度学习领域的重大突破。该论文的引用数已经将近 13 万,后来的 GPT 家族所有模型也都是基于 Transformer 架构,可见其影响之广。
作为一种神经网络架构,Transformer 在从文本到视觉的多样任务中广受欢迎,尤其是在当前火热的 AI 聊天机器人领域。

不过,对于很多非专业人士来说,Transformer 的内部工作原理仍然不透明,阻碍了他们的理解和参与进来。因此,揭开这一架构的神秘面纱尤其必要。但很多博客、视频教程和 3D 可视化往往强调数学的复杂性和模型实现,可能会让初学者无所适从。同时为 AI 从业者设计的可视化工作侧重于神经元和层级可解释性,对于非专业人士来说具有挑战性。
因此,佐治亚理工学院和 IBM 研究院的几位研究者开发了一款基于 web 的开源交互式可视化工具「Transformer Explainer」,帮助非专业人士了解 Transformer 的高级模型结构和低级数学运算。如下图 1 所示。

Transformer Explainer 通过文本生成来解释 Transformer 内部工作原理,采用了桑基图可视化设计,灵感来自最近将 Transformer 视为动态系统的工作,强调了输入数据如何流经模型组件。从结果来看,桑基图有效地说明了信息如何在模型中传递,并展示了输入如何通过 Transformer 操作进行处理和变换。
在内容上,Transformer Explainer 紧密集成了对 Transformer 结构进行总结的模型概述,并允许用户在多个抽象层级之间平滑过渡,以可视化低级数学运算和高级模型结构之间的相互作用,帮助他们全面理解 Transformer 中的复杂概念。
在功能上,Transformer Explainer 在提供基于 web 的实现之外,还具有实时推理的功能。与现有很多需要自定义软件安装或缺乏推理功能的工具不同,它集成了一个实时 GPT-2 模型,使用现代前端框架在浏览器本地运行。用户可以交互式地试验自己的输入文本,并实时观察 Transformer 内部组件和参数如何协同工作以预测下一个 token。
在意义上,Transformer Explainer 拓展了对现代生成式 AI 技术的访问,且不需要高级计算资源、安装或编程技能。而之所以选择 GPT-2,是因为该模型知名度高、推理速度快,并且与 GPT-3、GPT-4 等更高级的模型在架构上相似。

  • 论文地址:https://arxiv.org/pdf/2408.04619
  • GitHub 地址:http://poloclub.github.io/transformer-explainer/
  • 类LLM可视化在线体验地址:https://t.co/jyBlJTMa7m
既然支持自己输入,我们测试了一下「what a beautiful day」,运行结果如下图所示。

此外,还有类LLM可视化中文项目:http://llm-viz-cn.iiiai.com/llm

Transformer Explainer 系统设计与实现
Transformer Explainer 可视化展示了基于 Transformer 的 GPT-2 模型经过训练是如何处理文本输入并预测下一个 token 的。前端使用了 Svelte 和 D3 实现交互式可视化,后端则利用 ONNX runtime 和 HuggingFace 的 Transformers 库在浏览器中运行 GPT-2 模型。
设计 Transformer Explainer 的过程中,一个主要的挑战是如何管理底层架构的复杂性,因为同时展示所有细节会让人抓不住重点。为了解决这个问题,研究者十分注意两个关键的设计原则。 
  • 首先,研究者通过多级抽象来降低复杂性。他们将工具进行结构化设计,以不同的抽象层次呈现信息。这让用户能够从高层概览开始,并根据需要逐步深入了解细节,从而避免信息过载。在最高层,工具展示了完整的处理流程:从接收用户提供的文本作为输入(图 1A),将其嵌入,经过多个 Transformer 块处理,再到使用处理后的数据来对最有可能的下一个 token 预测进行排序。
  • 中间操作,如注意力矩阵的计算(图 1C),这在默认情况下被折叠起来,以便直观地显示计算结果的重要性,用户可以选择展开,通过动画序列查看其推导过程。研究者采用了一致的视觉语言,比如堆叠注意力头和折叠重复的 Transformer 块,以帮助用户识别架构中的重复模式,同时保持数据的端到端流程。 
  • 其次,研究者通过交互性增强理解和参与。温度参数在控制 Transformer 的输出概率分布中至关重要,它会影响下一个 token 预测的确定性(低温时)或随机性(高温时)。但是现有关于 Transformers 的教育资源往往忽视了这一方面。用户现在能够使用这个新工具实时调整温度参数(图 1B),并可视化其在控制预测确定性中的关键作用(图 2)。
  • 此外,用户可以从提供的示例中选择或输入自己的文本(图 1A)。支持自定义输入文本可以让用户更深入参与,通过分析模型在不同条件下的行为,并根据不同的文本输入对自己的假设进行交互式测试,增强了用户的参与感。 
未来工作
研究者们正在增强工具的交互式解释来改善学习体验。同时,他们还在通过 WebGPU 提升推理速度,并通过压缩技术来减小模型的大小。他们还计划进行用户研究,来评估 Transformer Explainer 的效能和可用性,观察 AI 新手、学生、教育者和从业者如何使用该工具,并收集他们希望支持的额外功能的反馈意见。 
还在等什么,你也上手体验一下,打破对 Transformer 的「魔法」幻想,真正了解这背后的原理吧。

好书推荐
本书为大模型应用开发极简入门手册,为初学者提供了一份清晰、全面的“可用知识”,带领大家快速了解GPT-4和ChatGPT的工作原理及优势,并在此基础上使用流行的Python编程语言构建大模型应用。通过本书,你不仅可以学会如何构建文本生成、问答和内容摘要等初阶大模型应用,还能了解到提示工程、模型微调、插件、LangChain等高阶实践技术。书中提供了简单易学的示例,帮你理解并应用在自己的项目中。此外,书后还提供了一份术语表,方便你随时参考。

整理不易,点赞

可视化和交互式特性使该工具即使对于没有深度学习背景的人来说也很容易访问和理解。

这个工具对于理解 Transformer 原理非常有用。它不仅可以展示模型的高级结构,还可以深入到细节,展示低级数学运算。

温度参数控制 Transformer 输出概率分布。低温时,模型做出更确定的预测,而高温时,预测更随机。

未来发展方向包括增强交互式解释,提高推理速度和减小模型大小。

此外,用户研究将有助于评估该工具的效能和可用性,并为进一步的发展方向提供信息。

研究人员计划通过 WebGPU 提升推理速度,并通过压缩技术来减小模型的大小,从而使该工具更易于使用。

通过调整温度,用户可以探索模型在不同确定性或随机性水平下的行为。这有助于理解温度在模型稳定性和探索之间的权衡。

在实际应用中,温度参数可以用来控制文本生成中的创造性和一致性平衡。较高的温度可以产生更有创意但更不一致的结果,而较低的温度可以产生更一致但创意较少的文本。

优点包括:

  • 可视化: 使用桑基图可视化设计,直观地展示 Transformer 模型处理文本的方式。

  • 交互式: 允许用户输入自己的文本,实时观察模型的行为和预测结果的变化。

  • 多层级抽象: 提供从高层概览到低级细节的平滑过渡,降低复杂性。

  • 实时推理: 集成了一个 GPT-2 模型,无需安装或编程技能即可本地运行。