LLM 算法分析

一文了解 GPT 推理原理。

AI演化趋势

AI模型规模越来越庞大,越来越简洁,人工参与度要求越来越低,和硬件发展相匹配。

  • 2000年前百家齐放,主要环境PC机:
    • 专家系统、贝叶斯网络、支持向量机决策树、神经网络、…
    • IBM深蓝(国际象棋), Doctor Watson
专家系统
决策树
向量机
更深的蓝
  • 2000s深度学习兴起,和GPU适配
    • 1940s早期神经网络,1980s CNN提出,1990s RNN&LSTM,复杂多变的网络结构和算子
    • 2006 NV CUDA框架, 2016 AlphaGo
卷积神经网络
贝叶斯长期短期记忆模型(LSTM)
阿法狗
  • 2020s大语言模型兴起, 得益于GPU与AI相互促进发展
    • 2017 Attention is all you need
    • 2018 GPT/BERT
    • 2022 chatGPT
      • 矩阵乘,残差网络,LayerNormalization,Attention
      • Elementwise 非线性激活函数
      • 基于 Transformer 结构

LLM 应用

神经网络简介

神经网络

残差神经网络

解决退化问题

Degradation Problem
多层残差神经网络

计算残差:

算子

编码器与解码器

Seq2Seq : RNN, LSTM, Transformer

Encode & Decoder

LLM 分类

Attention 架构
分类

Encoder & Decoder功能对比

  • Masked Language Model (BERT Training)
  • Next Token Generation (GPT):我爱北京天安,计算出下一个字 “门”

bert

Attention 介绍

Attention is all you need!

Bert VS GPT

$$
Attention=Softmax(QK^𝑇)𝑉
$$

Attention

归一化,权重系数,突出主要因子

$$
Softmax([𝑣1,𝑣2,𝑣3,…,𝑣𝑛])= \frac{[𝑒^{𝑣1}, 𝑒^{𝑣2}, 𝑒^{𝑣3}, …, 𝑒^{𝑣3}]}{𝑒^{𝑣1} + 𝑒^{𝑣2} + 𝑒^{𝑣3} + … + 𝑒^{𝑣𝑛}}
$$

例如:

$$
Softmax([1,−∞,0,2,5])=[0.01704,0,0.00627,0.04632,0.93037]
$$

Decode-only: 每个 Token 都只依赖历史信息而不依赖未来信息。可以通过使用 KV-cache 极大降低generation过程计算量 – Memory Bound

更多:

非线性激活函数

非线性变换

目标,通过非线性变换把的分界线拉直;更高的维度提供了更多的弯曲变换机会。

GPT3 先将输入升维度再降维度

Transformer中 Feedforwad 部件,Elementwise 激活函数(Tensor中每个元素独立进行相同的非线性运算)

  • GPT3使用 ReLU 算子
  • Llama2 使用SwiGLU算子,带有参数
ReLU
SwiGLU