当前位置: 首页 > news >正文

网站如何做移动适配网站的推广是怎么做的

网站如何做移动适配,网站的推广是怎么做的,logo免费设计网站有哪些,个人网站空间购买基本背景: KV Cache(Key-Value缓存)主要用于 加速自回归模型(如Transformer)的序列生成,解决以下核心问题: 重复计算:传统自回归生成时,每次预测新token都需要重新计算所…

基本背景:

        KV Cache(Key-Value缓存)主要用于 加速自回归模型(如Transformer)的序列生成,解决以下核心问题:

  • 重复计算:传统自回归生成时,每次预测新token都需要重新计算所有历史token的Key和Value,计算成本随序列长度平方级增长(O(n²))。

  • 内存瓶颈:长序列生成时,反复投影历史token的特征矩阵会占用大量显存带宽。

        KV Cache通过缓存历史token的中间计算结果,将复杂度降至 O(n),成为GPT、LLaMA等大模型生成文本/语音的核心优化技术。

原理讲解:

        自注意力计算的公式为:

  • Q (Query):代表当前需要计算的位置(即新生成的token),每次解码时唯一变化的部分。

  • K (Key)/V (Value):代表历史token的上下文信息,需要被重复利用。

       基于这个特性,我们可以考虑缓存K、V而避免重复计算增加效率。

        由于 Decoder 中一般会有掩码矩阵,因此Q往往是个下三角矩阵,QK^{T}计算公式如下:

        

        可以看到,结果矩阵的第 k 行只用到了矩阵 X  的 第 k  个行向量。所以 X 不需要进行全部的矩阵乘法,每一步只取第 k 个行向量即可,这就很大程度上减少了计算量,也就是 KV Cache 的数学原理。
        在没有 KV Cache 的情况下,如果要计算第 m+1 行,需要重新计算前 m 行,但是显然这样会造成大量的重复运算,因此我们可以保存前 m 行的结果,而只计算第 m+1 行即可。

        例如

        在计算Att2时已经保存了Q1、Q2、V1、V2,这样在计算Att3时就可以直接使用而无需充型计算

        

代码实现

def decode_next_token(self,x: torch.Tensor,k_cache: torch.Tensor,v_cache: torch.Tensor,attn_mask: torch.Tensor = None,torch_sdpa: bool = True,):# Q、K、V计算q, k, v = F.linear(x, self.qkv_w, self.qkv_b).chunk(3, dim=-1)# KV cache拼接k_cache = torch.cat([k_cache, k], dim=1)v_cache = torch.cat([v_cache, v], dim=1)batch_size = q.shape[0]q_len = q.shape[1]kv_len = k_cache.shape[1]# Q、K、V准备q = q.view(batch_size, q_len, self.num_heads, -1).transpose(1, 2)k = k_cache.view(batch_size, kv_len, self.num_heads, -1).transpose(1, 2)v = v_cache.view(batch_size, kv_len, self.num_heads, -1).transpose(1, 2)# 注意力计算if torch_sdpa:attn = F.scaled_dot_product_attention(q, k, v, (~attn_mask) if attn_mask is not None else None)else:attn = scaled_dot_product_attention(q, k, v, attn_mask)attn = attn.transpose(1, 2).reshape(batch_size, q_len, -1)attn = F.linear(attn, self.out_w, self.out_b)x = x + attnx = F.layer_norm(x,[self.hidden_dim],self.norm_w1,self.norm_b1,self.norm_eps1,)x = x + self.mlp.forward(x)x = F.layer_norm(x,[self.hidden_dim],self.norm_w2,self.norm_b2,self.norm_eps2,)return x, k_cache, v_cache

参考文章:

        https://blog.csdn.net/weixin_43799388/article/details/142164166

http://www.dtcms.com/a/424522.html

相关文章:

  • almalinux MySQL8.0安装
  • python做网站建e全景效果图
  • 网站建设费可以抵扣么推广网上国网有什么好处
  • 【APK安全】WebView组件的安全风险与防御指南
  • 秦皇岛网站定制哪家好厦门市建设局网站咨询电话
  • 是阿里巴巴好还是自己做网站好?wordpress nginx配置伪静态
  • 夫妻工作室网站建设枣庄网站seo
  • 【Android】一个demo理解dispatchTouchEvent、onInterceptTouchEvent与onTouchEvent
  • 十大网站平台重写Wordpress的js
  • HBase全量+增量迁移import/export方式
  • 精准交易:如何利用期权对冲你的头寸
  • 金华网站建设哪个公司好点烟台互联网公司有哪些
  • wordpress安装好了怎么登陆网站推广思路及执行方案
  • 宁波做网站皆选蓉胜网络北京网站建设推荐安徽秒搜科技
  • 注册一个个人网站工地模板图片大全
  • 知识表示与处理4
  • 网站的搜索引擎方案wordpress实例站
  • 【AI4S】大语言模型与化学的未来,以及整合外部工具和聊天机器人的潜力
  • 网站视频转码软件wordpress 图片本地化
  • 优秀的 API 接口设计规范
  • 营销网站占用多少m空间深圳 电子政务网站建设方案
  • 品牌网站建设服务商济南百度网站开发
  • 用 Python 实现一个简化但可运行的 单点登录(SSO)系统
  • 水果成篮-越短越合法
  • 外国人做的购物网站做网站开发要具备哪些素质
  • 印尼雅加达综合指数(JCI)数据对接实战指南
  • 福州网站开发公司哪些网站可以做平面设计
  • 临安规划建设局网站wordpress 评论按钮
  • 定向广播扬声器:高速公路预警新利器 为安全“喊话”
  • 做网站送优化如何做授权网站