转换brightmart版的albert权重到Google版格式。
brightmart的项目albert_zh训练了从tiny版到xlarge版等一系列albert模型,极大地促进了albert在中文NLP领域的普及。
然而,brightmart版albert的开源时间早于Google版albert,这导致早期brightmart版albert的权重与Google版的不完全一致,换言之两者不能直接相互替换。当Google版开源之后,很多工作自然会以Google版为标准,但如果直接放弃掉之前训练好的权重未免就太可惜了,而全部重新训练一次成本又太大。因此这里做一个转换。
注意,我们说brightmart版albert跟Google版不一致,并不是单纯指变量命名上的不一致,而是模型架构上就不一致(两者处理Embedding层的方式不一样),所以原封不动的转换是做不到的。但如果放弃Embedding层的低秩分解,那么可以转换一个版本出来。
因此,本项目转换出来的模型,Embedding层都是没有低秩分解的,但是保留了transformer block的跨层参数共享。
转换后的权重可以直接用bert4keras加载,也可以用Google官方的albert脚本加载。
模型 | 下载地址 |
---|---|
albert_tiny_google_zh_489k.zip | 百度网盘(4m4b) |
albert_base_google_zh_additional_36k_steps.zip | 百度网盘(tc54) |
albert_large_google_zh.zip | 百度网盘(dq2h) |
albert_xlarge_google_zh_183k.zip | 百度网盘(hhxz) |
(注:zip的命名跟原brightmart版基本一致,只是多了google字眼,读者可以凭文件名找到原权重的介绍。)
- QQ交流群:67729435
- 微信群请加机器人微信号spaces_ac_cn
- https://kexue.fm