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}
}