Skip to content

Latest commit

 

History

History
97 lines (72 loc) · 3.31 KB

README_zh.md

File metadata and controls

97 lines (72 loc) · 3.31 KB

albert_pytorch

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版本权重,可以直接下载(谷歌盘):

中文权重下载

google

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.jsonvocab.txt文件同时放入对应模型的目录中,比如:

├── prev_trained_model
|  └── albert_base
|  |  └── pytorch_model.bin
|  |  └── config.json
|  |  └── vocab.txt

预训练

备注:仅供参考

n-gram: 原始论文中按照以下分布随机生成n-gram,默认max_n为3

1. 将文本数据转化为一行一句格式,并且不同document之间使用`\n`分割
  1. 运行以下命令:
python prepare_lm_data_ngram.py \
    --data_dir=dataset/ \
    --vocab_path=vocab.txt \
    --data_name=albert \
    --max_ngram=3 \
    --do_data

产生n-gram masking数据集,具体可根据对应数据进行修改代码

  1. 运行以下命令:
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