autoliuweijie / K-BERT

Source code of K-BERT (AAAI2020)
https://ojs.aaai.org//index.php/AAAI/article/view/5681
955 stars 214 forks source link

About lcqmc with HowNet #35

Closed WenTingTseng closed 4 years ago

WenTingTseng commented 4 years ago

請問有已經訓練好的lcqmc with HowNet 模型可以公開嗎? 因為我嘗試利用KG HowNet 做在lcqmc 資料集上都無法訓練得跟論文中的數據一樣好

謝謝

autoliuweijie commented 4 years ago

我这里没有留存LCQMC训练好的模型,对LCQMC,按以下指令执行即可得到结果:

CUDA_VISIBLE_DEVICES='0' nohup python3 -u run_kbert_cls.py \
    --pretrained_model_path ./models/google_model.bin \
    --config_path ./models/google_config.json \
    --vocab_path ./models/google_vocab.txt \
    --train_path ./datasets/lcqmc/train.tsv \
    --dev_path ./datasets/lcqmc/dev.tsv \
    --test_path ./datasets/lcqmc/test.tsv \
    --epochs_num 5 --batch_size 32 --kg_name HowNet \
    --output_model_path ./outputs/kbert_lcqmc_HowNet.bin \
    > ./outputs/kbert_lcqmc_HowNet.log &

在dev和test的准确性分别是88.97%和87.14%

WenTingTseng commented 4 years ago

但是因為我的硬體資源限制,無法將batch_size調到32這麼大。我大概只能設定在8 所以好像效果無法訓練得跟論文中的數據一樣好

autoliuweijie commented 4 years ago

但是因為我的硬體資源限制,無法將batch_size調到32這麼大。我大概只能設定在8 所以好像效果無法訓練得跟論文中的數據一樣好

这样啊,那你可以试一试“梯度累加”的trick,把batch_size设为8,但是每4个step才更新一次模型参数,learning_rate调小为原来的1/4,--epochs_num 也需要设大一点。

这需要修改run_kbert_cls.py里的代码,代价是训练时间翻倍。