大模型技术原理第二章

模型架构概览

1739181389679
1739181402691
1739181461037
1739181504476
1739181547952
1739249820076
1739249890183
1739249925924

扩展法则

1739249976176

注意下面的是曲线,因为横轴做了指数化

1739254464996

意义 1739254598361

Chinchilla 发展把参数量和数据规模写到了同一个式子里

1739254625276

两个法则之间的区别:

这导致后面两家公司(google llama 和 openai gpt)的技术路线有不同

1739254735250

可以看出 gpt-3 参数量超过主流基线(gpt-4 的参数量目前未知)

1739254844463

基于 transformer 的三种架构

1739255001422

Encoder-only 架构

需要搭配一个专门的任务处理模块

1739255078571

Decoder-only 架构

解码模块与编码模块的主要区别是带掩码(需要生成上下文,不能提前泄露下文的内容)

交叉注意力模块 好像是实现 Encoder 的特征与 Decoder 的特征直接数据交互的

1739255170115

Encoder-Decoder 架构

1739255493369

三种架构对比

1739255700894
1739255838148
1739255858642
1739256084131
1739255976293
1739256317103

基于Encoder-only 架构的模型

1739256421857

Bert

1739256459026
1739256513850
1739256530317

RoBERTa

结构和参数量基本不变,

但是数据扩大了

同时还有以下的区别

1739256636072
1739256699047
1739256781098

对预训练任务也进行了调整

1739256853544
1739257101673

ALBERT

1739257149527
1739257202639
1739257239536

实际就是参数复用

1739257293415
1739257340822
1739258011011
1739258038373
1739258078858

基于Encoder-Decoder 架构的模型

1739258123273
1739258265661
1739258310973
1739258374354

BART 和 T5

1739258437421

BART

1739258659299
1739258686370
1739259003826

T5

——使用一个模型适配多个下游任务

1739259051807
1739259082513
1739259100080
1739259128411

Prompt 工程技术

加前缀

1739259197980
1739259327485

基于Decoder-only架构的模型

1739259402671
1739259502584
1739259556913
1739259692522

GPT-1

1739259799747
1739259846878
1739259884969

GPT-2

1739260055293
1739260081730
1739260147384

GPT-3

1739260176115
1739260261616
1739260348172

InstructGPT 等衍生模型

从这开始 gpt 就不再开源

1739260386616
1739260457452

ChatGPT 及 GPT-4 等模型

1739260528322
1739260654375
1739260726781
1739260756266

LLaMA 模型

1739260785222

LLaMA1 模型

1739260833633

注意仔细看下面的区别:

对 transformer 做了修改

1739260959826
1739261139345

LLaMA2 模型

1739261162546
1739261218562

LLaMA3 模型

1739261253211
1739261319114
1739261486219

Decoder-only 架构总结

1739261522055

Mamda架构

1739261809404
1739264569922
1739261920117

State Space Model(SSM)

n 阶系统,使用 n 个一阶系统进行矩阵表达

1739263132014
1739263258872

这里 h1(t)h2(t)视为状态

这里进行符号重新定义简化下:

1739263419972

这里 h(t)定义如下:

1739263459511

上面的式子怎么用到机器学习呢?

先离散化

零阶状态保持

1739263570015
1739266395616