跳转至

附录B:参考文献

本附录整理了AI系统学习过程中推荐的参考文献和学习资源,包括经典书籍、在线课程、重要论文、技术文档和开源项目。按照不同主题分类组织,便于读者系统性地深入学习。


B.1 经典书籍

B.1.1 深度学习与机器学习基础

[1] 《深度学习》- Ian Goodfellow, Yoshua Bengio, Aaron Courville

这是一本全面介绍深度学习的经典教材,被称为"花书"。全书分为三部分:应用数学与机器学习基础、现代的深度学习技术、深度学习研究。涵盖了机器学习基础、深度网络实践、线性因子编码、自编码器、表示学习、蒙特卡洛方法、结构化概率模型、深层生成模型等核心内容。此书适合作为深度学习的入门教材和长期参考书。

推荐理由:内容全面、理论严谨、覆盖范围广,是深度学习领域的标准教材。

[2] 《动手学深度学习》- 李沐等

本书以亚马逊工程师视角编写,通过Jupyter笔记本和PyTorch实现深入浅出地讲解深度学习。内容涵盖从基础的多层感知机到现代的卷积神经网络、循环神经网络、注意力机制,以及优化算法和计算性能优化。配套视频课程和代码实践,是中文深度学习入门的优秀资源。

推荐理由:理论与实践结合,代码可运行,中文友好,适合快速入门。

[3] 《机器学习》- 周志华

被称为"西瓜书",是国内机器学习领域的经典教材。以西瓜的挑选为比喻,系统介绍了机器学习的基本概念和主流算法,包括决策树、神经网络、支持向量机、贝叶斯分类器、集成学习、聚类、降维、规则学习等。适合作为机器学习理论的系统学习资料。

推荐理由:中文机器学习经典,讲解清晰,配套南瓜书详解。

[4] 《Pattern Recognition and Machine Learning》- Christopher Bishop

机器学习和模式识别的权威教材,侧重于贝叶斯方法。内容涵盖概率分布、线性回归、线性分类、神经网络、核方法、稀疏核机器、高斯过程、概率图模型、采样方法等。数学推导详尽,适合深入理解机器学习的理论基础。

推荐理由:贝叶斯视角独特,数学严谨,适合研究生级别学习。

B.1.2 计算机体系结构

[5] 《计算机体系结构:量化研究方法》- John L. Hennessy, David A. Patterson

计算机体系结构领域的圣经级教材,已更新至第六版。系统介绍了计算机体系结构的设计原则、性能评估方法、指令集设计、流水线技术、存储器层次结构、并行处理器等。强调量化分析方法和实验评估,是体系结构研究的必备参考。

推荐理由:体系结构必读经典,侧重量化分析方法和实际性能评估。

[6] 《计算机组成与设计:硬件/软件接口》- David A. Patterson, John L. Hennessy

以RISC-V指令集为案例的系统介绍计算机组成的教材。内容包括指令集、算术运算、流水线、存储层次结构、并行处理器等。强调硬件与软件的接口关系,适合理解计算机系统底层原理。

推荐理由:以RISC-V为例,硬件软件接口清晰,适合入门学习。

[7] 《Modern Processor Design》- John Shen, Michel M. Guttag

专门介绍现代处理器设计原理的教材,内容涵盖指令集并行、流水线、超标量处理器、线程级并行等。适合有基础的同学深入理解处理器微架构。

推荐理由:处理器设计专业教材,内容深入但不失可读性。

B.1.3 编译器原理

[8] 《编译原理》- Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman

即"龙书",编译器领域的经典教材。系统介绍了编译器的各个阶段:词法分析、语法分析、语义分析、运行时环境、中间代码生成、代码生成、代码优化等。是编译技术学习和研究的必备参考。

推荐理由:编译器领域权威教材,内容全面系统,适合系统学习。

[9] 《Engineering a Compiler》- Keith Cooper, Linda Torczon

