部分OpenWebText数据集下载详解 | AI生成和翻译
简短回答:不,它不会下载整个OpenWebText数据集。它只会获取你请求的数据切片。是的,你可以看到下载进度——除非你禁用日志,否则Hugging Face会自动显示进度条。
具体说明如下:
load_dataset("openwebtext", split="train[:10000]") 会下载完整数据集吗?
它仅下载该切片所需的分片,而非完整语料库
Hugging Face上的OpenWebText以多个分片形式存储(例如数十个.jsonl.zst文件)。当你仅加载前10,000行时,该库只会下载覆盖这些样本所需的分片。
它不会下载所有分片。
因此下载量与你实际加载的数据量成正比。
如何查看下载进度
通常控制台会显示如下进度条:
下载中(…)arrow…: 100%
下载中(…)nload: 100%
解压中…: 100%
生成训练集切片…: 100%
若日志被屏蔽或需要更详细显示,可使用:
from datasets import load_dataset
import datasets
datasets.logging.set_verbosity_info()
dataset = load_dataset("openwebtext", split="train[:10000]")
这将确保始终显示进度条。
如何查看实际下载量
加载完成后可通过:
dataset._info
或:
dataset.info
此外,Hugging Face将文件存储于:
~/.cache/huggingface/datasets/
可通过以下命令查看磁盘使用量:
du -sh ~/.cache/huggingface/datasets
可选:启用详细调试日志
如需极详细日志可执行:
datasets.logging.set_verbosity_debug()
这对NanoGPT的意义
NanoGPT的训练代码片段使用:
dataset = load_dataset("openwebtext", split="train[:10000]")
以避免测试期间的大规模下载。 好消息是:该行为完全符合你的需求——快速、部分下载。
如果你需要,我还可以演示:
- 如何在下载前预览数据
- 如何本地加载OpenWebText
- 如何检查数据切片涉及的分片数量