用于 nanoGPT 训练的 FineWeb 数据准备 | AI生成和翻译

Home 2026.03

以下为您仓库的详细说明,以及如何为 nanoGPT 准备 FineWeb 数据:


📁 Repo Structure

🔄 Data Pipeline (FineWeb → nanoGPT)

您的脚本展示了一个清晰的 3 步流程:

Step 1: Download FineWeb Parquet Shards

# 从仓库运行,例如:
bash train/wget_fineweb_mirror_1.sh      # 下载 shard 0 (~500MB-1GB)
bash train/wget_fineweb_mirror_2_5.sh    # 下载 shards 1-10
bash train/wget_fineweb_mirror_11_20.sh  # 下载 shards 11-20

使用 hf-mirror.com(亚洲地区速度更快)。Shards 会保存到 fineweb_test_dump/ 目录中。

Step 2: Extract Text from Parquet → Plain Text

python train/extract_fineweb.py

Step 3: Tokenize with nanoGPT’s prepare.py

nanoGPT 需要 tokenized 数据的单个 train.bin / val.bin 文件。您需要:

  1. fineweb_extracted_all.txt 复制到您的 nanoGPT data 目录,例如:
    mkdir -p ~/nanoGPT/data/fineweb
    cp fineweb_test_dump/fineweb_extracted_all.txt ~/nanoGPT/data/fineweb/
    
  2. 创建一个 prepare.py(或适配 nanoGPT 现有的脚本),该脚本负责:
    • 读取文本文件
    • 使用 GPT-2 BPE 进行 Tokenizes(使用 tiktokentransformers tokenizer)
    • 划分为 train (90%) / val (10%)
    • 保存为 train.binval.bin (numpy uint16 arrays)
  3. 运行它:
    cd ~/nanoGPT
    python data/fineweb/prepare.py
    

Step 4: Train

cd ~/nanoGPT
python train.py config/train_fineweb.py

您的 train_log_fineweb3.txt 显示了之前使用的 config:


⚠️ 注意事项: 该服务器 没有 GPU(仅 1 vCPU, 2GB RAM)。在上面训练 nanoGPT 只能使用 CPU,速度会极其缓慢。Logs 显示您之前是在本地 RTX 4070 上进行的训练。

需要我仅在服务器上运行 download + extract 步骤来准备数据吗?还是您希望在拥有 GPU 的本地机器上进行训练?


Back Donate