大语言模型(Large Language Model,LLM)入门学习路线涵盖了基础知识、前沿算法与架构以及工程化实践三个方面。这份资料旨在帮助初学者或有一定基础的开发/算法人员系统性地掌握大型语言模型的相关技术。
1. 大语言模型基础
本部分包括数学基础知识、Python 编程基础、神经网络原理和自然语言处理(NLP)四个方面的学习。
1.1 机器学习的数学
- 线性代数:理解算法的关键。主要概念包括向量、矩阵、行列式、特征值和特征向量、向量空间和线性变换。在 LLM 中,权重矩阵的运算构成了神经网络的核心。
- 微积分:许多机器学习算法涉及连续函数的优化,这需要理解导数、积分、极限和级数。多变量微积分和梯度的概念对于反向传播算法至关重要。
- 概率与统计:对于理解模型如何从数据中学习同样重要。主要概念包括概率论、随机变量、概率分布、期望、方差、协方差、相关性、假设检验、置信区间、最大似然估计和贝叶斯推断。
1.2 机器学习的 Python
Python 一直是机器学习和深度学习的首选语言,这得益于其可读性、一致性和鲁棒的数据科学库生态系统。
- Python 基础:理解基本语法、数据类型、错误处理和面向对象编程。
- 数据科学库:包括熟悉 NumPy 进行数值操作,Pandas 进行数据操作和分析,Matplotlib 和 Seaborn 进行数据可视化。
- 数据预处理:涉及特征缩放和规范化、处理缺失数据、异常值检测、分类数据编码以及将数据分割成训练、验证和测试集。
- 机器学习库:熟练掌握 Scikit-learn,这是一个提供了许多监督和非监督学习算法的库。重点需要了解如何实现线性回归、逻辑回归、决策树、随机森林、最近邻 (K-NN) 和 K 均值聚类等算法。
1.3 神经网络
- 基础知识:这包括理解神经网络的结构,如层、权重、偏置和激活函数(sigmoid、tanh、ReLU 等)。激活函数引入非线性,使网络能够拟合复杂函数。
- 训练和优化:熟悉反向传播和不同类型的损失函数,如均方误差(MSE)和交叉熵。理解各种优化算法,如梯度下降、随机梯度下降、RMSprop 和 Adam。
- 过拟合:理解过拟合的概念(模型在训练数据上表现良好但在未见数据上表现差)并学习各种正则化技术(dropout、L1/L2 正则化、早停、数据增强)以防止它。
- 实现多层感知器(MLP):使用 PyTorch 构建一个 MLP,也称为全连接网络,这是理解更深层次网络的基础。
1.4 自然语言处理(NLP)
NLP 在许多应用中扮演着关键角色,如翻译、情感分析、聊天机器人等。
- 文本预处理:学习各种文本预处理步骤,如分词(将文本分割成单词或句子)、词干提取(将单词还原为其根形式)、词形还原(类似于词干提取但考虑上下文)、停用词去除等。
- 特征提取技术:熟悉将文本数据转换为机器学习算法能理解的格式的技术。关键方法包括词袋模型(BoW)、词频 - 逆文档频率(TF-IDF)和 n-gram。
- 词嵌入:词嵌入是一种单词表示,允许具有相似含义的单词具有相似的表示。关键方法包括 Word2Vec、GloVe 和 FastText。
- 循环神经网络(RNNs):理解 RNNs 的工作原理,这是一种为序列数据设计的神经网络类型。探索 LSTMs 和 GRUs,两种 RNN 变体,它们能够学习长期依赖关系。
2. 大语言模型前沿算法和框架
2.1 大语言模型(LLM)架构
需要清楚地了解模型的输入(token)和输出(logits),而原始的注意力机制(attention mechanism)是另一个必须掌握的关键部分,因为它是很多改进算法的基础。
- 高层视角:编码器 encoder-解码器 decoder 的 Transformer 架构,特别是仅有解码器的 GPT 架构,几乎所有流行 LLM 都应用了该架构。
- 令牌化(Tokenization):如何将原始文本数据转换成模型能理解的格式,这包括将文本拆分成 Token(通常是单词或子词)。不同的 tokenizer 会影响模型的上下文窗口大小。


