1. 关键字
机器学习(ML)
从数据中自动获取知识的技术
神经网络(NN)
模仿生物神经网络结构和学习机制的模型,是机器学习的分支之一
神经网络的结构包括,输入层、隐藏层、输出层
深度神经网络(DNN)
隐含层常常大于 2 层
DNN 的出众表现源于它使用统计学方法从原始感官数据中提取高层特征。
循环神经网络(RNN)
DNN 的网络并无记忆,输出与之前网络的输入无关。 RNN 是有内在记忆的,允许长期依存关系影响输出。
RNN 的中间运算的状态值会被存储在网络中,被用于处理后续的输入运算。
代价函数(Cost Function)也称损失函数(Loss Function)
衡量神经网络在当前参数下的训练或预测误差的函数。
模型训练的目标,训练时,需要通过梯度下降法不断减少损失函数的值,收敛到一个稳定值。
常见的损失函数有,均方误差、交叉熵、对数尖锐度等。
梯度下降法(Gradient Descent)
一种参数优化算法,按照梯度方向移动,就像山顶向山谷下降一样,最终达到某个局部最小值点。
缺陷时,可能存在收敛慢、陷入局部最小值点的缺点。
梯度可以理解为偏导数、变化率,沿着负梯度方向,函数减少得最快。
学习率(Learning rate)
控制梯度下降过程中,参数更新步长的超参数。
监督学习(Supervised learning)
在训练过程中,使用了带有标注的数据。
自监督学习(Self-supervised Learning)
在无标注的数据中自动生成标签,用于训练。
强化学习(Reinforcement learning)
在训练过程中,引入奖励机制,模拟人通过试错来进行学习的过程,感知环境状态,获得最大化积累的奖励。
迁移学习(Transfer Learning)
将源任务中学到的知识迁移到目标任务中,从而提高目标任务的学习效率。源任务的模型参数作为目标任务初始化的起点。
大模型(Large Model)
参数规模非常大的机器学习和深度学习模型,参数量级在百亿级。
小模型(Small Model)
参数规模量级小于一个亿级,模型大小小于 100MB、可以在单台设备上高效训练。
Self-Attention
让模型学习词元之间的相关性,是 Transformer 模型的核心机制。
实现对序列的并行建模。
Transformer
基于注意力机制的一种神经网络结构。
允许模型同时关注不同位置的信息。
相较于 RNN 在并行运算方面具有显著优势。
对齐
大模型训练数据有偏见,不能与人的理想的价值观保持一致
通过各种手段保障,模型输出的内容符合主流
RLHF(Recursive Human Feedback)
通过用户的反馈,改进大模型的对齐方式
微调(Fine-tuning)
借助其他任务训练的模型,在目标任务数据集上,通过微调将预训练模型转换为自定义模型
大模型量化
模型参数从浮点数转换为低位整数的技术。
通过损失精度,降低设备要求、提升速度。
全精度(32 位浮点数)- 半精度量化(16 位浮点数) - 8 位整数 - 4 位整数。
Embedding
将高维离散输入映射到低维稠密向量,提升模型效率。
通过词向量的距离表示词语之间的关系。
低维稠密向量
用比原始表示更少的维度来表示每个样本,样本之间的距离更能反映他们之间的关系。
词表扩充
避免未编码的词被设置为 [UNK],损失语义信息
batchSize
定义神经网络每次迭代需要向模型输入多少训练样本
越大消耗资源越多,速度越快;越小越不稳定,但省资源
样本数 = batchSize * 迭代次数
一般从 2 的幂数值开始试验,典型范围是 16 到 512 之间。
Preplexity
Preplexity 衡量的是给定测试样本,模型预测下一个词的不确定性或困惑度。
Preplexity 是语言模型的评价指标,越小越好。
2. 过程和步骤
2.1 神经网络的训练过程
- 初始化网络参数(权重和偏置)
- 在训练数据集上按照当前参数向前计算,得到损失函数
- 计算损失函数关于当前参数的梯度
- 根据梯度下降法,结合学习率,更新网络参数
- 重复 2~4 进行多轮迭代,更新参数
- 当损失函数值收敛或达到预设迭代次数时,结束训练
2.2 大模型的训练过程
训练一个大模型(Large Model)的主要过程包括:
- 数据准备,收集和整合海量训练数据
- 预训练,在大数据集上预训练模型,初始化模型的参数。目前主要通过自监督方式进行预训练。
- 模型构建,设计模型的网络结构,如 Transformer、ResNet 等结构。structure Affect Indicators。
- 分布式训练,在多 GPU 或多节点的分布式环境下进行训练,以提高速度。需要实现数据并行等技术。
- 超参数优化,调节 batchSize 、学习率等超参数,进行多轮训练以取得最佳结果。
- 模型压缩,使用知识蒸馏等方法压缩模型大小,以便实际部署。
- 精调并部署,在下游任务上使用精调,将预训练的通用模型转换为专用模型,然后部署服务。
2.3 设置学习率的过程
- 先选择一个较大的学习率作为起始值,例如 0.01
- 使用此其实学习率训练一段时间观察损失函数的变化
- 如果损失函数波动较大或者发散,则减小学习率,例如减小 10 倍至 0.001
- 找到一个能稳定减小损失函数的学习率,然后继续训练直至收敛
2.4 Self-Attention 的计算过程
- 将输入序列 X 转化为 Query(Q)、Key(K)和 Value(V)矩阵。
- 计算 Query 和 Key 的点积,然后除以缩放因子,得到注意力分数矩阵(Attention Score)。这里反映了每个词元相对位置的相关性。
- 对注意力分数矩阵做 softmax ,得到注意力权重(Attention Weight)。权重之和为 1。
- 将 V 和注意力权重相乘,即对 Value 进行加权求和,得到输出表示 Z。
- Z 作为此模块的输出,可以传递到下一层。
3. 疑问
3.1 各种神经网络的比较
网络类型 | 适用场景 | 前提条件 |
---|---|---|
卷积神经网络(CNN) | 图像处理、计算机视觉 | 网格数据如图像,需要转换卷积操作 |
循环神经网络(RNN) | 语音识别、文本分析 | 序列数据,需要处理时间依赖关系 |
深度信念网络(DBN) | 降维、特征学习 | 高维稠密数据,需要层层抽象表达 |
自动编码器(AE) | 降维、去噪 | 高维数据,需要压缩表示 |
生成对抗网络(GAN) | 生成模型、模拟样本 | 需要训练判别器与生成器模型对抗 |
迁移学习(TL) | 跨领域、跨任务 | 源任务与目标任务有一定相关性 |
强化学习(RL) | 智能体决策、控制 | 需要设计奖惩机制,探索环境 |
图神经网络(GNN) | 图结构数据,网络分析 | 关系数据可表示为图,需要在图上进行推理 |
3.2 Transformer 与传统神经网络比较
对比项 | Transformer | 传统神经网络 |
---|---|---|
网络结构 | 仅基于注意力机制的编码器-解码器 | 卷积层、全连接层等 |
主要组成单元 | 多头自注意力模块 | 卷积核、神经元 |
并行计算 | 高度并行 | CNN 有一定并行度 |
训练速度 | 快 | RNN 训练较慢 |
计算复杂度 | 高 | CNN 和 DNN 中等 |
对长序列建模 | 效果好,远距离依赖 | RNN 效果较差 |
对网格数据学习 | 需设计,不如 CNN | CNN 效果好 |
提取特征 | 内部注意力学习 | 需要人工特征工程 |
模型大小 | 大 | DNN 大小中等 |
典型应用 | NLP | 计算机视觉 |
3.3 如何估算训练大模型所需的 GPU 显存
计算公式 GPU_mem = params * dtype + (embed_size * batch_size + ratio * (params + embed_size * batch_size))
其中:
- params 模型参数量
- dtype 数据类型精度(FP32 或 FP16 等)
- embed_size 输入序列 embedding 大小
- batch_size batch 大小
- ratio 额外开销比例(1.2~2 之间)
下面是一些典型模型的显存需求估算:
模型 | 参数量 | 精度 | 序列长度 | Batch Size | Embedding 大小 | 额外开销比 | 估算显存 |
---|---|---|---|---|---|---|---|
BERT-Base | 110M | FP32 | 512 | 256 | 768 | 1.5 | 33.6 GB |
GPT-2 中型 | 770M | FP16 | 1024 | 64 | 1024 | 1.2 | 15.5 GB |
GPT-3 175B | 175000M | 混合精度 | 2048 | 2 | 12*1024 | 2 | 2185 GB |
3.4 数据挖掘、数据建模和大模型之间的区别
对比点 | 数据挖掘 | 数据建模 | 大模型 |
---|---|---|---|
目标 | 发现隐藏规律 | 建立预测模型 | 探索通用知识 |
方法 | 无监督学习 | 监督学习 | 语言模型预训练 |
数据来源 | 完整原始数据 | 结构化数据集 | 大规模通用数据集 |
过程 | 探索性分析 | 说明性分析 | 自主学习 |
算法 | 聚类、关联规则等 | 回归、决策树等 | Transformer、Attention 等 |
应用范围 | 多领域 | 特定业务 | 通用 AI |
评估 | 发现新的模式 | 模型准确率 | 推理和理解能力 |
需求 | 数据分析师 | 模型工程师 | AI 研究者 |
典型模型 | Apriori | Logistic 回归 | GPT-3 |
总结:
数据挖掘偏重探索;数据建模偏重预测;大模型综合两者之长,既可探索知识,又可进行预测与推理。三者可以有效结合,发挥各自优势。