lmtool fwp
1.0.0
该存储库包含本文中用于语言建模实验的官方代码:
更一般而言,这可以用作Pytorch中的语言建模工具包来实验:
标准变压器
变压器-XL
具有不同更新规则和线性注意功能的快速权重程序员:
例如,某些组合导致众所周知的模型:
此存储量包含两个快速权重的实现。
torch.autograd.Function (请参阅utils/fast_weight.py)虽然我们仅在所有最终实验(更快/更好的GPU利用率)中使用CUDA实现,但torch.autograd.Function版本对于使用新扩展的快速原型制作很有用。
该工具包需要Pytorch torch和忍者ninja (以编译CUDA内核)。
该论文的实验是用Python 3.6和Pytorch 1.4.0进行的(2023年8月24日注:该代码还可以与Python 3.11和Pytorch 2.0.1+Cu117一起使用。
该工具包仍未使用torch.nn.DataParallel进行多GPU培训的最新版本的Pytorch版本。如果您确实需要使用最新版本的Pytorch,请检查文档以使用torch.nn.parallel.DistributedDataParallel 。我们希望尽快解决此问题,但是我们无法确切地分辨何时。
该工具包支持用于监视工作的权重和偏见。如果使用它,还要安装wandb 。
该股票包含从以下来源采集和改编的许多代码行:
请在example_scripts下检查文件,以获取训练和评估模型的一般说明和示例。
@inproceedings{schlag2021linear,
title={Linear Transformers Are Secretly Fast Weight Programmers},
author={Imanol Schlag and Kazuki Irie and J"urgen Schmidhuber},
booktitle={Proc. Int. Conf. on Machine Learning (ICML)},
address = {Virtual only},
month = jul,
year={2021}
}
@article{irie2021going,
title={Going Beyond Linear Transformers with Recurrent Fast Weight Programmers},
author={Kazuki Irie and Imanol Schlag and R'obert Csord'as and J"urgen Schmidhuber},
journal={Preprint arXiv:2106.06295},
year={2021}
}