教程:从机器学习基础到大模型原理
一、机器学习基础
1. 监督学习(Supervised Learning)
- 定义: 给定输入数据(X)和对应的正确答案(标签,Y),模型通过学习找到从X到Y的映射关系。
- 例子: 房价预测(输入房屋面积、位置,输出价格)、垃圾邮件分类(输入邮件内容,输出是否垃圾邮件)。
- 关键算法: 线性回归、逻辑回归、支持向量机(SVM)、神经网络。
- 与大模型相关: 大模型(如GPT)在微调阶段常使用监督学习,用标注数据调整输出。
2. 无监督学习(Unsupervised Learning)
- 定义: 没有标签,只有输入数据(X),模型自己发现数据的结构或模式。
- 例子: 客户分群(根据购物习惯分组)、降维(如PCA)。
- 关键算法: K均值聚类、主成分分析(PCA)、自编码器(Autoencoder)。
- 与大模型相关: 预训练阶段(如BERT的掩码语言模型)类似于无监督学习,利用未标注语料学习语言模式。
3. 强化学习(Reinforcement Learning)
- 定义: 智能体通过与环境交互,基于奖励(Reward)学习最优策略。
- 例子: 游戏AI(如AlphaGo)、机器人控制。
- 关键概念: 状态(State)、动作(Action)、奖励函数、Q学习。
- 与大模型相关: 强化学习从人类反馈(RLHF)被用于优化大模型(如ChatGPT),让输出更符合人类偏好。
4. 深度学习基础
- 神经网络(Neural Network): 模拟人脑神经元,包含输入层、隐藏层、输出层,通过权重和偏置计算输出。
- 梯度下降(Gradient Descent): 通过迭代调整参数,最小化损失函数(预测值与真实值的差距)。
- 反向传播(Backpropagation): 计算损失对每个参数的梯度,反向更新权重,是神经网络训练的核心。
- 与大模型相关: 大模型(如Transformer)是深度神经网络的复杂形式,依赖梯度下降和反向传播优化亿级参数。
二、自然语言处理(NLP)
- 背景: Transformer是现代大模型(如BERT、GPT)的基石,2017年提出,取代了RNN(循环神经网络)。
- 核心组成:
- 注意力机制(Attention): 计算输入中每个词与其他词的相关性,决定关注哪些部分。例如,“我喜欢吃苹果”中,“吃”和“苹果”关系更紧密。
- 自注意力(Self-Attention): 让模型自己决定每个词的权重,不依赖外部信息。
- 多头注意力(Multi-Head Attention): 并行计算多种注意力模式,捕捉不同语义。
- 位置编码(Positional Encoding): 因为Transformer没有时间顺序概念,添加位置信息让模型理解词序。
- 优点: 并行计算能力强,适合处理长序列,奠定了大模型基础。
2. 经典模型
- BERT(双向编码器): 通过双向上下文理解句子,常用于分类、问答。
- GPT(生成式预训练): 单向生成文本,擅长对话、文本续写。
三、大模型原理
1. 预训练与微调
- 预训练(Pre-training): 在海量未标注数据上训练模型,学习通用语言知识。例如,预测句子中的遮盖词(BERT)或下一个词(GPT)。
- 微调(Fine-tuning): 用少量标注数据调整模型,适配具体任务(如情感分析)。
- 意义: 预训练让模型有“常识”,微调让它“专业化”。
2. 上下文窗口(Context Window)
- 定义: 模型一次能处理的文本长度(以词或token计)。
- 影响: 窗口小(如512个token)可能截断长文本,窗口大(如128k token)能记住更多上下文,但计算成本高。
- 例子: GPT-3窗口约2048 token,后续模型不断扩展。
3. 参数规模与性能
- 参数量: 大模型(如GPT-3有1750亿参数)通过增加参数捕捉更复杂的语言模式。
- 规律: 参数越多,性能越好,但收益递减,且需要更多计算资源。
4. 优化技术
- LoRA(Low-Rank Adaptation): 只微调部分参数,节省资源。
- 量化(Quantization): 将参数从32位浮点数压缩到8位整数,降低内存需求。
四、数据处理
1. 数据清洗
- 目的: 去除噪声(如拼写错误、无意义符号),提高数据质量。
- 方法: 删除重复项、正则表达式去除特殊字符、标准化大小写。
2. 分词(Tokenization)
- 定义: 将文本拆成最小单位(如词、子词)。
- 方法:
- 英文:空格分词。
- 中文:结巴分词。
- 子词分词(如BPE):将“playing”拆成“play”和“ing”,适合多语言。
- 与大模型相关: Transformer用token作为输入,token质量影响模型理解。
3. 数据集构建
- 来源: 网页爬取、公开数据集(如Wikipedia)、用户生成内容。
- 步骤: 收集原始数据 -> 清洗 -> 分词 -> 标注(监督学习需要)。
4. 标注方法
- 手动标注: 人类标注情感、意图等,质量高但成本高。
- 半监督: 用少量标注数据训练模型,再自动标注更多数据。
- 弱监督: 用规则或启发式方法生成伪标签。
5. 处理大规模语料
- 挑战: 数据量大(如TB级文本),需要分布式存储和计算。
- 工具: Hadoop、Spark处理数据,PyTorch/TensorFlow训练模型。
总结
- 机器学习: 监督、无监督、强化学习是基础,深度学习是大模型核心。
- NLP: Transformer通过注意力机制革新了语言建模。
- 大模型: 预训练+微调、参数规模和优化技术是关键。
- 数据处理: 清洗、分词、构建高质量数据集至关重要。