Basis

Basic definition✍

Fine Tune

在已经给好的预训练模型(Pre-trained model)上,对参数的值进行微调(Fine Tune),可以省去从头开始训练模型消耗的资源和时间,提高计算效率和准确率

RNN

循环神经网络

image-20230423144947674

用另一种表示方法表示如下:

image-20230423151256885 \(O_t = g(V·S_t + b_2)\\ S_t = f(U·X_t + W·S_{t-1} + b_1)\) 也就是说,当前时刻的输出,不仅取决于当前时刻的输入,还取决于上一个时刻的输出

image-20230423175503694 $$ \frac{\part C}{\part w}=\frac{\part z}{\part w}\frac{\part C}{\part z}
=>
\frac{\part C}{\part z}=\frac{\part \alpha}{\part z}\frac{\part C}{\part \alpha},\ \alpha=\sigma(z) \

$$

Transformer

image-20230422170815188

Embedding:

Positional Encoding: 对于RNN来说,所有的item都共享一套参数

$PE(pos,2i) = sin(pos/10000^{2i/d_{modest}}),\ PE(pos,2i + 1) = cos(pos/10000^{2i/d_{modest}})$

Multi-Head Attention:

$Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})V$

Input -- process --> Output

Process: Encoders + Decoders
python3 train.py config/train_shakespeare_char.py --batch_size=32 --compile=False 
python3 train.py config/train_shakespeare_char.py --device=cpu --compile=False --eval_iters=20 --log_interval=1 --block_size=64 --batch_size=12 --n_layer=4 --n_head=4 --n_embd=128 --max_iters=2000 --lr_decay_iters=2000 --dropout=0.0

这个是nanoGPT的开源库

这个是nanoGPT逐行讲解代码,建议先看这个视频,讲得很清晰

这个视频列表讲了一些组件的原理,非常适合零基础入门GPT