LabML 神经网络 (labml_nn) 是深度学习研究论文的 PyTorch 注释实现集合,旨在使复杂的算法更易于访问和理解。该存储库提供清晰、具有教育意义的实现,并附带以并排格式化笔记形式呈现的详尽文档,而非优化后的生产代码。
该存储库涵盖了广泛的深度学习主题,包括 Transformer、扩散模型、GAN、强化学习算法、优化器和归一化技术。每个实现都严格遵循原始研究论文,并添加了解释性注释和文档。
有关安装和设置的信息,请参阅安装和设置。
labml_nn 存储库根据算法系列组织成模块。每个模块都包含实现文件、实验示例和文档。
存储库架构图
来源:labml_nn/__init__.py1-153 readme.md1-150
labml_nn 中的每个实现都遵循一致的结构
每个模块都设计为独立单元,允许用户独立理解和使用每个算法。
该存储库具有一个全面的文档系统,该系统将代码与注释以并排格式化笔记的形式呈现,并提供多种语言版本。
文档生成流程
来源:docs/sitemap.xml1-1388 docs/index.html1-221
Transformer 模块是该存储库中最大的组件,实现了原始的 Transformer 架构和众多变体。
Transformer 组件和变体
来源:labml_nn/transformers/__init__.py1-110 docs/transformers/index.html1-171
该存储库提供了各种生成模型的实现,包括 GAN 和基于扩散的模型。
生成模型层次结构
来源:labml_nn/__init__.py57-70 readme.md54-67
该存储库包括优化器、归一化技术和实验设置的实现。
| 类别 | 组件 | 关键文件 |
|---|---|---|
| 优化器 | Adam、AMSGrad、RAdam、AdaBelief、Noam | optimizers/adam.py、optimizers/amsgrad.py 等。 |
| 归一化 | BatchNorm、LayerNorm、GroupNorm、InstanceNorm | normalization/batch_norm/、normalization/layer_norm/ 等。 |
| 实验配置 | NLP 自回归、MNIST、CIFAR10 | experiments/nlp_autoregression.py、experiments/mnist.py 等。 |
来源:labml_nn/__init__.py107-123 readme.md104-120
该存储库实现了高效微调大型预训练模型的技术,重点在于参数高效方法。
微调方法
来源:labml_nn/__init__.py50 readme.md47
labml_nn 库的设计兼具教育性和实用性。用户可以
该存储库积极维护,定期添加新的实现。用户可以在 GitHub 或 Twitter 上关注项目以获取更新。
来源:setup.py1-44 readme.md145-149
该库主要依赖以下组件:
torch)torchtext)torchvision)labml) - 用于实验跟踪