过程奖励数据集
常用的过程奖励数据集
数据集下载
MATH-SHEPHERD 数据集下载可以基于网页直接下载,也可以基于命令行下载,比如:
mkdir dataset
cd dataset/
wget https://huggingface.co/datasets/zhuzilin/Math-Shepherd/resolve/main/data/train-00000-of-00002.parquet
cd ..
数据集处理
数据预处理
# 请按照您的真实环境修改 set_env.sh 路径
source /usr/local/Ascend/ascend-toolkit/set_env.sh
mkdir -p ./dataset
python ./preprocess_data.py \
--input ./data/math_shepherd/train-00000-of-00002.parquet \
--tokenizer-type PretrainedFromHF \
--tokenizer-not-use-fast \
--tokenizer-name-or-path ./model_from_hf/Llama2-hf \
--output-prefix ./prm_dataset/math-shepherd \
--workers 4 \
--log-interval 1000 \
--handler-name AlpacaStyleProcessRewardHandler \
--seq-length 4096 \
--placeholder-token ки \
--reward-tokens + - \
【--input】
可以直接输入到数据集目录或具体文件,如果是目录,则处理全部文件, 支持 .parquet \ .csv \ .json \ .jsonl \ .txt \ .arrow 格式, 同一个文件夹下的数据格式需要保持一致.
【--handler-name】
PRM微调数据预处理Alpaca风格数据集时,应指定为AlpacaStyleProcessRewardHandler。
【--placeholder-token】
微调数据prompt中每个推理步骤间的分割占位符,默认为"ки"。
【--reward-tokens】
微调数据label中表示每个推理步骤是否正确的奖励hard标签token,"+"代表当前推理步骤是正确的,"-"代表当前推理步骤是错误的。
启动脚本 MindSpeed-LLM过程奖励数据集处理脚本命名风格及启动方法为:
# 命名及启动:examples/mcore/model_name/data_convert_xxx_process_reward.sh
bash examples/mcore/llama2/data_convert_llama2_process_reward.sh
过程奖励微调数据集处理结果如下:
./prm_dataset/math-shepherd_packed_attention_mask_document.bin
./prm_dataset/math-shepherd_packed_attention_mask_document.idx
./prm_dataset/math-shepherd_packed_input_ids_document.bin
./prm_dataset/math-shepherd_prm_packed_input_ids_document.idx
./prm_dataset/math-shepherd_prm_packed_labels_document.bin
./prm_dataset/math-shepherd_prm_packed_labels_document.idx