Transformer 确认
为什么注意力分数除以√d_k?
- 因为除法使计算速度更快
- 如果不除,分数方差增加到 d,softmax 饱和,斜率消失。
- 节省分数矩阵的内存
- 没有什么特殊原因,只是遵循原论文的约定。
为什么要从softmax中减去最大值并使用exp?
- 如果减去,所得的概率值将会改变。
- 数学上相同的值但没有溢出
- exp 计算速度更快
- 从输入中删除负数
为什么我应该在 softmax 之前使用 -inf before softmax 来应用因果掩码?
- Softmax计算速度更快
- 使用 -inf 在数值上更准确。
- 如果在softmax之后乘以0,则剩余权重的总和不会为1。
- 为掩码矩阵节省内存
如果没有位置编码会发生什么?
- 收敛慢,学习慢。
- 注意力分数溢出。
- 因果面具不适用
- 即使输入顺序混合,输出也只是混合并且值是相同的。
为什么要把头分成多块呢?
- 一个softmax的权重和为1,因此它只能表达一种类型的关系。
- 用于 GPU 上的并行处理
- 减少分数矩阵内存
- 尝试在每个头上戴不同的面具
LayerNorm 与 BatchNorm 不同的关键点是什么?
- 计算速度更快
- 关键是根本不需要学习任何参数。
- 它仅适用于 GPU
- 归一化到特征轴,而不是批次,因此不受批次大小或序列长度的影响
当序列长度从4k增加到8k时,注意力得分矩阵是多少?
- 2次
- 4次
- 像这样
- 8次
GQA(Group Query Attention)减少了什么?
- 推理期间的 KV 缓存
- 班级
- 模型文件大小
- 代币数量
为什么使用编码器模型(BERT/E5 系列)进行 RAG 嵌入?
- 因为模型尺寸较小
- 它比解码器学习得更快
- 因为没有因果掩码,所以每个标记都会看到整个句子。
- 因为韩语处理性能好
在将声音放入变压器之前,像 Whisper 这样的音频模型会做什么?
- 转换为 log-Mel 谱图并通过卷积缩小时间轴。
- 按原样插入波形样本
- 首先将其更改为文本,然后插入。
- 使用 FFT 结果作为输入