Skip to content
On this page

之前看了 Andrej Karpathy 的 Tokenizer 视频,最近他又发了一个从零复现 GPT-2 的视频,学习一个。

相关博客

网上读到 Maeiee 记录的,Karpathy 之前另一期从零搭建 GPT 视频的学习笔记 Let's build GPT:from scratch, in code, spelled out.

仓库地址

视频地址

论文

引言

复现的是 124M 的模型,原始论文中的参数统计数据有误。该模型由 12个 768 channel、768 dimension 的 transformer 构成。

借助 HuggingFace 的 transformers 库,打印了 GPT-2 中的张量信息。首先是输入层,tokenizer embedding 的规模是 50257,每个 token 被表示为 768 维的向量,所以 wte 是一个 50257x768 的矩阵;position embedding 上下文长度为 1024,每个位置由 768 维的向量编码,所以 wpe 是一个 1024x768 的矩阵。 原始 transformer 文章使用固定的正弦余弦波来做位置编码(考虑到正弦波的加法性质),GPT-2将位置编码也参数化了。