YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

上机作业 L - 关系抽取

本提交使用 R-BERT 关系分类模型,并对 5 个不同随机种子的模型预测结果做多数投票集成。

文件说明

README.md
predict_ensemble.py
dataset/
  SemEval/
bert-base-uncased/  # 从 Hugging Face 下载
models/  # 从 Hugging Face 下载
  rbert_lr2e-5_len192_seed1.pt
  rbert_lr2e-5_len192_seed2.pt
  rbert_lr2e-5_len192_seed3.pt
  rbert_lr2e-5_len192_seed4.pt
  rbert_lr2e-5_len192_seed5.pt
loss_curves/
  rbert_lr2e-5_len192_seed1_loss.png
  rbert_lr2e-5_len192_seed2_loss.png
  rbert_lr2e-5_len192_seed3_loss.png
  rbert_lr2e-5_len192_seed4_loss.png
  rbert_lr2e-5_len192_seed5_loss.png

models/ 中是训练后的 5 个模型权重。predict_ensemble.py 是测试集预测代码,默认加载这 5 个模型,在测试集上分别预测,然后对每个样本做多数投票,输出最终预测标签。

由于模型文件较大,训练后的 R-BERT checkpoint 已上传到 Hugging Face:

https://huggingface.co/liuyanliang/rbert-relation-extraction-semeval

基础 BERT bert-base-uncased/ 也已上传到同一个 Hugging Face 仓库内。

dataset/SemEval/ 已经放在提交目录内。运行预测前需要先下载 models/ 权重和 bert-base-uncased/

运行环境

需要安装:

pip install torch==2.12.0 numpy==2.4.4 transformers==5.9.0

预测命令

解压后进入本提交目录,先下载模型权重:

cd submission_L_relation_extraction

hf download liuyanliang/rbert-relation-extraction-semeval \
  --include "models/*.pt" \
  --include "bert-base-uncased/*" \
  --local-dir .

然后运行预测:

python predict_ensemble.py \
  --bert-model ./bert-base-uncased \
  --data-root ./dataset/SemEval/ \
  --vector-path ./dataset/SemEval/vector_50.txt \
  --model-dir ./models \
  --max-len 192 \
  --batch-size 16 \
  --pred-path pred_rbert_seed_ensemble_vote.txt

输出文件:

pred_rbert_seed_ensemble_vote.txt

该文件每行一个关系类别 id,对应测试集一条样本。

训练配置

5 个模型使用相同超参数,不同随机种子:

bert_model    = ./bert-base-uncased
data_root     = ./dataset/SemEval/
epochs        = 20
batch_size    = 16
learning_rate = 2e-5
dropout       = 0.2
patience      = 8
max_len       = 192
weight_decay  = 0.01
seed          = 1, 2, 3, 4, 5

训练时使用验证集 dev_macroF1 作为保存最佳 checkpoint 和 early stopping 的指标。

Loss 曲线

Seed 1:

seed1 loss

Seed 2:

seed2 loss

Seed 3:

seed3 loss

Seed 4:

seed4 loss

Seed 5:

seed5 loss

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support