192 Star 1.2K Fork 1.1K

GVPAscend/MindSpeed-LLM

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
pretrain_dataset.md 2.95 KB
一键复制 编辑 原始数据 按行查看 历史
jzh 提交于 15天前 . !2673docs readme modify

预训练数据集处理

常用的预训练数据集

数据集下载

数据集下载可以基于网页直接下载,也可以基于命令行下载,比如:

mkdir dataset
cd dataset/
wget https://huggingface.co/datasets/tatsu-lab/alpaca/blob/main/data/train-00000-of-00001-a09b74b3ef9c3b56.parquet
cd ..

数据集处理

预训练数据集处理方法

# 请按照您的真实环境 source set_env.sh 环境变量
source /usr/local/Ascend/ascend-toolkit/set_env.sh
mkdir ./dataset

python ./preprocess_data.py \
    --input ./dataset/train-00000-of-00042-d964455e17e96d5a.parquet \
    --tokenizer-name-or-path ./model_from_hf/llama-2-7b-hf \
    --tokenizer-type PretrainedFromHF \
    --handler-name GeneralPretrainHandler \
    --output-prefix ./dataset/alpaca_llama2_7b \
    --json-keys text \
    --workers 4 \
    --log-interval 1000  

MindSpeed-LLM预训练数据集处理脚本命名风格及启动方法为:

# Legacy
# 命名及启动:examples/legacy/model_name/data_convert_xxx_pretrain.sh
bash examples/legacy/llama2/data_convert_llama2_pretrain.sh

# Mcore
# 命名及启动:examples/mcore/model_name/data_convert_xxx_pretrain.sh
bash examples/mcore/llama2/data_convert_llama2_pretrain.sh

参数说明

【--input】

可以直接输入到数据集目录或具体文件,如果是目录,则处理全部文件, 支持 .parquet \ .csv \ .json \ .jsonl \ .txt \ .arrow 格式, 同一个文件夹下的数据格式需要保持一致

【--handler-name】

当前预训练默认使用 GeneralPretrainHandler,支持的是预训练数据风格,提取数据的text列,格式如下:

[
  {"text": "document"},
  {"other keys": "optional content"}
]

用户可结合具体数据处理需求添加新的Handler进行数据处理

【--json-keys】

从文件中提取的列名列表,默认为 text,可以为 text, input, title 等多个输入,结合具体需求及数据集内容使用,如:

--json-keys text input output \

【--n-subs】

数据预处理并行加速参数。当需要预处理的数据集比较大时,可以通过并行处理进行加速,方法为设置参数--n-subs,通过该参数设置并行处理数量。在数据预处理过程会将原始数据集切分为n_sub个子集,对子集进行并行处理,然后合并,从而实现加速。建议预处理数据集超过GB级别时加上该参数。

处理结果

预训练数据集处理结果如下:

./dataset/alpaca_llama2_7b_text_document.bin
./dataset/alpaca_llama2_7b_text_document.idx

预训练时,数据集路径--data-path参数传入 ./dataset/alpaca_llama2_7b_text_document 即可

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/ascend/MindSpeed-LLM.git
git@gitee.com:ascend/MindSpeed-LLM.git
ascend
MindSpeed-LLM
MindSpeed-LLM
master

搜索帮助