另一本重要的编译器教材,强调实践和工程实现。内容包括词法分析、语法分析、语义分析、运行时环境、中间表示、目标代码生成、指令调度、寄存器分配等。相较于龙书更加注重编译器工程实践。

推荐理由:编译器工程实践导向,内容现代,代码示例丰富。

[10] 《LLVM Algorithms》- Abram D. Stern

专门介绍LLVM核心算法实现的书籍,深入解析LLVM代码库的算法设计。内容包括LLVM的核心数据结构、Pass管理、分析 passes、转换 passes等。适合想要深入理解LLVM实现或参与LLVM开发的读者。

推荐理由:LLVM实现细节揭秘,适合LLVM开发者和编译器研究人员。

B.1.4 并行计算与高性能计算

[11] 《并行程序设计原理》- Maurice Herlihy, Nir Shavit

系统介绍并行编程原理的教材,基于多核处理器和分布式系统的并发与同步机制。内容包括并发对象、并发空间、时间与顺序、原子操作、锁、无锁算法、事务内存等。适合深入理解并行计算的理论基础。

推荐理由:并行编程理论经典,讲解并发与同步机制深入浅出。

[12] 《Introduction to High Performance Computing for Scientists and Engineers》- Georg Hager, Gerhard Wellein

面向科学工程应用的高性能计算入门书。内容包括现代处理器架构、内存层次结构、并行编程模型(MPI、OpenMP)、性能分析工具、优化策略等。强调实际性能优化和问题诊断。

推荐理由:HPC实践导向,适合科学计算背景的读者学习。


B.2 在线课程

B.2.1 深度学习与机器学习

[1] Stanford CS231n: Convolutional Neural Networks for Visual Recognition

斯坦福大学计算机视觉课程,由李飞飞教授主讲。内容包括图像分类、目标检测、图像分割等视觉任务背后的深度学习模型。课程配套详尽的lecture notes、作业和项目,是计算机视觉入门的最佳课程之一。

链接:http://cs231n.stanford.edu/

推荐理由:计算机视觉必学课程,理论结合实践,资源丰富。

[2] Stanford CS224n: Natural Language Processing with Deep Learning

斯坦福大学自然语言处理课程,由Christopher Manning教授主讲。内容包括词向量、循环神经网络、Transformer、注意力机制、大语言模型等NLP核心技术。课程提供完整的 lecture videos、slides和 assignments。

链接:http://cs224n.stanford.edu/

推荐理由:NLP入门与进阶必学课程,讲解系统深入。

[3] DeepLearning.AI Specialization - Andrew Ng

吴恩达创办的深度学习专项课程,包含神经网络基础、改善神经网络、机器学习策略、卷积神经网络、序列模型五门课程。内容循序渐进,配有大量练习和编程作业,适合零基础入门。

链接:https://www.coursera.org/specializations/deep-learning

推荐理由:入门首选,循序渐进,配套完善。

[4] Fast.ai: Practical Deep Learning for Coders

由Jeremy Howard创办的实践导向深度学习课程。强调"自上而下"的学习方式,先让学习者看到实际效果再深入原理。课程涵盖计算机视觉、自然语言处理、推荐系统等应用,以及 fastai 库的使用。

链接:https://www.fast.ai/

推荐理由:实践导向,入门快速,适合想快速应用深度学习的开发者。

B.2.2 体系结构与编译器

[5] Stanford CS149: Parallel Computing

斯坦福大学并行计算课程。内容包括现代并行硬件(多核CPU、GPU)、并行编程模型(CUDA、OpenMP)、并行算法设计、性能分析等。强调从体系结构角度理解并行计算。

链接:https://cs149.stanford.edu/

推荐理由:并行计算系统学习,理论与实践结合。

[6] MIT 6.004: Computation Structures

MIT计算机体系结构入门课程。内容包括数字电路、组合逻辑、时序逻辑、指令集架构、流水线、缓存在内存、虚拟内存等。适合作为体系结构的基础学习。

