AI开发平台MODELARTS-预训练数据处理:Alpaca数据处理说明

时间:2025-03-03 21:37:59

Alpaca数据处理说明

数据预处理脚本preprocess_data.py存放在代码包的“llm_train/AscendSpeed/ModelLink/tools/”目录中,脚本具体内容如下。

cd /home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink
#数据预处理
export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/AscendSpeed
export PYTHONPATH=$PYTHONPATH:/home/ma-user/ws/xxx-Ascend/llm_train/AscendSpeed/ModelLink
python ./tools/preprocess_data.py \
 --input {work_dir}/training_data/pretrain/train-00000-of-00001-a09b74b3ef9c3b56.parquet \
 --tokenizer-name-or-path {work_dir}/tokenizers/Qwen-14B \
 --output-prefix {work_dir}/processed_for_ma_input/Qwen-14B/data/pretrain/alpaca \
 --workers 8 \
 --log-interval 1000 \
 --tokenizer-type PretrainedFromHF \
 --seq-length 4096 

参数说明:

  • ${work_dir}的路径指容器工作路径:如/home/ma-user/ws/ 。
  • - input:原始数据集的存放路径。
  • - output-prefix:处理后的数据集保存路径+数据集名称前缀(例如: alpaca),替换为实际模型的路径。
  • - tokenizer-type:tokenizer的类型,可选项有['BertWordPieceLowerCase','BertWordPieceCase','GPT2BPETokenizer','PretrainedFromHF'],一般为PretrainedFromHF。
  • - tokenizer-name-or-path:tokenizer的存放路径,替换为实际模型的路径。
  • -workers:设置数据处理使用执行卡数量。
  • -log-interval:是一个用于设置日志输出间隔的参数,表示输出日志的频率。在训练大规模模型时,可以通过设置这个参数来控制日志的输出。
  • -seq-length : 是一个用于设置序列长度的参数,表示模型处理的序列长度。在训练大规模模型时,可以通过设置这个参数来优化模型的训练速度和效果。

数据预处理后输出的训练数据如下:

  • alpaca_text_document.bin
  • alpaca_text_document.idx

训练的时指定的数据路径为${path}/alpaca/qwen-14b/alpaca_text_document, 不加文件类型后缀。

support.huaweicloud.com/bestpractice-modelarts/modelarts_10_1647.html