datawhalechina/deep-learning-notes

Personal deep learning study notes and tutorial-style notebooks

这是什么

这是一系列学习笔记,从神经网络的基础一直讲到现代大型语言模型。作者开始写这些笔记是为了解决一个常见问题:深度学习资料分散在论文、博客、课程和代码中,很难将各个想法串联成一幅清晰的图景。这些笔记旨在将公式、代码和真实项目联系起来。

适合谁

适合自学深度学习的人,他们想要一条从基础到LLM规模主题的结构化路径,并配有可以实际运行的代码。

涵盖内容

主题领域 README中提到的具体内容
神经网络基础 网络基础、PyTorch、MLP、优化算法
经典模型 CNN、正则化、归一化、RNN、LSTM、GRU、Seq2Seq
注意力时代 注意力机制、Transformer、FlashAttention
从零构建LLM MiniGPT实现、分词、从零构建GPT-2
真实世界的LLM工程 大规模训练工程、数据处理、缩放定律、模型评估、后训练、推理
推理框架 vLLM和SGLang

如何构建和发布

  • 使用Quarto Markdown编写(一种基于Markdown的纯文本格式,适合版本控制),并渲染为静态网站。
  • 一个配套仓库(jshn9515/dnnl-notebooks)提供相同内容的Jupyter Notebook版本,并保持同步。你也可以在本地安装Quarto后,使用quarto convert file.qmd自行转换源文件。

环境和设置

  • 已在Python 3.14和PyTorch 2.14上测试。
  • 使用Transformers v5——README警告说这与v4有显著的API差异(例如分词器和量化),因此为v4编写的其他教程可能需要调整。
  • 需要一个名为**dnnlpy**的自定义辅助库,其中包含笔记中使用的自定义实现和工具。许多示例在没有它的情况下无法运行。通过以下方式安装:
uv pip install dnnlpy

或直接从仓库安装:

uv pip install "git+https://github.com/datawhalechina/deep-learning-notes.git#subdirectory=dnnlpy"

关于AI辅助的坦诚说明

作者声明使用了LLM来帮助起草文本,但每份草稿在发布前都经过作者的审查、修订和复核。他们承认笔记可能仍有遗漏或错误,并欢迎更正。

如何贡献

你可以通过Issues或Pull Requests进行贡献,指出错误、建议更清晰的解释或代码注释、提出结构改进或推荐新主题。对于较大的更改,作者要求你先打开一个Issue进行讨论。

影响

感谢《动手学深度学习》(张、利普顿、李、斯莫拉)和李宏毅教授的系列讲座作为主要影响。书籍封面设计灵感来自《理解深度学习》。

许可证

  • 笔记本身:CC BY-NC 4.0(非商业用途)。
  • dnnlpy库:MIT。

相关

  • 项目
  • 项目
  • 项目
  • 项目