链接:https://ocw.mit.edu/6.004

推荐理由:体系结构基础,概念清晰,配套完善。

[7] LLVM Tutorial

官方的LLVM编译器框架教程,通过一系列小例子教授如何使用LLVM开发编译器。内容包括词法分析、语法分析、AST构建、中间表示、代码生成、优化等。

链接:https://llvm.org/docs/tutorial/

推荐理由:LLVM入门必读,官方教程,循序渐进。

B.2.3 AI系统专项

[8] UCLA CS260: Large-Scale Machine Learning

加州大学洛杉矶分校的大规模机器学习课程。内容包括分布式机器学习、参数服务器、数据并行、模型并行、混合并行等。适合有一定基础后深入学习分布式训练。

推荐理由:分布式ML系统学习,专注大规模场景。

[9] University of Washington CSE599W: System for ML

华盛顿大学的机器学习系统课程。内容涵盖推理系统、模型服务、硬件加速、编译器优化等。课程PDF和 lecture notes公开可下载。

链接:http://dlsys.cs.washington.edu/

推荐理由:ML系统完整视角,内容前沿,资料公开。


B.3 重要论文

B.3.1 深度学习基础

[1] "Attention Is All You Need" - Vaswani et al., 2017

Transformer架构的奠基论文。提出了完全基于注意力机制的网络架构,摒弃了传统的卷积和循环结构。Transformer成为大语言模型和现代AI的基础架构,是AI领域最重要的论文之一。

推荐理由:现代AI的基石,必读论文。

[2] "ImageNet Classification with Deep Convolutional Neural Networks" - Krizhevsky et al., 2012

AlexNet论文,深度学习复兴的开端。展示了深度卷积神经网络在大规模图像分类任务上的巨大潜力,引发了深度学习在计算机视觉领域的革命。

推荐理由:深度学习复兴标志,CNN经典。

[3] "Very Deep Convolutional Networks for Large-Scale Image Recognition" - Simonyan and Zisserman, 2014

VGGNet论文,通过更深的网络证明网络深度对性能的重要性。采用3x3小卷积核堆叠的设计原则影响深远。

推荐理由:网络深度重要性的经典证明。

[4] "Deep Residual Learning for Image Recognition" - He et al., 2016

ResNet论文,提出了残差连接解决了深层网络训练困难的问题。残差连接成为现代深度学习模型的标准组件。

推荐理由:残差学习必读,解决深度网络训练问题。

[5] "Batch Normalization: Accelerating Deep Network Training" - Ioffe and Szegedy, 2015

Batch Normalization论文,提出了在每个batch上对数据进行归一化的技术,大幅加速深度网络的训练。

推荐理由:深度学习训练的重要技术,必读。

[6] "Dropout: A Simple Way to Prevent Neural Networks from Overfitting" - Srivastava et al., 2014

Dropout论文,提出了防止过拟合的简单有效技术。通过在训练时随机丢弃神经元来减少过拟合。

推荐理由:正则化经典,简单有效。

B.3.2 语言模型与大模型

[7] "BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding" - Devlin et al., 2018

BERT论文,提出了基于Transformer的双向预训练语言模型,在多项NLP任务上取得了突破性成绩。

推荐理由:BERT开启预训练语言模型时代。

[8] "GPT-3: Language Models are Few-Shot Learners" - Brown et al., 2020

GPT-3论文,展示了超大参数语言模型的涌现能力。1750亿参数的模型展示出惊人的泛化能力。

推荐理由:大语言模型里程碑,涌现能力展示。

[9] "Language Models are Unsupervised Multitask Learners" - Radford et al., 2019

GPT-2论文,证明了语言模型可以通过无监督学习获得多任务能力。

推荐理由:GPT系列开端,zero-shot学习展示。

[10] "Scaling Laws for Neural Language Models" - Kaplan et al., 2020

