LaMDA-pytorch
用PyTorch实现的Google LaMDA研究论文的开源预训练版本。这个完全不具有知觉的人工智能。本仓库将涵盖20亿参数的预训练架构实现,因为这可能是大多数人负担得起训练的规模。你可以查看Google 2022年最新的博客文章,其中详细介绍了LaMDA 点击这里。你还可以查看他们2021年关于该模型的前一篇博客文章 点击这里。
致谢:
我深受 Phil 'Lucid' Wang 博士 工作的启发。请查看他对多个不同Transformer架构的开源实现并支持他的工作。
开发者更新
开发者更新可以在以下位置找到:
基本用法 - 预训练
lamda_base = LaMDA(
num_tokens = 20000,
dim = 512,
dim_head = 64,
depth = 12,
heads = 8
)
lamda = AutoregressiveWrapper(lamda_base, max_seq_len = 512)
tokens = torch.randint(0, 20000, (1, 512)) # 模拟token数据
logits = lamda(tokens)
print(logits)
大规模训练注意事项:
关于LaMDA:
- 注意力机制中使用T5相对位置偏置
- 前馈层中使用门控GELU激活函数
- 类似GPT的仅解码器架构
- 自回归与Top-k采样
- Sentencepiece字节对编码分词器
待办事项:
- 完成预训练模型架构构建
- 添加预训练脚本
- 集成 Huggingface datasets
- 实现GPT-2分词器
- 添加Sentencepiece分词器训练脚本和集成
- 添加详细文档
- 使用 Weights And Biases 添加日志记录
- 使用ColossalAI添加扩展功能
- 添加微调脚本
- 添加带PyPI的pip安装程序
- 如果有人想开源LaMDA模型权重,添加仅推理功能
作者
- Enrico Shippole
引用文献
@article{DBLP:journals/corr/abs-2201-08239,
author = {Romal Thoppilan 和
Daniel De Freitas 和
Jamie Hall 和
Noam Shazeer 和
Apoorv Kulshreshtha 和
Heng{-}Tze Cheng 和
Alicia Jin 和
Taylor Bos 和
Leslie Baker 和
Yu Du 和
YaGuang Li 和
Hongrae Lee 和
Huaixiu Steven Zheng 和
Amin Ghafouri 和
Marcelo Menegali 和
Yanping Huang 和
Maxim Krikun 和
Dmitry Lepikhin 和
James Qin 和
Dehao Chen 和
Yuanzhong Xu 和
Zhifeng Chen 和
Adam Roberts 和
Maarten Bosma 和
Yanqi Zhou 和
Chung{-}Ching Chang 和
Igor Krivokon 和
Will Rusch 和
Marc Pickett 和
Kathleen S. Meier{-}Hellstern 和
Meredith Ringel Morris 和
Tulsee Doshi 和
Renelito Delos Santos 和
Toju Duke 和
Johnny Soraker 和
Ben Zevenbergen 和
Vinodkumar Prabhakaran 和
Mark Diaz 和
Ben Hutchinson 和
Kristen Olson 和
Alejandra Molina 和
Erin Hoffman{-}John 和
Josh Lee 和
Lora Aroyo 和
Ravi Rajakumar 和
Alena Butryna 和
Matthew Lamm 和
Viktoriya Kuzmina 和
Joe Fenton 和
Aaron Cohen 和
Rachel Bernstein 和
Ray Kurzweil 和
Blaise Aguera{-}Arcas 和
Claire Cui 和
Marian Croak 和
Ed H. Chi 和
Quoc Le},
title = {LaMDA:对话应用的语言模型},
journal = {CoRR},
volume = {abs/2201.08239},
year = {2022},
url = {https://arxiv.org/abs/2201.08239},
eprinttype = {arXiv},
eprint = {2201.08239},
timestamp = {2022年4月22日 星期五 16:06:31 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2201-08239.bib},
bibsource = {dblp 计算机科学文献库, https://dblp.org}
}
@misc{https://doi.org/10.48550/arxiv.1706.03762,
doi = {10.48550/ARXIV.1706.03762},
url = {https://arxiv.org/abs/1706.03762},
author = {Vaswani, Ashish 和 Shazeer, Noam 和 Parmar, Niki 和 Uszkoreit, Jakob 和 Jones, Llion 和 Gomez, Aidan N. 和 Kaiser, Lukasz 和 Polosukhin, Illia},
keywords = {计算和语言 (cs.CL), 机器学习 (cs.LG), FOS: 计算机和信息科学, FOS: 计算机和信息科学},
title = {注意力就是一切},
publisher = {arXiv},
year = {2017},
copyright = {arXiv.org 永久性、非独占性许可}
}
@misc{https://doi.org/10.48550/arxiv.1910.10683,
doi = {10.48550/ARXIV.1910.10683},
url = {https://arxiv.org/abs/1910.10683},
author = {Raffel, Colin 和 Shazeer, Noam 和 Roberts, Adam 和 Lee, Katherine 和 Narang, Sharan 和 Matena, Michael 和 Zhou, Yanqi 和 Li, Wei 和 Liu, Peter J.},
keywords = {机器学习 (cs.LG), 计算和语言 (cs.CL), 机器学习 (stat.ML), FOS: 计算机和信息科学, FOS: 计算机和信息科学},
title = {探索统一文本到文本转换器的迁移学习极限},
publisher = {arXiv},
year = {2019},
copyright = {arXiv.org 永久性、非独占性许可}
}
@misc{https://doi.org/10.48550/arxiv.2002.05202,
doi = {10.48550/ARXIV.2002.05202},
url = {https://arxiv.org/abs/2002.05202},
author = {Shazeer, Noam},
keywords = {机器学习 (cs.LG), 神经和进化计算 (cs.NE), 机器学习 (stat.ML), FOS: 计算机和信息科学, FOS: 计算机和信息科学},
title = {GLU变体改进Transformer},
publisher = {arXiv},
year = {2020},
copyright = {arXiv.org 永久性、非独占性许可}
}
@article{DBLP:journals/corr/abs-2101-00027,
author = {Leo Gao 和
Stella Biderman 和
Sid Black 和
Laurence Golding 和
Travis Hoppe 和
Charles Foster 和
Jason Phang 和
Horace He 和
Anish Thite 和
Noa Nabeshima 和
Shawn Presser 和
Connor Leahy},
title = {The Pile:一个800GB的多样化文本语言建模数据集},
journal = {CoRR},
volume = {abs/2101.00027},
year = {2021},
url = {https://arxiv.org/abs/2101.00027},
eprinttype = {arXiv},
eprint = {2101.00027},
timestamp = {2021年10月14日 星期四 09:16:12 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2101-00027.bib},
bibsource = {dblp 计算机科学文献库, https://dblp.org}
}
@article{DBLP:journals/corr/abs-1808-06226,
author = {Taku Kudo 和
John Richardson},
title = {SentencePiece:一个简单且与语言无关的神经文本处理子词分词器和去分词器},
journal = {CoRR},
volume = {abs/1808.06226},
year = {2018},
url = {http://arxiv.org/abs/1808.06226},
eprinttype = {arXiv},
eprint = {1808.06226},
timestamp = {2018年9月2日 星期日 15:01:56 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-1808-06226.bib},
bibsource = {dblp计算机科学文献库, https://dblp.org}
@inproceedings{sennrich-etal-2016-neural,
标题 = "使用子词单元进行稀有词的神经机器翻译",
作者 = "Sennrich, Rico 和
Haddow, Barry 和
Birch, Alexandra",
会议论文集 = "第54届计算语言学协会年会论文集(第1卷:长文)",
月份 = 8月,
年份 = "2016",
地点 = "德国柏林",
出版社 = "计算语言学协会",
网址 = "https://aclanthology.org/P16-1162",
doi = "10.18653/v1/P16-1162",
页码 = "1715--1725",
}