黑匣子被打开了!能玩的Transformer可视化解释工具,本地运行GPT-2、还可实时推理...

83eb8ba5ea74af9d04f29610936153fd.gif

©作者 | 杜伟、大盘鸡

来源 | 机器之心

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

2017 年,谷歌在论文《Attention is all you need》中提出了 Transformer,成为了深度学习领域的重大突破。该论文的引用数已经将近 13 万,后来的 GPT 家族所有模型也都是基于 Transformer 架构,可见其影响之广。

作为一种神经网络架构,Transformer 在从文本到视觉的多样任务中广受欢迎,尤其是在当前火热的 AI 聊天机器人领域。

68dd75c8eb3b41407b90078dcb131968.png

不过,对于很多非专业人士来说,Transformer 的内部工作原理仍然不透明,阻碍了他们的理解和参与进来。因此,揭开这一架构的神秘面纱尤其必要。但很多博客、视频教程和 3D 可视化往往强调数学的复杂性和模型实现,可能会让初学者无所适从。同时为 AI 从业者设计的可视化工作侧重于神经元和层级可解释性,对于非专业人士来说具有挑战性。

因此,佐治亚理工学院和 IBM 研究院的几位研究者开发了一款基于 web 的开源交互式可视化工具「Transformer Explainer」,帮助非专业人士了解 Transformer 的高级模型结构和低级数学运算。如下图 1 所示。

4ce468a7fd3a6becfc205a48bcf89e8f.png

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 等更高级的模型在架构上相似。

d50677ca7271788dca778ef809d94b37.png

论文地址:

https://arxiv.org/pdf/2408.04619

GitHub 地址:

http://poloclub.github.io/transformer-explainer/

类LLM可视化在线体验地址:

https://t.co/jyBlJTMa7m

既然支持自己输入,机器之心也试用了一下「what a beautiful day」,运行结果如下图所示。

549c685ea4c1455eeae9fa9fe7757f47.png

对于 Transformer Explainer,一众网友给出了很高的评价。有人表示,这是非常酷的交互式工具。

69638e24edbfb9332bd1495deae5f866.png

有人称自己一直在等待一个直观的工具来解释自注意力和位置编码,就是 Transformer Explainer 了。它会是一个改变游戏规则的工具。

e8096ce1bb50a0a4e1d4e100d1540c1f.png

还有人展示了类LLM可视化中文项目。

79f1f7493671012110d2a529161abcca.png

展示地址:http://llm-viz-cn.iiiai.com/llm

这里不禁想到了另一位科普界的大牛 Karpathy,它之前写了很多关于复现 GPT-2 的教程,包括「纯 C 语言手搓 GPT-2,前 OpenAI、特斯拉高管新项目火了」、「Karpathy 最新四小时视频教程:从零复现 GPT-2,通宵运行即搞定」等。如今有了 Transformer 内部原理可视化工具,看起来两者搭配使用,学习效果会更佳。

eef2aed53e87aabdb48ac2428ad5d670.png

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)。

91c7bc6ccf775609b5eb6488aa3af9e2.png

此外,用户可以从提供的示例中选择或输入自己的文本(图 1A)。支持自定义输入文本可以让用户更深入参与,通过分析模型在不同条件下的行为,并根据不同的文本输入对自己的假设进行交互式测试,增强了用户的参与感。 

那在实际中有哪些应用场景呢?

Rousseau 教授正在对自然语言处理课程的课程内容进行现代化改造,以突出生成式 AI 的最新进展。她注意到,一些学生将基于 Transformer 的模型视为捉摸不透的「魔法」,而另一些学生则希望了解这些模型的工作原理,但不确定从何入手。

为了解决这一问题,她引导学生使用 Transformer Explainer,该工具提供了 Transformer 的互动概览(图 1),鼓励学生积极进行实验和学习。她的班级有 300 多名学生,而 Transformer Explainer 能够完全在学生的浏览器中运行,无需安装软件或特殊硬件,这是一个显著的优势,消除了学生对管理软件或硬件设置的担忧。

该工具通过动画和互动的可逆抽象(图 1C),向学生介绍了复杂的数学运算,如注意力计算。这种方法帮助学生既获得了对操作的高层次理解,又能深入了解产生这些结果的底层细节。

Rousseau 教授还意识到,Transformer 的技术能力和局限性有时会被拟人化(例如,将温度参数视为「创造力」控制)。通过鼓励学生实验温度滑块(图 1B),她向学生展示了温度实际上是如何修改下一个词元的概率分布(图 2),从而控制预测的随机性,在确定性和更具创造性的输出之间取得平衡。

此外,当系统可视化 token 处理流程时,学生们可以看到这里并没有任何所谓的「魔法」—— 无论输入文本是什么(图 1A),模型都遵循一个定义明确的操作顺序,使用 Transformer 架构,一次只采样一个 token,然后重复这一过程。

96d3faf16747f842d486bff355d3c5ad.png

未来工作

研究者们正在增强工具的交互式解释来改善学习体验。同时,他们还在通过 WebGPU 提升推理速度,并通过压缩技术来减小模型的大小。他们还计划进行用户研究,来评估 Transformer Explainer 的效能和可用性,观察 AI 新手、学生、教育者和从业者如何使用该工具,并收集他们希望支持的额外功能的反馈意见。 

还在等什么,你也上手体验一下,打破对 Transformer 的「魔法」幻想,真正了解这背后的原理吧。

更多阅读

3fab5804181b0e8a5e54844a4025397e.png

838cd4b35564f22e47381d16520d3dcb.png

ada6168bd05e8209b961f99de1a01dc8.png

ae4b3ae57fb596759884fba91429a35a.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

4d23e556895ec90b045bf5af5c26f5ec.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

3be3efa077762522dd2053da4c724639.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值