OpenAI关于缩放定律的论文,发现了模型性能随参数、数据、计算量变化的幂律关系。

推荐理由:理解大模型Scaling的基础论文。

B.3.3 模型优化与压缩

[11] "Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding" - Han et al., 2015

模型压缩的经典论文,提出了剪枝、量化和霍夫曼编码结合的深度压缩方法。

推荐理由:模型压缩必读,经典三步法。

[12] "Learning both Weights and Connections for Efficient Neural Networks" - Han et al., 2015

Lottery Ticket Hypothesis的前身工作,证明了网络剪枝的有效性。

推荐理由:剪枝必读,实验详尽。

[13] "Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference" - Jacob et al., 2018

Google提出的训练后量化方法,也是TensorRT量化算法的理论基础。

推荐理由:工业级量化方法,实际应用广泛。

[14] "Distilling the Knowledge in a Neural Network" - Hinton et al., 2015

知识蒸馏的开山之作,提出了通过教师-学生网络进行知识迁移的方法。

推荐理由:知识蒸馏必读,经典框架。

B.3.4 AI编译器与系统

[15] "TVM: An Automated End-to-End Optimizing Compiler for Deep Learning" - Chen et al., 2018

TVM论文,提出了端到端的深度学习编译器框架,支持多种硬件后端自动优化。

推荐理由:AI编译器必读,工业级应用广泛。

[16] "XLA: Compiling Machine Learning for Performance and Portability" - TensorFlow团队

XLA编译器的设计论文,介绍了TensorFlow的编译器优化方法。

推荐理由:了解XLA架构必读。

[17] "Glow: Graph-Lowering Intermediate Representation" - Rotem et al., 2018

Glow编译器的论文,介绍了PyTorch的编译器架构设计。

推荐理由:Glow设计必读,PyTorch 2.0基础。

[18] "The LLVM Compiler Infrastructure" - Lattner and Adve, 2004

LLVM的原始论文,介绍了LLVM编译框架的设计和架构。

推荐理由:编译器基础设施必读,LLVM基础论文。

B.3.5 硬件加速

[19] "In-Datacenter Performance Analysis of a Tensor Processing Unit" - Jouppi et al., 2017

Google TPU论文,首次公开了TPU的设计和性能分析。

推荐理由:AI专用硬件必读,Google官方资料。

[20] "DianNao: A Small-Footprint High-Throughput Accelerator for Ubiquitous Machine-Learning" - Chen et al., 2014

寒武纪DianNao论文,神经网络加速器的开创性工作。

推荐理由:NPU设计经典,影响深远。


B.4 技术文档

B.4.1 深度学习框架

[1] PyTorch Documentation

PyTorch官方文档,提供完整的API参考、教程和指南。涵盖张量操作、自动微分、神经网络模块、优化器、数据加载等核心功能。是PyTorch开发的首选参考。

链接:https://pytorch.org/docs/

[2] TensorFlow Documentation

TensorFlow官方文档,包含TensorFlow 2.x的完整指南。涵盖 Keras API、数据管道、模型训练、部署等。是TensorFlow开发的首选参考。

链接:https://www.tensorflow.org/

[3] JAX Documentation

Google的JAX框架文档,介绍函数式编程风格的自动微分和XLA编译。适合对函数式编程和高级优化感兴趣的开发者。

链接:https://jax.readthedocs.io/

B.4.2 推理引擎与部署

[4] NVIDIA TensorRT Documentation

TensorRT官方文档,详细介绍推理优化和部署的方法。涵盖模型转换、精度校准、优化配置、推理API等。

链接:https://docs.nvidia.com/deeplearning/tensorrt/

[5] ONNX Documentation

ONNX官方文档,介绍模型交换格式的定义和使用方法。

链接:https://onnxruntime.ai/docs/

[6] NVIDIA Triton Inference Server Documentation

