现在人工智能太流行了,每天都在听大模型,但是你知道它是如何运作,如何从输入的文本中学习到语言的规律和知识的吗?
今天我们分享的开源项目,让你通过可视化的方式来了解大模型,更直观的搞懂它到底是怎么回事,它就是:llm-viz
llm-viz 是什么
该项目展示了 GPT 式网络工作实现的 3D 模型。即 OpenAI 的 GPT-2、GPT-3(可能还有 GPT-4)中使用的网络拓扑。
项目是由新西兰小伙Brendan Bycroft开发的,同时它提供了一个非常方便的在线环境可以直接查看,bbycroft.net/llm
在这里的第一个示例里展示了nano-gpt模型的执行原理,演示它对字母 A、B 和 C 的小列表进行排序的过程。llm-viz 还支持可视化任意大小的模型,并且适用于较小的 gpt2 大小,因为更大的模型(比如GPT-3)需要处理和存储非常多的数据,所以这个项目没有包含这些大模型的全部数据。
llm-viz 说明
llm-viz使用界面的左侧是模型结构总览图,包括模型的整体架构以及构成模型的各个组件。
如上图所示,nano-GPT 采用了 Transformer 架构。虽然 Transformer 是一种 Encoder-Decoder 架构,但 GPT 仅使用了 Decoder 部分。在 Decoder 中,每个 Token 的输出只能参考当前输入 Token 之前的 Token,因此 Decoder 通常用于文本生成,通过自回归方式预测下一个单词。
相对地,有些模型只使用 Encoder,Bert 就是一个典型的例子。在 Encoder 中,每个 Token 的输出参考了所有的输入 Token,因此 Encoder 更适合用于文本理解。
此外,还有一些模型同时使用 Encoder 和 Decoder,这是一种典型的 seq2seq 架构。Encoder 捕获源序列的内部表示,Decoder 将这些表示解码成目标序列。典型的应用包括语言翻译和语音识别等。
选择模型整体或某个组件时,你可以在右侧执行更像明细的查看,可以放大和点击其中任意的部分,来查看对应的详细信息。
由上图可知,LLM的工作流程包括:将文本划分成Token,根据字典将Token转换成字典索引(IDs),然后通过Word2Vec或者自定义的Embedding将IDs转换成embedding(向量);接着将向量输入到Transformer编码器中进行处理。
当选择模型整体或者某个组件时,右侧播放各个组件处理数据的动画。
安装运行
如果你想在本地运行本项目,你首先需要克隆项目到你的电脑上,之后执行以下步骤
bash
#安装依赖
yarn
#启动dev server
yarn dev
总结
项目提供了一个让零基础初学者更好地了解大语言模型工作原理和内部机制的方法,通过llm-viz 提供的可视化工具来直观地展示大模型的结构和运作。这样的工具对于教学、研究和理解模型内部机制非常有帮助。
项目信息
- 项目名称:llm-viz
- GitHub 链接:github.com/bbycroft/ll...
- Star 数:3K