【paddlenp】uie关键信息提取模型finetune全流程


数据标注


数据标注平台doccano:https://github.com/doccano/doccano
安装doccano:

pip install doccano

完成安装后,运行:

doccano init
doccano createuser --username admin --password pass
doccano webserver --port 8000

在另一个终端,运行:

doccano task

然后打开网址http://127.0.0.1:8000/.


训练数据生成


将标注好的文件doccano_ext.jsonl直接下载并放入./data目录。执行以下脚本进行数据转换,执行后会在./data目录下生成训练/验证/测试集文件。

python doccano.py     --doccano_file ./data/doccano_ext.jsonl    --task_type ext     --save_dir ./data   --splits 0.8 0.2 0     --schema_lang ch

【paddlenp】uie关键信息提取模型finetune全流程_第1张图片


开始训练


选择合适的模型

【paddlenp】uie关键信息提取模型finetune全流程_第2张图片


参考训练参数

export finetuned_model=./checkpoint/model_best

python finetune.py  \
    --device gpu \
    --logging_steps 10 \
    --save_steps 50 \
    --eval_steps 50 \
    --seed 42 \
    --model_name_or_path uie-medium\
    --output_dir $finetuned_model \
    --train_path data/train.txt \
    --dev_path data/dev.txt  \
    --max_seq_length 1500  \
    --per_device_eval_batch_size 16 \
    --per_device_train_batch_size  16 \
    --num_train_epochs 20 \
    --learning_rate 1e-5 \
    --label_names "start_positions" "end_positions" \
    --do_train \
    --do_eval \
    --do_export \
    --export_model_dir $finetuned_model \
    --overwrite_output_dir \
    --disable_tqdm True \
    --metric_for_best_model eval_f1 \
    --load_best_model_at_end  True \
    --save_total_limit 1

带注释版

export finetuned_model=./checkpoint/model_best

python finetune.py  \
    --device gpu \
    --logging_steps 10 \	# 训练过程中日志打印的间隔 steps 数
    --save_steps 50 \
    --eval_steps 50 \
    --seed 42 \	# 全局随机种子,默认为 42。
    --model_name_or_path uie-medium\
    --output_dir $finetuned_model \
    --train_path data/train.txt \
    --dev_path data/dev.txt  \
    --max_seq_length 1500  \
    --per_device_eval_batch_size 16 \
    --per_device_train_batch_size  16 \
    --num_train_epochs 20 \	#训练轮次,使用早停法时可以选择 100;默认为10。
    --learning_rate 1e-5 \	# 训练最大学习率,UIE 推荐设置为 1e-5;默认值为3e-5
    --label_names "start_positions" "end_positions" \
    --do_train \
    --do_eval \
    --do_export \
    --export_model_dir $finetuned_model \
    --overwrite_output_dir \
    --disable_tqdm True \	# 关闭tqdm
    --metric_for_best_model eval_f1 \
    --load_best_model_at_end  True \
    --save_total_limit 1

去除换行版

python finetune.py      --device gpu     --logging_steps 10     --save_steps 50     --eval_steps 50     --seed 42     --model_name_or_path uie-medium    --output_dir $finetuned_model     --train_path data/train.txt     --dev_path data/dev.txt      --max_seq_length 1500      --per_device_eval_batch_size 16     --per_device_train_batch_size  16     --num_train_epochs 20     --learning_rate 1e-5     --label_names "start_positions" "end_positions"     --do_train     --do_eval     --do_export     --export_model_dir $finetuned_model     --overwrite_output_dir     --disable_tqdm True     --metric_for_best_model eval_f1     --load_best_model_at_end  True --save_total_limit 1

运行结果


【paddlenp】uie关键信息提取模型finetune全流程_第3张图片
【paddlenp】uie关键信息提取模型finetune全流程_第4张图片


你可能感兴趣的:(机器学习,人工智能)