Triton推理服务框架文档,介绍模型服务化部署、动态批处理、模型管理等功能。

链接:https://docs.nvidia.com/deeplearning/triton-inference-server/

B.4.3 编译器与工具链

[7] LLVM Documentation

LLVM官方文档,提供LLVM工具链的完整参考。包括Clang C/C++编译器、LLVM IR文档、Pass开发指南等。

链接:https://llvm.org/docs/

[8] TVM Documentation

Apache TVM官方文档,介绍深度学习编译优化的使用方法。涵盖Relay IR、AutoTVM、Tensor Expression等模块。

链接:https://tvm.apache.org/docs/

[9] CUDA Documentation

NVIDIA CUDA官方文档,涵盖CUDA编程模型、内存管理、并行算法、性能优化等。

链接:https://docs.nvidia.com/cuda/

[10] ROCm Documentation

AMD ROCm官方文档,介绍GPU计算平台和工具链。

链接:https://rocm.docs.amd.com/

B.4.4 硬件架构

[11] NVIDIA CUDA Programming Guide

CUDA编程指南,详细介绍GPU并行编程的模型和实践。

链接:https://docs.nvidia.com/cuda/cuda-c-programming-guide/

[12] Intel Architecture Optimization Manual

Intel x86架构优化手册,包含处理器微架构细节和优化指南。

链接:https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html


B.5 开源项目

B.5.1 深度学习框架

[1] PyTorch

Facebook开发的深度学习框架,以动态计算图和Python优先设计著称。是目前最流行的研究框架之一,拥有庞大的社区生态。

链接:https://github.com/pytorch/pytorch

[2] TensorFlow

Google开发的深度学习框架,2.x版本融合了Keras,提供静态和动态两种计算图模式。是工业界应用最广泛的框架。

链接:https://github.com/tensorflow/tensorflow

[3] JAX

Google开发的函数式深度学习框架,结合了自动微分和XLA编译。支持纯函数式编程和即时编译执行。

链接:https://github.com/google/jax

[4] MindSpore

华为开发的深度学习框架,支持端云协同的统一设计和自动并行。国产框架的重要代表。

链接:https://github.com/mindspore-ai/mindspore

[5] PaddlePaddle

百度开发的深度学习框架,中文文档友好,拥有丰富的产业级模型库。

链接:https://github.com/PaddlePaddle/Paddle

B.5.2 AI编译器

[6] Apache TVM

端到端的深度学习编译器,支持从高层模型到底层硬件的自动优化。是目前最活跃的开源AI编译器项目。

链接:https://github.com/apache/tvm

[7] MLIR

LLVM旗下的多级中间表示框架,提供可扩展的编译器基础设施。支持构建领域特定编译器。

链接:https://github.com/llvm/llvm-project

[8] ONNX

开放神经网络交换格式,支持不同框架间的模型互操作。是模型转换和部署的重要中间格式。

链接:https://github.com/onnx/onnx

B.5.3 推理引擎

[9] TensorRT

NVIDIA的高性能推理引擎,提供模型优化和运行时加速。支持多种精度推理优化。

链接:https://developer.nvidia.com/tensorrt

[10] OpenVINO

Intel的推理部署工具套件,支持Intel硬件上的模型优化和加速。

链接:https://github.com/openvinotoolkit/openvino

[11] NVIDIA Triton Inference Server

开源的推理服务框架,支持多模型管理和动态批处理。

链接:https://github.com/triton-inference-server/server

[12] NCNN

腾讯开源的端侧推理引擎,针对移动端优化,支持多平台。

链接:https://github.com/Tencent/ncnn

B.5.4 模型压缩工具

[13] Intel Neural Compressor

Intel的模型压缩工具,支持量化、剪枝、知识蒸馏等多种压缩方法。

链接:https://github.com/intel/neural-compressor

[14] AMD MIGraphX

AMD的模型优化和推理工具,支持GPU上的高效推理。

