最近团队完成了一个面向古文语料的预训练模型(SikuBERT),基于四库全书进行的训练,效果害挺好,于是准备拥抱开源,上传至最大的预训练模型hub——huggingface。
在整个上传过程中,看了一些很早之前翻译成中文的上传手册,他们大多使用内置工具+upload方法进行上传,但是笔者按照步骤尝试之后并没有成功,所以直接查看了官方的文档,尝试了git的方法,最后成功上传。
在这来记录一下上传的方法,以便帮助遇到相似问题的朋友快速上传。
1 准备工作
准备好训练好的预训练模型
2 操作记录
官网文档推荐的方法之一是使用git的方式上传,基于git组件,可以快速便捷的上传仓库中的内容
1. 注册账号
注意:用户名设定后不可更改。用户名将用于之后上传填入。
2. 创建预训练模型仓库(repo)
首先,在hugging face中新建一个仓库。可以通过网页新建,也可以通过语句新建。
.
如果选择通过语句新建,需要先通过transformers-cli内置程序进行登陆,如下所示。注意transformers的版本,过早的版本不支持直接使用内置程序,需要到Anaconda的Scripts文件中找,所以此处建议使用最新版的下transformers。
transformers-cli login
# 此处输入上面的用户名和密码
transformers-cli repo create your-model-name
# 用这条语句进行新建,如果仓库已存在,新建会失败。
transformers-cli repo create your-model-name --organization your-org-name
# * 补充上一条语句,可以补充组织信息。
3.git拉取新建的仓库。
git clone https://huggingface.co/username/your-model-name
# 注意这个时候使用的url就是刚新建的位置了。
拉取可以获得git相关信息,在新的文件夹中新建“README.md”文件,作为你的模型卡片内容。
然后让入你正确命名的预训练模型。规则参照:https://huggingface.co/transformers/model_sharing.html#check-the-directory-before-pushing-to-the-model-hub
4.add + commit + push 一条龙
cd your-model-name
git add . && git commit -m "Update from $USER"
git push
# 第一次上传会让你输入账户密码
我的操作如下:
至此,我们的模型就上传成功了,可以在你的账户中刷新查看。
小记
语言是技术人的一道门槛,要想解决这个问题,或许是通过技术人越来越多的分享,或许是通过NLP的技术进行高质量翻译辅助……懒人心愿:希望有一天,可以不用通过看外文原文档就能解决我所有的问题。
就目前来看,对于外文文档,望洋兴叹不如泛舟,激流勇进方可一览真容。
3 参考
[1] Model sharing and uploading:https://huggingface.co/transformers/model_sharing.html