This repository contains a PyTorch implementation of the albert model from the paper
A Lite Bert For Self-Supervised Learning Language Representations
by Zhenzhong Lan. Mingda Chen....
已经转好的pytorch版本权重,可以直接下载(谷歌盘):
- albert_tiny_zh
- albert_small_zh
- albert_base_zh.zip
- albert_large_zh.zip
- albert_xlarge_zh.zip
- albert_xxlarge_zh.zip
bright
说明: 以上权重只适合该版本。pytorch版本为1.1.0
原始提供下载地址:
不同的模型权重加载不同的对应模型原始文件,如下(使用的时候加载对应模型文件即可):
#google version
from model.modeling_albert import AlbertConfig, AlbertForSequenceClassification
# bright version
from model.modeling_albert_bright import AlbertConfig, AlbertForSequenceClassification
注意,如果需要运行该run_classifier.py
脚本,需要将config.json
和vocab.txt
文件同时放入对应模型的目录中,比如:
├── prev_trained_model
| └── albert_base
| | └── pytorch_model.bin
| | └── config.json
| | └── vocab.txt
备注:仅供参考
n-gram: 原始论文中按照以下分布随机生成n-gram,默认max_n为3
1. 将文本数据转化为一行一句格式,并且不同document之间使用`\n`分割- 运行以下命令:
python prepare_lm_data_ngram.py \
--data_dir=dataset/ \
--vocab_path=vocab.txt \
--data_name=albert \
--max_ngram=3 \
--do_data
产生n-gram masking数据集,具体可根据对应数据进行修改代码
- 运行以下命令:
python run_pretraining.py \
--data_dir=dataset/ \
--vocab_path=configs/vocab.txt \
--data_name=albert \
--config_path=configs/albert_config_base.json \
--output_dir=outputs/ \
--data_name=albert \
--share_type=all
进行模型训练,具体可根据对应数据进行修改代码
问题匹配语任务:LCQMC(Sentence Pair Matching)
模型 | 开发集(Dev) | 测试集(Test) |
---|---|---|
albert_base(tf) | 86.4 | 86.3 |
albert_base(pytorch) | 87.4 | 86.4 |
albert_tiny | 85.1 | 85.3 |