从零开始用纯Python实现GPT | AI生成和翻译

Home 2026.02

问题: 请解释 Andrej Karpathy 提供的 Python 脚本,该脚本从零开始实现 GPT 模型,且不依赖任何外部库。

回答: 这个脚本是一部“教学杰作”,将大型语言模型(LLM)剥离到最核心的组件。它仅使用 Python 标准库实现了生成式预训练变换器(GPT),没有 PyTorch、NumPy 或 TensorFlow。

以下是实现该功能的核心组件分解:


1. “微型自动微分”引擎(class Value

任何深度学习模型的核心都是反向传播

2. GPT 架构

该模型遵循 GPT-2 设计,但简化了部分组件(例如使用 RMSNorm 代替 LayerNorm,使用 ReLU 代替 GeLU)。

3. 训练与优化

脚本在名字数据集(names.txt)上训练模型。

4. 推理(“胡言乱语”)

训练完成后,模型生成新文本。它从特殊的 BOS(序列起始) Token 开始,请求模型给出下一个字符的概率分布,然后根据温度设置从该分布中“采样”,生成原始列表中不存在的名字。


总结表:硬件 vs. 软件

特性 本脚本实现 行业标准(如 GPT-4)
数学运算 纯 Python 循环(慢) GPU 内核 / CUDA(快)
数据 单个字符 子词“Token”
规模 ~7,000 个参数 万亿级参数
内存 Python 列表 张量(高度压缩)

你是否希望我详细解释注意力机制在本代码中如何计算字符之间的关系?


Back Donate