我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第1篇文章,github.com/alibaba/Eas…)中开源,详情请见链接。具体使用方式如下所示:
首先通过如下的命令拉起EasyNLP专属镜像并创建容器,里面已经安装了Rapidformer及其全部的依赖库。
docker pull pai-image-manage-registry.cn-shanghai.cr.aliyuncs.com/pai/easy_nlp:0.0.7
然后下载中文版的GPT-MOE模型,注意需要在硬盘上预留2T的存储空间同时需要通过swap设置2T的内存空间。
./ossutil64 cp -r oss://atp-modelzoo-sh/tutorial/rapidformer/zeroclue/ckpts ckpts
接下来就可以开始针对每个任务执行继续预训练了,在run_finetune_gpt_moe.sh脚本中已经通过开关打开了必要的训练降显存加速技术比如:Activation Checkpoint和Zero-stage-2。从CLUE官网下载无标签的训练数据,然后打上伪标签,注入进大模型中开始进行任务话术领域再适应。
sh run_finetune_gpt_moe.sh
训练完成后保存ckpt就可以执行针对特定任务的Zeroshot推理了,使用如下的推理脚本。
sh run_predict_gpt_moe.sh
4. 总结
在这次中文ZeroCLUE刷榜评测中,我们围绕中文百亿稀疏GPT大模型落地挖掘了以下核心技术:
- 基于large-margin的稀疏路由均衡器比传统Top-1均衡器效果更好更稳定。
- 针对160亿参数稀疏大模型的领域话术再适应算法以及工程底座经刷榜检验是可靠的。
- 提升了中文超多分类问题和复杂推理等问题的零样本学习任务效果。
- 大模型训练加速工具的可靠性进一步得到了验证。
后续在EasyNLP中还会陆续放出更多高质量的大模型,敬请期待。
参考文件
[1] . Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer
[2]. GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding
[3]. Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient Sparsity
[4]. BASE Layers: Simplifying Training of Large, Sparse Models
[5]. Hash Layers For Large Sparse Models
[6]. TAMING SPARSELY ACTIVATED TRANSFORMER WITH STOCHASTIC EXPERTS
[7]. GLaM: Efficient Scaling of Language Models with Mixture-of-Experts
[8]. Unified Scaling Laws for Routed Language Models
[9]. Designing Effective Sparse Expert Models
[10]. Large Margin Deep Networks for Classification