链接:https://github.com/ROCm/AMDMIGraphX

B.5.5 分布式训练

[15] DeepSpeed

Microsoft的深度学习优化库,专注于大模型分布式训练加速。支持 ZeRO优化、混合精度、梯度检查点等。

链接:https://github.com/microsoft/DeepSpeed

[16] Megatron-LM

NVIDIA的大规模Transformer训练框架,支持模型并行和混合并行。

链接:https://github.com/NVIDIA/Megatron-LM

[17] Horovod

Uber开源的分布式训练框架,支持TensorFlow、PyTorch等多种框架。

链接:https://github.com/horovod/horovod


B.6 学习资源

B.6.1 博客与专栏

[1] Lil'Log - Lilian Weng

OpenAI研究员的博客,内容涵盖深度学习、机器学习系统、安全等。文章深入浅出,配有详尽的图解。

链接:https://lilianweng.github.io/

[2] Towards Data Science - Medium

数据科学和机器学习的中文博客平台,收录大量优质技术文章。

链接:https://towardsdatascience.com/

[3] The Gradient - Medium

AI和深度学习领域的高质量博客,由学者和工程师撰写。

链接:https://thegradient.pub/

[4] 知乎 AI 话题

中文AI领域高质量问答和文章平台,包含众多专业人士分享。

链接:https://www.zhihu.com/topic/Artificial-Intelligence

B.6.2 视频课程

[1] 3Blue1Brown 深度学习系列

用动画直观展示神经网络和深度学习概念,B站有官方中文配音版本。

链接:https://space.bilibili.com/88461692

[2] 李沐 深度学习课程

亚马逊工程师李沐的中文深度学习课程,配合作者书籍《动手学深度学习》。

链接:https://space.bilibili.com/1567748478

[3] Two Minute Papers

每期两分钟介绍AI最新论文,涵盖前沿研究动态。

链接:https://www.youtube.com/@TwoMinutePapers

B.6.3 社区与论坛

[1] Papers with Code

结合论文和代码的学术平台,可以找到最新论文的实现代码。

链接:https://paperswithcode.com/

[2] Stack Overflow

程序员问答社区,可以找到大量技术问题的解答。

链接:https://stackoverflow.com/

[3] Reddit Machine Learning

机器学习社区,讨论前沿研究和应用实践。

链接:https://www.reddit.com/r/MachineLearning/

[4] GitHub

全球最大的开源代码托管平台,可以找到大量AI相关项目。

链接:https://github.com/


B.7 进阶阅读建议

B.7.1 学习路径建议

初学者建议按照以下路径学习:

  1. 机器学习基础:先掌握机器学习基本概念和算法
  2. 深度学习理论:学习深度学习的核心概念和经典网络
  3. 深度学习框架:选择一个主流框架(PyTorch或TensorFlow)进行实践
  4. 计算机体系结构:了解GPU、CPU架构和并行计算基础
  5. AI编译器原理:学习传统编译器和AI编译器知识
  6. 推理系统与优化:深入了解模型部署和优化技术
  7. 分布式训练:学习大规模训练的并行策略

B.7.2 专题深入建议

根据不同方向,建议深入阅读:

  • 系统方向:重点学习计算机体系结构、并行计算、编译器技术
  • 算法方向:重点学习优化理论、新型网络结构、模型压缩方法
  • 部署方向:重点学习推理引擎、模型优化、硬件加速
  • 大模型方向:重点学习分布式训练、并行策略、推理优化

B.7.3 论文阅读建议

建议从以下方式获取最新论文:

  • arXiv:cs.LG、cs.CL、cs.CV分类下的最新论文
  • Google Scholar:设置关键词提醒追踪最新研究
  • Papers with Code:按任务和benchmark组织论文
  • Conference proceedings:NeurIPS、ICML、CVPR、ACL等顶会论文集

本参考文献列表将持续更新,欢迎读者推荐优质资源共同完善。