HackerTube English?

Let's build GPT: from scratch, in code, spelled out.

Andrej KarpathyYouTube ↗

延伸阅读 1

字幕解读

视频从字符级文本预测开始,构造训练数据并实现小型语言模型,随后逐步引入 token 与嵌入、因果自注意力、多头注意力和 Transformer 块,形成 GPT。讲解重点是模型如何利用此前上下文预测下一个 token,并通过训练损失改进生成;示例规模与完整 ChatGPT 系统相距甚远。

自动字幕 · 引文按字幕原文展示,可点时间戳回看片段。

内容要点

  • 语言模型通过给定上下文预测后续 token 来学习序列中的统计规律。
  • 因果自注意力让位置聚合此前 token 的信息,并通过加权组合建立上下文表示。
  • 视频逐步扩展玩具模型到 Transformer/GPT 结构,训练目标与完整产品系统仍有差距。
视频章节 6
  1. GPT 与语言模型任务
  2. 训练模型与评估损失
  3. 序列模型与上下文
  4. 嵌入表示
  5. Transformer 结构与堆叠
  6. 生成与结语
具体观点与证据 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 answer

Dropout 每轮更换随机屏蔽集合,可理解为训练共享参数的子网络集合,测试时启用完整网络。

教程将其用于扩大模型时的正则化;完整网络推理是集成直觉,不是所有非线性网络的精确平均。

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 的真实数据、规模、部署或全部后训练流程。

Hacker News 评论

查看 HN 原评论 ↗