Please enable Javascript to view the contents

AI 基础知识点

 ·  ☕ 6 分钟

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 神经网络的训练过程

  1. 初始化网络参数(权重和偏置)
  2. 在训练数据集上按照当前参数向前计算,得到损失函数
  3. 计算损失函数关于当前参数的梯度
  4. 根据梯度下降法,结合学习率,更新网络参数
  5. 重复 2~4 进行多轮迭代,更新参数
  6. 当损失函数值收敛或达到预设迭代次数时,结束训练

2.2 大模型的训练过程

训练一个大模型(Large Model)的主要过程包括:

  1. 数据准备,收集和整合海量训练数据
  2. 预训练,在大数据集上预训练模型,初始化模型的参数。目前主要通过自监督方式进行预训练。
  3. 模型构建,设计模型的网络结构,如 Transformer、ResNet 等结构。structure Affect Indicators。
  4. 分布式训练,在多 GPU 或多节点的分布式环境下进行训练,以提高速度。需要实现数据并行等技术。
  5. 超参数优化,调节 batchSize 、学习率等超参数,进行多轮训练以取得最佳结果。
  6. 模型压缩,使用知识蒸馏等方法压缩模型大小,以便实际部署。
  7. 精调并部署,在下游任务上使用精调,将预训练的通用模型转换为专用模型,然后部署服务。

2.3 设置学习率的过程

  1. 先选择一个较大的学习率作为起始值,例如 0.01
  2. 使用此其实学习率训练一段时间观察损失函数的变化
  3. 如果损失函数波动较大或者发散,则减小学习率,例如减小 10 倍至 0.001
  4. 找到一个能稳定减小损失函数的学习率,然后继续训练直至收敛

2.4 Self-Attention 的计算过程

  1. 将输入序列 X 转化为 Query(Q)、Key(K)和 Value(V)矩阵。
  2. 计算 Query 和 Key 的点积,然后除以缩放因子,得到注意力分数矩阵(Attention Score)。这里反映了每个词元相对位置的相关性。
  3. 对注意力分数矩阵做 softmax ,得到注意力权重(Attention Weight)。权重之和为 1。
  4. 将 V 和注意力权重相乘,即对 Value 进行加权求和,得到输出表示 Z。
  5. Z 作为此模块的输出,可以传递到下一层。

3. 疑问

3.1 各种神经网络的比较

网络类型适用场景前提条件
卷积神经网络(CNN)图像处理、计算机视觉网格数据如图像,需要转换卷积操作
循环神经网络(RNN)语音识别、文本分析序列数据,需要处理时间依赖关系
深度信念网络(DBN)降维、特征学习高维稠密数据,需要层层抽象表达
自动编码器(AE)降维、去噪高维数据,需要压缩表示
生成对抗网络(GAN)生成模型、模拟样本需要训练判别器与生成器模型对抗
迁移学习(TL)跨领域、跨任务源任务与目标任务有一定相关性
强化学习(RL)智能体决策、控制需要设计奖惩机制,探索环境
图神经网络(GNN)图结构数据,网络分析关系数据可表示为图,需要在图上进行推理

3.2 Transformer 与传统神经网络比较

对比项Transformer传统神经网络
网络结构仅基于注意力机制的编码器-解码器卷积层、全连接层等
主要组成单元多头自注意力模块卷积核、神经元
并行计算高度并行CNN 有一定并行度
训练速度RNN 训练较慢
计算复杂度CNN 和 DNN 中等
对长序列建模效果好,远距离依赖RNN 效果较差
对网格数据学习需设计,不如 CNNCNN 效果好
提取特征内部注意力学习需要人工特征工程
模型大小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 SizeEmbedding 大小额外开销比估算显存
BERT-Base110MFP325122567681.533.6 GB
GPT-2 中型770MFP1610246410241.215.5 GB
GPT-3 175B175000M混合精度2048212*102422185 GB

3.4 数据挖掘、数据建模和大模型之间的区别

对比点数据挖掘数据建模大模型
目标发现隐藏规律建立预测模型探索通用知识
方法无监督学习监督学习语言模型预训练
数据来源完整原始数据结构化数据集大规模通用数据集
过程探索性分析说明性分析自主学习
算法聚类、关联规则等回归、决策树等Transformer、Attention 等
应用范围多领域特定业务通用 AI
评估发现新的模式模型准确率推理和理解能力
需求数据分析师模型工程师AI 研究者
典型模型AprioriLogistic 回归GPT-3

总结:

数据挖掘偏重探索;数据建模偏重预测;大模型综合两者之长,既可探索知识,又可进行预测与推理。三者可以有效结合,发挥各自优势。


微信公众号
作者
微信公众号