<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      kv cache緩存

      計算自注意力時,Q(查詢)向量在每次解碼步驟中都是全新的,而 K(鍵)和 V(值)向量大部分是重復的,緩存 K 和 V 可以避免大量的重復計算。

      下面通過一個具體的例子來詳細解釋為什么。

      自注意力機制

      在解碼(生成)過程中,對于每一個新生成的 token,都有:

      • Q (Query):來自當前新生成的 token。它負責去“詢問”歷史上下文中哪些部分是重要的。

      • K (Key):來自所有已生成的 token(包括當前新的這個)。它作為“標識”,被 Q 查詢。

      • V (Value):來自所有已生成的 token(包括當前新的這個)。它包含每個 token 的實際信息內容。

      注意力分數的計算方式是:Softmax( (Q * K^T) / sqrt(d_k) ) * V

      具體例子

      假設我們正在生成句子 “I love you”。

      第 1 步:生成 “I”

      • 輸入:[BEGIN] (假設起始符)

      • 輸出:"I"

      • 此時,我們計算出了 Q1, K1, V1(對應 token “I”)。

      • KV Cache 狀態:緩存 K1, V1

      第 2 步:生成 “love”

      • 輸入:[BEGIN], I

      • 輸出:"love"

      • 在這個步驟中:

        • 我們只需要為新 token “love” 計算 Q2_new

        • K 和 V 從哪里來?

          • 一部分來自新 token “love” 自己計算出的 K2_new, V2_new

          • 另一部分來自 KV Cache 中讀取的上一步的 K1, V1

      • 所以,計算注意力時,完整的 K 和 V 是:

        • K = [K1, K2_new] (拼接操作)

        • V = [V1, V2_new]

      • Q 是什么? 只有 Q2_new

      • 計算:Attention = Softmax( (Q2_new * K^T) / sqrt(d_k) ) * V

      • 更新 KV Cache:將新的 K2_new, V2_new 拼接到緩存中,現在緩存里有 [K1, K2_new] 和 [V1, V2_new]

      第 3 步:生成 “you”

      • 輸入:[BEGIN], I, love

      • 輸出:"you"

      • 在這個步驟中:

        • 我們只需要為新 token “you” 計算 Q3_new

        • K 和 V 從哪里來?

          • 一部分來自新 token “you” 自己計算出的 K3_new, V3_new

          • 絕大部分來自 KV Cache 中讀取的上一步的 [K1, K2_new], [V1, V2_new]

      • 所以,計算注意力時,完整的 K 和 V 是:

        • K = [K1, K2_new, K3_new]

        • V = [V1, V2_new, V3_new]

      • Q 是什么? 只有 Q3_new

      • 計算:Attention = Softmax( (Q3_new * K^T) / sqrt(d_k) ) * V

      • 更新 KV Cache:將新的 K3_new, V3_new 拼接到緩存中。

      Q 不進行緩存

      從上面的過程可以清晰地看出:

      1. Q 的生命周期很短:每個解碼步驟中,當前的 Q 向量只在這個步驟中被使用一次,用于和所有已緩存的 K 向量計算注意力分數。一旦這個步驟結束,這個 Q 向量就完成了它的使命,在后續的步驟中再也用不到了。

      2. K 和 V 是累積的:歷史所有步驟的 K 和 V 向量在后續的每一個解碼步驟中都會被重復使用。如果不緩存,我們在生成第 N 個 token 時,就需要為前 N-1 個 token 重新計算它們的 K 和 V,這造成了巨大的計算浪費。

      向量是否緩存原因
      K (Key) 歷史所有 token 的 K 向量在后續每一步都會被新的 Q 查詢。不緩存會導致大量重復計算。
      V (Value) 歷史所有 token 的 V 向量在后續每一步的注意力加權求和中都會被使用。
      Q (Query) 每個 token 的 Q 向量僅在當前解碼步驟中使用一次,之后便失效。緩存它只會浪費顯存,毫無益處。
      posted @ 2025-10-15 13:36  wangssd  閱讀(16)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 潘金莲高清dvd碟片| 久久精品女人天堂av免费观看| 亚洲欭美日韩颜射在线二| 一个色综合国产色综合| 祁东县| 国产精品一区二区在线欢| 最新偷拍一区二区三区| 亚洲国产精品久久久天堂麻豆宅男 | 最新国产精品好看的精品| 忘忧草在线社区www中国中文| 四虎永久在线精品免费播放| 亚洲精品午夜精品| 无码AV无码免费一区二区| 国产色婷婷亚洲99精品小说| 亚洲性线免费观看视频成熟| 国产日韩精品一区二区三区在线| 国产99精品成人午夜在线| 国产精品普通话国语对白露脸| 亚洲AV无码不卡在线播放| 天堂在线中文| 国内精品人妻一区二区三区 | 久久这里只精品热免费99| 国产国语对白露脸正在播放| 国产毛片三区二区一区| 国产又色又爽又刺激在线观看| 国产亚洲精品一区二区不卡| 国产一区二区不卡自拍| 国产又黄又爽又刺激的免费网址| 中文字幕久久人妻熟人妻| 成人福利国产午夜AV免费不卡在线 | 国产精品国语对白一区二区| 狠狠色噜噜狠狠狠狠2021| 亚洲成A人片在线观看无码不卡| 成人免费看片又大又黄| 中文文精品字幕一区二区| 亚洲自偷自拍熟女另类| 国产最大成人亚洲精品| 国产99视频精品免费视频76| 亚洲精品国产男人的天堂| 天堂√最新版中文在线地址| 国产一区二区a毛片色欲|