Let's build GPT: from scratch, in code, spelled out.
字幕解读
视频从字符级文本预测开始,构造训练数据并实现小型语言模型,随后逐步引入 token 与嵌入、因果自注意力、多头注意力和 Transformer 块,形成 GPT。讲解重点是模型如何利用此前上下文预测下一个 token,并通过训练损失改进生成;示例规模与完整 ChatGPT 系统相距甚远。
自动字幕 · 引文按字幕原文展示,可点时间戳回看片段。
内容要点
- 语言模型通过给定上下文预测后续 token 来学习序列中的统计规律。
- 因果自注意力让位置聚合此前 token 的信息,并通过加权组合建立上下文表示。
- 视频逐步扩展玩具模型到 Transformer/GPT 结构,训练目标与完整产品系统仍有差距。
视频章节 6
- GPT 与语言模型任务
- 训练模型与评估损失
- 序列模型与上下文
- 嵌入表示
- Transformer 结构与堆叠
- 生成与结语
具体观点与证据 4
分词器词表大小与序列长度存在权衡:较小词表通常需要更长的 token 序列。
教材比较字符编码与 GPT 子词编码,不指定任何词表大小普遍最优。
trade off the code book size and the sequence lengths自回归训练必须屏蔽未来位置,防止下一 token 预测直接偷看答案。
适用于此处解码器的因果预测;编码器可以允许双向注意力。
nodes from the future never talk to the Past because they would give away the answerDropout 每轮更换随机屏蔽集合,可理解为训练共享参数的子网络集合,测试时启用完整网络。
教程将其用于扩大模型时的正则化;完整网络推理是集成直觉,不是所有非线性网络的精确平均。
training an ensemble of sub networks and then at test time everything is fully enabled预训练得到文本续写器;要转为问答助手,还需监督示范与人类反馈等后续训练。
教程实现的是小型预训练 GPT,并未复现 ChatGPT 的完整后训练流程。
it takes the model from being a document completer to a question answerer补充字幕原文 2
语言模型接收序列前缀并完成后续内容,核心任务是序列延续。
give it the start of a sequence and it completes the sequence自注意力通过加权聚合此前位置的信息形成当前位置表示。
you can do weighted aggregations of your past Elements解读边界
实现针对教学采用小数据、小模型与简化训练流程,不能代表 ChatGPT 的真实数据、规模、部署或全部后训练流程。
相关视频与证据 3
共同基础从补全序列,分别走向实现与使用
两段都以补全序列或预测后续词解释语言模型的基本任务。可以以共同定义为起点,分别进入从头构建模型与通过代码使用模型的讲解。
Let's build GPT: from scratch, in code, spelled out.
语言模型接收序列前缀并完成后续内容,核心任务是序列延续。
give it the start of a sequence and it completes the sequenceA Hackers' Guide to Language Models ↗
讲者以预测后续词或补全缺词介绍语言模型的基本任务,并由此引出 token 和预训练。
knows how to predict the next word▶ 1:33–1:43 · 观看片段适用边界 共享基础定义不意味着两份教程具有相同深度、架构或 API,也不等于已经理解模型全部行为。
机制与实现Dropout 的共享子网络机制落到 GPT 训练
Hinton 把 dropout 解释为许多共享权重的子网络;Karpathy 在 GPT 教程中每轮随机屏蔽节点,并在测试时启用完整网络,提供同一正则化机制的具体实现。
Brains, Sex, and Machine Learning ↗
共享权重使大量随机子网络得到正则化。
all of these architectures are sharing the same weights, which is regularizing them a lot.▶ 17:13–17:20 · 观看片段Let's build GPT: from scratch, in code, spelled out.
随机屏蔽训练子网络,测试时启用完整网络。
training an ensemble of sub networks and then at test time everything is fully enabled适用边界 测试时启用完整非线性网络并不等于显式平均所有子网络;也不能把教程多项扩容带来的效果单独归因于 dropout。
基础架构到现代模型从逐层激活到因果注意力
基础神经网络视频用逐层激活解释输入如何影响输出;GPT 从头构建视频进一步展示因果自注意力如何聚合此前 token,并逐步组成 Transformer。连接可帮助观众辨认现代语言模型保留了神经网络的层间计算框架,同时增加了序列上下文机制。
But what is a neural network? | Deep learning chapter 1 ↗
网络的信息处理取决于一层激活如何影响下一层激活。
the heart of the network as an information processing mechanism▶ 4:39–4:43 · 观看片段Let's build GPT: from scratch, in code, spelled out.
自注意力对过去元素做加权聚合,形成序列位置的上下文表示。
you can do weighted aggregations of your past Elements适用边界 GPT 视频讲的是 Transformer 语言模型,不能把基础手写数字网络的结构直接等同于 GPT;该连接只指逐层计算这一抽象层次。