3.1 环境搭建与依赖管理


3.1 环境搭建与依赖管理

本节摘要:跑 NanoGPT 的环境要求不高:Python + PyTorch 即可。本节讲清环境检查、PyTorch 安装(CPU/GPU 选择)、仓库克隆与依赖验证,并给出"先小模型验证环境"的稳妥策略。

读前必看

阅读完本节,你应当能够:

  1. 检查 Python 与 CUDA 环境
  2. 安装合适的 PyTorch
  3. 克隆 NanoGPT 仓库
  4. 验证环境可用
  5. 用最小实验确认环境正确

一、问题与直觉

"NanoGPT 要什么环境?"——答案比想象简单:Python 3.8+ 和 PyTorch,没有花哨依赖。最大的选择点是"CPU 还是 GPU":GPU 训练快但安装略复杂,CPU 能跑但慢。建议先 CPU 跑小模型验证环境,再上 GPU 训练。

很多初学者把环境搭建想得太难,其实核心就三件事:装对 Python、装对 PyTorch、把仓库代码拿下来。本节把每一步的命令都列出来,照着做即可。

二、核心原理

2.1 依赖全景

NanoGPT 的依赖极简——这是它"轻"的又一体现。

2.2 CPU vs GPU

维度 CPU GPU
速度 快(几十倍)
安装 简单 需 CUDA 匹配
适用 小模型验证 正式训练

三、工程实践要点

3.1 环境检查

python --version # 需 3.8+ pip --version # 包管理 nvidia-smi # 看 GPU(可选)

如果 python 命令不存在或版本过旧,建议先装 Python 3.10 或 3.11。有 GPU 的机器务必先跑 nvidia-smi 记录 CUDA 版本(如 12.1),后面装 PyTorch 要用。

⚠️ 常见坑:PyTorch 与 CUDA 版本不匹配导致无法用 GPU。安装前先确认 CUDA 版本(nvidia-smi),再到 PyTorch 官网选对应安装命令。

3.2 安装 PyTorch

# CPU 版(验证够用) pip install torch # GPU 版(按 CUDA 版本选命令,见 PyTorch 官网) pip install torch --index-url https://download.pytorch.org/whl/cu121

装完立刻验证:

python -c "import torch; print(torch.__version__)" python -c "import torch; print(torch.cuda.is_available())"

第二行输出 True 说明 GPU 可用;输出 False 时,若确认装了 GPU 版,多半是驱动或 CUDA 版本问题,先升级驱动再试。

3.3 克隆仓库

git clone https://github.com/karpathy/nanoGPT.git cd nanoGPT pip install -r requirements.txt # 如有

requirements.txt 里的核心依赖只有 torch 和 numpy,其他是可选的数据集准备工具。装完把仓库目录记下来,后续所有命令都在这个目录里运行。

3.4 环境验证三连

python -c "import torch; print(torch.__version__)" python -c "import torch; print(torch.cuda.is_available())" python model.py # 小模型实例化测试

第三条命令尤其关键:它会实例化默认配置的 GPT 并跑一次前向传播。能跑通,说明模型代码和环境都正常,可以进入数据准备了。

3.5 用虚拟环境隔离依赖

建议用一个干净的虚拟环境,避免污染系统 Python:

python -m venv nanogpt-env # Windows 激活 nanogpt-env\Scripts\activate # macOS / Linux 激活 source nanogpt-env/bin/activate pip install torch numpy

虚拟环境的收益在调试期特别明显:依赖版本出问题时,删掉重建比在系统环境里反复卸载重装快得多。

3.6 无 GPU 的替代方案

如果本机没有 GPU,有几个选择:

方案 适用场景 说明
CPU 硬跑 小模型验证 莎士比亚级模型能跑,慢但可接受
云 GPU 租用 正式训练 按时计费,用完即释放
免费在线环境 入门体验 资源受限但零成本

无论哪种方案,本节的环境验证三连都适用——先把环境跑通,再谈训练。

💡 关键直觉:先用最小实验验证环境,再跑正式任务。一次性把环境跑通(import 成功、小模型实例化成功),后面就全是训练的事了。

3.7 常见问题速查

现象 原因 解法
import torch 失败 未安装 安装 PyTorch
CUDA 不可用 版本不匹配 重装匹配版本
显存 OOM 模型太大 用更小模型/配置
下载慢 网络 换镜像源
git clone 失败 网络或权限 检查网络,或下载压缩包解压

3.8 依赖清单速查

NanoGPT 的 requirements.txt 非常精简,核心就两个:

torch>=1.13.0 numpy>=1.21.0

其他依赖都是可选的:tiktoken(GPT-2 的 BPE 分词)、transformers(权重转换)、datasets(下载数据集)等,按需要安装。记住"核心两件套"能帮你快速判断环境问题——报错如果和 torch 或 numpy 无关,先看看是不是少了某个可选包。

3.9 环境就绪后的第一跑

环境装好后,用一条命令验证全链路:

cd data/shakespeare && python prepare.py && cd ../.. python train.py config/train_shakespeare.py --max_iters=50

如果 50 步能跑出损失下降的日志,说明环境、数据、模型、训练四条链路全部打通。从此以后,你遇到的任何问题都可以用"这条最小链路是否还通"来定位——它是最好的环境健康检查。

3.10 版本选择建议

组件 建议版本 理由
Python 3.10 / 3.11 兼容性好、生态成熟
PyTorch 2.x 最新稳定版 内置 Flash Attention 支持
CUDA 12.x(随显卡驱动) 与 PyTorch 2.x 匹配
操作系统 任意 NanoGPT 跨平台

版本选择的原则是"用新不用旧":PyTorch 2.x 内置了 scaled_dot_product_attention,NanoGPT 能自动启用 Flash 加速,训练体验比 1.x 时代好很多。

核心回顾

  • 要点一:依赖极简——Python + PyTorch 即可
  • 要点二:CPU 验证环境,GPU 正式训练
  • 要点三:PyTorch 与 CUDA 版本必须匹配
  • 要点四:环境验证三连——版本、CUDA、实例化
  • 要点五:先小实验验证,再上正式任务
  • 要点六:OOM 就降模型规模,别硬扛

环境通了,下一节喂数据——数据准备与预处理。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U