赞
踩
从技术上来讲,幻觉的根本原因是传统的解码算法会在每个采样步骤引入均匀随机性。但业界一般将幻觉从效果上又分为三类:特定知识幻觉,逻辑关系幻觉,干扰幻觉
解决幻觉本质还是提升模型对特定问题回答的准确率,因此绕不开提示工程和微调。针对不同类型的幻觉问题,我们可以选择特定的方法。
import math
import torch
import torch.nn.functional as F
def attention(Q, K, V):
# 这是最基础的公式实现版本,关于head,mask,dropout等可以以此为基础添加
d_k = Q.size(-1)
scores = torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(d_k)
attn = F.softmax(scores, dim=-1)
return torch.matmul(attn, V), attn
在推理阶段:主要通过解码参数T(温度),以及topK,topP来实现;T主要作用在概率生成的softmax函数上,影响概率值;而topK和topP是beam search的采样参数,topK是个数阈值,topP是概率阈值;以上参数都可能对结果多样性产生影响。
在训练阶段:具体的解码算法及其参数会影响多样性,比如beam search算法中beam大小的选择。
pre-norm在大模型应用中有三点优势:
常用的并行加速方法:
常用的减小显存方法:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。