File size: 5,267 Bytes
746b7a6 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 | #! /bin/bash
set -eux
ROOT_DIR=$(dirname $(dirname `readlink -f $0`))
export HF_HOME="$ROOT_DIR/cache/"
export MODELSCOPE_CACHE="$ROOT_DIR/cache/"
export HF_EVALUATE_OFFLINE=1
export HF_DATASETS_OFFLINE=1
config_file=$ROOT_DIR/configs/accelerate_config.yaml
export NPROC_PER_NODE=8
# model
predict_model_dir=${1:-""}
# eval
comet_model=$ROOT_DIR/model_card/wmt22-comet-da/checkpoints/model.ckpt
xcome_model=$ROOT_DIR/model_card/XCOMET-XXL/checkpoints/model.ckpt
lang_pair_strs=""
src_file_strs=""
ref_file_strs=""
hypo_file_strs=""
# for lang in en ja ru de ug; do
for lang in en de ru bn hi th jv sw si km; do
# for lang in en ja ko ru de fr it pt es;do
for src in $lang zh ;do
if [ $src = "zh" ]; then # en2zh
src_lang=zh
tgt_lang=$lang
else # zh2en
src_lang=$lang
tgt_lang=zh
fi
lp=${src_lang}2${tgt_lang}
src_file=$ROOT_DIR/data_arr/flores200/zh-${lang}/test.zh-$lang.$src_lang
ref_file=$ROOT_DIR/data_arr/flores200/zh-${lang}/test.zh-$lang.$tgt_lang
# test_file=$ROOT_DIR/data_arr/sft_100k_ugbomn/test.$lp.jsonl
test_file=$ROOT_DIR/data_arr/test/test.$lp.jsonl
output_dir=$predict_model_dir/decode_result/$lp
mkdir -p $output_dir
############################!!!!!
rm -rf $output_dir/*
#######################
cp $0 $output_dir
swift infer \
--infer_backend pt \
--val_dataset $test_file \
--load_from_cache_file True \
--dataset_shuffle False \
--val_dataset_shuffle False \
--model $predict_model_dir \
--torch_dtype bfloat16 \
--max_new_tokens 1024 \
--max_batch_size 16 \
--num_beams 5 \
--max_length 1024 \
--dataset_num_proc 8 \
--temperature 0 \
--result_path $output_dir/generated_predictions.jsonl | tee $output_dir/train.log
jq -r '.response' $output_dir/generated_predictions.jsonl > $output_dir/hypo.$lp.txt
hypo_file=$output_dir/hypo.$lp.txt
lang_pair_strs=${lang_pair_strs:+$lang_pair_strs,}$lp
src_file_strs=${src_file_strs:+$src_file_strs,}$src_file
ref_file_strs=${ref_file_strs:+$ref_file_strs,}$ref_file
hypo_file_strs=${hypo_file_strs:+$hypo_file_strs,}$hypo_file
done
done
# # metric="bleu,comet_22,xcomet_xxl"
metric="bleu,comet_22"
python $ROOT_DIR/src/mt_scoring.py \
--metric $metric \
--comet_22_path $comet_model \
--xcomet_xxl_path $xcome_model \
--lang_pair $lang_pair_strs \
--src_file $src_file_strs \
--ref_file $ref_file_strs \
--hypo_file $hypo_file_strs \
--record_file "result_mt.xlsx"
# lang_pair_strs=""
# src_file_strs=""
# ref_file_strs=""
# hypo_file_strs=""
# #
# # for lang in ja ko ru de fr it pt es;do
# # for lang in ja ru de ug; do
# for lang in mn_cn; do
# for src in $lang en ;do
# if [ $src = "en" ]; then # en2zh
# src_lang=en
# tgt_lang=$lang
# else # zh2en
# src_lang=$lang
# tgt_lang=en
# fi
# lp=${src_lang}2${tgt_lang}
# src_file=$ROOT_DIR/data_arr/flores200/en-${lang}/test.en-$lang.$src_lang
# ref_file=$ROOT_DIR/data_arr/flores200/en-${lang}/test.en-$lang.$tgt_lang
# # test_file=$ROOT_DIR/data_arr/sft_100k_ugbomn/test.$lp.jsonl
# test_file=/mnt/nvme1/luoyingfeng/llm-mt/data_arr/merge_0701/train1/test/test.$lp.jsonl
# output_dir=$predict_model_dir/decode_result/$lp
# mkdir -p $output_dir
# #############################!!!!!
# rm -rf $output_dir/*
# ########################
# cp $0 $output_dir
# # --load_args False \
# swift infer \
# --infer_backend pt \
# --val_dataset $test_file \
# --load_from_cache_file True \
# --dataset_shuffle False \
# --val_dataset_shuffle False \
# --model $predict_model_dir \
# --torch_dtype bfloat16 \
# --max_new_tokens 1024 \
# --max_batch_size 8 \
# --num_beams 5 \
# --max_length 1024 \
# --dataset_num_proc 8 \
# --temperature 0 \
# --result_path $output_dir/generated_predictions.jsonl | tee $output_dir/train.log
# jq -r '.response' $output_dir/generated_predictions.jsonl > $output_dir/hypo.$lp.txt
# hypo_file=$output_dir/hypo.$lp.txt
# lang_pair_strs=${lang_pair_strs:+$lang_pair_strs,}$lp
# src_file_strs=${src_file_strs:+$src_file_strs,}$src_file
# ref_file_strs=${ref_file_strs:+$ref_file_strs,}$ref_file
# hypo_file_strs=${hypo_file_strs:+$hypo_file_strs,}$hypo_file
# done
# done
# # metric="bleu,comet_22,xcomet_xxl"
# metric="bleu,comet_22"
# python $ROOT_DIR/src/mt_scoring.py \
# --metric $metric \
# --comet_22_path $comet_model \
# --xcomet_xxl_path $xcome_model \
# --lang_pair $lang_pair_strs \
# --src_file $src_file_strs \
# --ref_file $ref_file_strs \
# --hypo_file $hypo_file_strs \
# --record_file "result_mt.xlsx"
|