diff --git a/.gitignore b/.gitignore index 154ee63..2fc1497 100644 --- a/.gitignore +++ b/.gitignore @@ -27,8 +27,10 @@ __pycache__/ logs/ *.log *.csv -# 数据集(可重新下载) -datasets/ +# 数据集(可重新下载,但保留下载说明文档入库) +# 用 datasets/* 而非 datasets/,否则 !datasets/README.md 例外无法生效 +datasets/* +!datasets/README.md # 原始请求级输出与中间产物不入库:只提交 adaptive_results 下的汇总级文件 # (adaptive_points.jsonl / adaptive_shapes.jsonl / adaptive_summary.* / run_manifest.json / shapes.tsv), diff --git a/datasets/README.md b/datasets/README.md new file mode 100644 index 0000000..65dfa36 --- /dev/null +++ b/datasets/README.md @@ -0,0 +1,65 @@ +# datasets/ + +本目录存放基准测试用的数据集文件。数据集本身**不入库**(体积大、可重新下载), +本说明文档是仓库中此目录唯一的跟踪文件。 + +如果运行实验时遇到 `FileNotFoundError` 指向本目录下的某个数据集,按下方说明下载。 + +--- + +## ShareGPT_V3_unfiltered_cleaned_split.json + +`sglang.bench_serving --dataset-name random` 在 `random`(非 `random-ids`)模式下, +会用这个 ShareGPT 文件作为词表采样的种子语料。文件缺失时 bench_serving 会报错。 + +### 来源 + +HuggingFace 数据集 `anon8231489123/ShareGPT_Vicuna_unfiltered` 的清洗切分版: + +``` +https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/ShareGPT_V3_unfiltered_cleaned_split.json +``` + +文件约 **642 MB**,94145 条多轮对话,JSON 数组格式。 + +### 下载方法(国内环境用 hf-mirror 镜像) + +HuggingFace 直连在国内通常不通,改用 `hf-mirror.com` 镜像: + +```bash +# 在仓库根目录下执行 +mkdir -p datasets +curl -L -o datasets/ShareGPT_V3_unfiltered_cleaned_split.json \ + "https://hf-mirror.com/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/ShareGPT_V3_unfiltered_cleaned_split.json" +``` + +校验: + +```bash +python3 -c "import json; d=json.load(open('datasets/ShareGPT_V3_unfiltered_cleaned_split.json')); print('OK, 条目数:', len(d))" +# 期望输出: OK, 条目数: 94145 +``` + +### 下载方法(能直连 HuggingFace 时) + +```bash +curl -L -o datasets/ShareGPT_V3_unfiltered_cleaned_split.json \ + "https://huggingface.co/datasets/anon8231489123/ShareGPT_Vicuna_unfiltered/resolve/main/ShareGPT_V3_unfiltered_cleaned_split.json" +``` + +### 容器内路径一致性 + +实验脚本(`start_vllm_docker.sh`)已挂载 `/mnt:/mnt`,而本仓库位于 +`/mnt/yy/sskj`,因此容器内数据集路径与宿主机一致,均为: +``` +/mnt/yy/sskj/datasets/ShareGPT_V3_unfiltered_cleaned_split.json +``` +`config.env` 里的 `DATASET_PATH="${ROOT_DIR}/datasets/ShareGPT_V3_unfiltered_cleaned_split.json"` +会正确解析到这个路径,无需额外配置。 + +### 注意 + +- 数据集文件被 `.gitignore` 忽略(`datasets/` 规则),本 README 通过 `!datasets/README.md` + 例外规则入库。新增其它数据集说明文档时,同样需要在该例外规则中列出。 +- 若实验只用 `--dataset-name random-ids`(基于生成的 token id,无需种子语料), + 则不需要此文件;当前 910C 实验默认用 `random`,需要下载。