LLM基础注意点
语言模型是对token顺序的概率预测或是处理,模型告诉我们一个标记序列到底好不好
序列的常见联合概率写法是概率的链式法则,这和diffusion,lstm,以及各类的时间序列算法相似
像是一个接一个的链表(给定上一个生成下一个),这个叫做自回归
像是快排有一个分界点的那种类似二叉树,给左边遍历顺序要求右边,这个是非自回归(严格来说,是给定序列生成另一个序列)
大部分预测只基于最后n-1个字符,不是整个历史,n-1是窗口。transformer窗口是整体被输入可以理解是无限窗口,lstm和n-gram都是是有限窗口
llama创新点:前置层归一化(Pre-normalization), RMSNorm归一化函数[可学习的缩放因子] SwiGLU[维度消减] 旋转位置嵌入(RoP)[向量乘法旋转] CPT2的架构
Stanford Alpaca:LLaMA基础上使用52K指令数据精调的预训练模型
一句话解释涌现与复杂系统论:整个社会风向或是群众智慧或是联邦学习
GQA和MQA都是注意力的变体,其中多个查询头关注相同的键和值头,以减少推理过程中 KV 缓存的大小,并可以显著提高推理吞吐量。
流程:1. llama初始化—2. 使用500B tokens训练infilling task[为什么要infill train,在我看来这两个都没必要]—3.100B的python训练—20B的上下文学习—4. 指令精调
Prefix LM与Causal LM区别,一个生成即非自回归一个自回归
最终还是最大似然估计:估计概率模型的参数
最小化熵(结构越强熵越小)
其实diffusion是一个decoder only的模型,第一阶段不算,第二阶段算:最直接的原因就是不用encoder
自注意力机制为每个词分配不同的权重,多次用就是多头注意力,分析权重矩阵不一样(有多个注意头)