精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

大模型的性能提升:KV-Cache

原創 精選
人工智能
KV-cache作為一種極為強大的性能優化手段,能夠顯著提升語言模型(LLM)生成文本的速度。其核心機制在于,在生成文本的過程中,通過重用前面步驟中的注意力計算結果,避免重復計算,從而實現更高效的文本生成。

大語言模型(LLM)在生成文本時,通常是一個 token 一個 token 地進行。每當模型生成一個新的 token,它就會把這個 token 加入輸入序列,作為下一步預測下一個 token 的依據。這一過程不斷重復,直到完成整個輸出。

然而,這種逐詞生成的方式帶來了一個問題:每一步的輸入幾乎與前一步相同,只是多了一個新 token。如果不對計算過程進行優化,模型就不得不反復重復大量相同的計算,造成資源浪費和效率低下。

為了解決這個問題,KV-Cache(Key Value-Cache)應運而生,它是提升 LLM 推理性能的關鍵技術之一。

KV-Cache 的核心思想是緩存中間計算結果。在 Transformer 架構中,每個 token 在生成下一個 token 時都需要通過自注意力機制計算一系列 Key 和 Value 向量。這些向量描述了當前 token 與前面所有 token 的關系。

1. 關于自注意力機制

要理解KV緩存,首先需要掌握注意力機制的基本原理。在著名的論文《Attention Is All You Need》中,提出了用于Transformer模型的注意力機制公式,該公式幫助模型在生成每個新token時確定應關注哪些先前的token。

圖片

注意力機制的核心在于通過一系列計算來量化不同token之間的關聯強度。具體來說,當模型生成一個新的token時,它會根據輸入序列中的所有token計算出一組Query(查詢)、Key(鍵)和Value(值)向量。這些向量通過特定的公式相互作用,以決定當前上下文中每個token的重要性。

讓我們一步一步來看看這個方程是怎么在工程上實現的。

2. 提示詞階段(預填充階段)

我們從一個示例輸入開始,稱為“提示詞”(prompt)。這個輸入首先會被分詞器(tokenizer)切分為一個個的 token,也即模型可處理的基本單位。例如,短語 "The quick brown fox" 在使用 OpenAI 的 o200kbase 分詞器時會被拆分為 4 個 token。隨后,每個 token 被轉換為一個嵌入向量,記作 x? 到 x?,這些向量的維度由模型決定,通常表示為 d_model。在原始 Transformer 論文中,d_model 設定為 512。

為了高效計算,我們可以將所有 n 個嵌入向量堆疊成一個矩陣 X,其形狀為 [n × d_model]。接下來,為了執行注意力機制,我們需要通過三個可學習的投影矩陣 Wq、Wk 和 Wv 來分別生成查詢(Query)、鍵(Key)和值(Value)向量。

圖片

具體來說:

  • Wq 的形狀為 [d_model × d_k],用于將嵌入向量映射到查詢空間,得到 q 矩陣,其形狀為 [n × d_k];
  • Wk 的形狀也為 [d_model × d_k],生成 k 矩陣,形狀為 [n × d_k];
  • Wv 的形狀為 [d_model × d_v],生成 v 矩陣,形狀為 [n × d_v]。

這三個矩陣在訓練過程中不斷優化,以捕捉不同 token 之間的依賴關系。其中,dk 和 dv 是設計模型結構時設定的超參數,在最初的 Transformer 模型中被設為 64。

這種線性變換不僅將高維嵌入壓縮到更易操作的空間,還保留了關鍵語義信息,為后續的注意力計算奠定了基礎。

圖片圖片

接下來,我們通過計算查詢矩陣 q 與其對應鍵矩陣 k 的轉置的乘積,得到一個大小為 [n × n] 的自注意力分數矩陣。這個矩陣中的每個元素代表了某個查詢向量與所有鍵向量之間的相似性得分,反映了在生成當前 token 時,模型應將多少注意力分配給前面每一個 token。

對于解碼器類型的大型語言模型(LLM),為了避免模型在生成過程中“偷看”未來的信息,我們采用一種稱為“掩碼自注意力”的機制——即將該矩陣的上三角部分設為負無窮(-inf)。這樣一來,在后續的 softmax 操作中,這些位置的值會趨近于零,從而確保每個 token 在預測時只能關注到它之前的歷史 token,而不會看到未來的輸入。

處理后的自注意力分數矩陣因此成為一個下三角結構,體現了嚴格的因果關系。由于這一操作,模型在生成序列的過程中能夠保持邏輯連貫性和時間順序的正確性。

為了得到最終的注意力輸出,我們首先對這個帶有掩碼的注意力分數矩陣進行縮放,除以 sqrt(d_k)以防止點積結果過大導致梯度飽和;然后應用 softmax 函數將其轉化為概率分布;最后將該分布與值矩陣 v 相乘,得到加權聚合后的上下文信息。這一過程即完成了對輸入序列 "The quick brown fox" 的注意力輸出計算,為下一步的 token 預測提供了基礎。

圖片圖片

3. 自回歸生成階段(解碼階段)

現在,當我們生成下一個 token(例如 "jumps")并計算其對應的注意力輸出時,在自回歸生成階段(即解碼過程中),模型是如何工作的呢?

在生成“jumps”這一新 token 時,模型會為它生成新的查詢向量 q?、鍵向量 k? 和值向量 v?。但值得注意的是,并不需要重新計算之前所有 token 的 k 和 v,因為這些中間結果已經保存在 KV-Cache 中。

圖片圖片

如圖所示,我們只需關注注意力矩陣中新增的最后一行,其余部分可以從緩存中直接復用。圖中以灰色突出顯示的 k? 到 k? 和 v? 到 v? 都是之前步驟中已計算并緩存的結果。這意味著,只有與當前 token 相關的 q?、k? 和 v? 是新生成的。

最終,第 n 個 token 的注意力輸出只需以下計算(忽略 softmax 和縮放因子以便理解):

圖片圖片

這正是 KV-Cache 的價值所在:通過緩存先前 token 的 Key 和 Value 向量,模型無需重復計算整個歷史序列,從而顯著減少冗余運算,提升推理效率。

隨著生成序列變長,KV-Cache 的作用愈發重要——它不僅減少了計算負擔,也降低了內存帶寬的壓力,使得 LLM 在實際應用中能夠實現高效、流暢的文本生成。

4. 速度與內存的權衡

KV-Cache 的引入顯著提升了大型語言模型(LLM)的推理速度。其核心思想在于緩存每一步計算生成的 Key 和 Value 向量,使得在生成新 token 時,模型無需重復計算歷史上下文中的 K 和 V 值,從而大幅減少冗余計算,加快響應生成。

然而,這種性能提升也帶來了內存上的代價。由于 KV-Cache 需要為每個已生成的 token 保存對應的 K 和 V 向量,它會持續占用 GPU 顯存。對于本身就需要大量資源的 LLM 來說,這進一步加劇了顯存壓力,尤其是在處理長序列時更為明顯。

因此,在實際應用中存在一個權衡:一方面,使用 KV-Cache 可以加速生成過程,但另一方面,它也會增加內存消耗。當顯存緊張時,開發者可能需要選擇犧牲部分生成速度來節省內存,或接受更高的硬件資源開銷以換取更快的推理表現。這種性能與資源之間的平衡,是部署 LLM 時必須仔細考量的關鍵因素之一。

5. KV-Cache 實踐

KV-Cache 是現代大型語言模型(LLM)推理引擎中至關重要的一項優化技術。在 Hugging Face 的 Transformers 庫中,當你調用 model.generate() 函數生成文本時,默認會啟用 use_cache=True 參數,也就是自動使用 KV-Cache 來提升生成效率。

類似的技術細節在 Hugging Face 官方博客的文章《KV Caching Explained: Optimizing Transformer Inference Efficiency》中也有深入解析。該文通過實驗展示了啟用 KV-Cache 帶來的顯著加速效果:在 T4 GPU 上對模型 HuggingFaceTB/SmoLLM2-1.7B 進行測試,使用 KV-Cache 相比不使用時,推理速度提升了 5.21 倍

這一性能提升充分說明了 KV-Cache 在實際應用中的重要性,測試的參考代碼如下:

from transformers import AutoTokenizer, AutoModelForCausaLLM
import torch
import time

# Choose model and tokenizer
tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausaLLM.from_pretrained("gpt2")

# Move model to GPU if available
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
model.eval()

# Prepare input
input_sentence = "The red cat was"
inputs = tokenizer(input_sentence, return_tensors="pt").to(device)

# Function to measure generation time
def generate_and_time(use_cache: bool):
    torch.cuda.empty_cache()
    start_time = time.time()

    with torch.no_grad():
        output_ids = model.generate(
            **inputs,
            max_new_tokens=300,
            use_cache=use_cache
        )

    end_time = time.time()
    duration = end_time - start_time
    output_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
    return duration, output_text

# Measure with KV-cache enabled
time_with_cache, text_with_cache = generate_and_time(use_cache=True)
print(f"\n[use_cache=True] Time taken: {time_with_cache:.4f} seconds")
print(f"Generated Text:\n{text_with_cache}\n")

# Measure with KV-cache disabled
time_without_cache, text_without_cache = generate_and_time(use_cache=False)
print(f"[use_cache=False] Time taken: {time_without_cache:.4f} seconds")
print(f"Generated Text:\n{text_without_cache}\n")

# Speedup factor
speedup = time_without_cache / time_with_cache
print(f"Speedup from using KV-cache: {speedup:.2f}×")

KV-Cache的運行速度實際上受到多種因素的綜合影響,其中包括模型的規模(具體體現在注意力層數的多少)、輸入文本的長度n、所使用的硬件設備以及具體的實現細節等。

6. 小結

KV-cache作為一種極為強大的性能優化手段,能夠顯著提升語言模型(LLM)生成文本的速度。其核心機制在于,在生成文本的過程中,通過重用前面步驟中的注意力計算結果,避免重復計算,從而實現更高效的文本生成。具體而言,當計算下一個標記的注意力輸出時,系統會緩存并重用之前步驟中所產生的鍵和值。

不過,需要指出的是,這種性能上的提升并非沒有代價。由于需要存儲這些向量,會占用大量的GPU內存資源,而這些被占用的內存就無法再用于其他任務了。

【參考閱讀與關聯閱讀】

責任編輯:武曉燕 來源: 喔家ArchiSelf
相關推薦

2025-09-26 07:30:48

2025-04-03 10:29:06

2021-09-27 08:16:38

Webpack 前端Cache

2024-06-13 16:50:24

2020-03-13 10:36:19

KV存儲性能

2023-08-03 08:06:50

2025-06-16 14:41:07

模型開源AI

2024-05-11 08:47:36

Python工具裝飾器

2025-09-15 09:04:00

2025-05-28 01:25:00

RAG人工智能語言模型

2025-05-27 15:28:11

模型訓練AI

2025-10-17 09:58:36

2025-06-12 09:10:21

2024-09-27 10:31:22

2023-03-01 15:14:48

數據集機器學習

2022-03-21 17:56:59

大模型訓練訓練框架

2022-03-21 15:06:10

模型字節跳動框架

2024-03-14 09:57:35

華為模型

2024-12-17 14:39:16

2024-04-11 08:00:00

人工智能機器學習
點贊
收藏

51CTO技術棧公眾號

欧美国产日韩免费| 日韩一级大片在线| 四虎影院一区二区三区| 国产免费高清av| 亚洲精一区二区三区| 国产一区二区精品丝袜| 无码人妻精品一区二区蜜桃百度| 不卡av电影在线| 亚洲国产日韩欧美在线| 亚洲精品久久久久久久久| 大伊香蕉精品视频在线| 狠狠色伊人亚洲综合网站l| 精品夜夜嗨av一区二区三区| 国产综合在线看| 国产精品suv一区二区88 | 日韩精品在线免费播放| 天天爱天天操天天干| 久草在线新免费首页资源站| 国产日产欧美一区| 国产精品www色诱视频| 国产精品丝袜一区二区| 亲子伦视频一区二区三区| 欧美人体做爰大胆视频| 久久网站免费视频| 综合久久2019| 国产精品久久久久久久岛一牛影视| 国产精品亚洲自拍| 日本裸体美女视频| 国产乱码精品一区二区三区亚洲人 | 一本色道综合久久欧美日韩精品| 周于希免费高清在线观看| 中文字幕中文字幕一区二区| 欧美精品人人做人人爱视频| 国产91久久久| 久久国产福利| 98视频在线噜噜噜国产| 欧美人妻一区二区三区| 日韩精品导航| 欧美狂野另类xxxxoooo| 中文字幕第21页| 亚洲黄色网址| 欧美性猛交xxxx乱大交3| 久久久久99精品成人片| 污污视频在线| 亚洲黄色小视频| 中文字幕中文字幕在线中一区高清 | 欧美性猛交xxxx乱大交少妇| 久久不见久久见免费视频7| 亚洲国产精品中文| 亚洲av成人片色在线观看高潮| 日韩a**中文字幕| 欧美日韩国产影院| 欧美久久久久久久久久久久久| 国模吧精品人体gogo| 99精品一区二区三区| 国产嫩草一区二区三区在线观看| 精品乱码一区内射人妻无码 | 久久午夜免费视频| 在线欧美视频| 91a在线视频| 国产乱国产乱老熟| 三级一区在线视频先锋| 国产精品久久久久久久久久新婚| 九九热这里有精品视频| 欧美国产专区| 性色av香蕉一区二区| 香蕉久久久久久久| 国产精品99一区二区三区| 久久激情视频免费观看| 青青草视频播放| 免费视频亚洲| 中文字幕欧美日韩精品| 欧洲美女女同性互添| 日韩电影不卡一区| 在线观看久久久久久| 国产一二三四视频| 欧美91福利在线观看| 久久久久久久一区二区| 欧美超碰在线观看| 久久精品国产一区二区| 91丝袜脚交足在线播放| 中国老头性行为xxxx| 中日韩男男gay无套| 欧美理论电影在线观看| 国产午夜在线播放| 国内精品久久久久久久97牛牛 | 在线亚洲国产精品网站| 国产精品成人免费电影| 99精品人妻国产毛片| 欧美bbbbb| 亚洲在线视频观看| 日本成人一区二区三区| 日韩毛片精品高清免费| cao在线观看| 国产一区二区主播在线| 日韩西西人体444www| 日本不卡一区二区在线观看| 一区二区日韩| 精品国产免费视频| 精品无人区无码乱码毛片国产| 青青一区二区| 久久久精品国产一区二区| 日韩污视频在线观看| 亚洲激情网站| 成人免费xxxxx在线观看| 天天插天天干天天操| 国产精品三级视频| 久久久久久久久久网| 欧洲精品久久久久毛片完整版| 日本精品视频一区二区三区| 无套内谢丰满少妇中文字幕| 最新亚洲精品| 亚洲18私人小影院| 中文字幕久久熟女蜜桃| av高清不卡在线| 国产精品无码乱伦| 澳门av一区二区三区| 欧美日韩一区在线| 国产真实乱人偷精品| 一区二区三区韩国免费中文网站| 国产亚洲精品久久| 国产真实的和子乱拍在线观看| 亚洲激情成人| 99re国产在线播放| 麻豆网站在线看| 欧美在线视频你懂得| 少妇特黄一区二区三区| 亚洲黄网站黄| 国产免费一区二区三区| 国产精品一区二区三区四区色| 国产精品美女久久久久av爽李琼| 综合一区中文字幕| 最新国产在线拍揄自揄视频| 欧美高清性hdvideosex| 国产三级黄色片| 欧美国产三区| 91黄色精品| 国产激情小视频在线| 欧美吻胸吃奶大尺度电影| 无码熟妇人妻av| 亚洲欧美日本视频在线观看| 国产一区二区三区色淫影院| 超碰在线资源| 亚洲成人黄色在线| 国产一级一片免费播放| 国产a精品视频| 真人抽搐一进一出视频| 99国产精品久久一区二区三区| 亚洲精品美女在线| 圆产精品久久久久久久久久久| 秋霞影院一区二区| 亚洲欧美日韩国产成人综合一二三区 | 26uuu亚洲综合色欧美 | wwwwwxxxx日本| 日韩av有码| 国产一区私人高清影院| 麻豆网在线观看| 日韩欧美国产一区二区在线播放| 亚洲国产无码精品| 国产精品久久国产愉拍| 欧洲av一区| 欧美美女被草| 日韩极品精品视频免费观看| 亚洲欧美在线观看视频| xnxx国产精品| 日本久久久久久久久久久久| 久久综合国产| 不卡一区二区三区视频| 538在线视频| 亚洲男人的天堂网站| 人人妻人人爽人人澡人人精品| 国产高清精品久久久久| 欧美日韩福利在线| 久久最新网址| 91久久精品国产91久久| 久久不射影院| 在线播放中文一区| x88av在线| 久久精品毛片| 久久精品国产精品亚洲精品色| av免费在线一区| 国产视频久久久久久久| 小泽玛利亚一区二区三区视频| 26uuu欧美| 女人和拘做爰正片视频| 欧洲激情视频| 99精品99久久久久久宅男| 超碰人人在线| 日韩av在线免费观看一区| 中文在线观看av| 亚洲一二三四在线观看| 国产精品无码久久久久一区二区| 国产精品一区亚洲| 一本一道久久a久久综合精品| 99只有精品| 欧美激情在线观看| 二区三区在线| 欧美精品一区二区三区在线| 中文字幕永久在线| 亚洲一区免费在线观看| 永久免费av无码网站性色av| 视频一区视频二区在线观看| 佐佐木明希av| 国产一区二区三区四区五区| 成人免费在线看片| 51av在线| 久久夜精品香蕉| 黄色片视频在线观看| 欧美成人精品福利| 中文字幕日韩国产| 欧美小视频在线| 黄色在线观看免费| av在线一区二区三区| 久热在线视频观看| 久久青草久久| 亚洲综合第一| 色综合中文网| 国产综合动作在线观看| 国产精品av一区二区三区| 久久99热精品| 外国精品视频在线观看| 欧美男生操女生| 久久久久久久久久影院| 一区二区三区在线播放| 成人在线视频免费播放| 国产一区999| av中文字幕网址| 日本sm残虐另类| 日日碰狠狠丁香久燥| 99热精品在线观看| av在线免费观看国产| 亚洲最大av| 国产又大又长又粗又黄| 手机在线电影一区| 亚洲欧美日韩国产成人综合一二三区 | 亚洲一区色图| 亚洲在线色站| 天堂网av成人| 精品在线不卡| 欧美中文一区| 蜜桃av久久久亚洲精品| 人人精品亚洲| 蜜桃91精品入口| 国产成人手机高清在线观看网站| 成人在线小视频| 少妇高潮一区二区三区99| 国产精品直播网红| 欧美风情在线视频| 91精品久久久久久久久不口人| а√天堂8资源在线| 国产69精品久久久久99| a毛片不卡免费看片| 午夜精品久久久99热福利| 国产色播av在线| 欧美性资源免费| 日韩一区二区三区在线免费观看| 欧美黑人xxx| av老司机在线观看| 日韩一区二区欧美| 三区在线观看| 亚洲日韩第一页| 国产精品免费观看| 中文字幕视频一区二区在线有码 | 亚洲图片欧洲图片av| 国产三级视频在线播放线观看| 日韩久久久精品| 中文字幕永久在线视频| 欧美日韩黄视频| 精品久久在线观看| 亚洲国产中文字幕久久网| 国产又黄又粗又猛又爽| 日本乱码高清不卡字幕| 在线免费一级片| 日韩欧美国产午夜精品| 外国精品视频在线观看| 中文字幕av一区二区| 欧美人与禽性xxxxx杂性| 97成人精品区在线播放| 国产91在线播放精品| 91pron在线| 亚洲另类av| 国产日韩第一页| 日韩亚洲一区在线| 成人一级生活片| 欧美婷婷在线| www日韩在线观看| 国产成人av一区二区| 日本xxx在线播放| 中文字幕中文字幕一区二区| 日韩精品视频播放| 欧美日韩美女一区二区| 欧美一级性视频| 亚洲国产美女精品久久久久∴| www.午夜激情| 亚洲天堂第一页| 手机在线免费观看av| 国产精品福利在线观看| 日韩欧美一区二区三区在线观看| 日本欧美精品在线| 玖玖玖视频精品| 日本电影一区二区三区| 欧美一区久久| 亚洲欧美自拍另类日韩| 成人av免费网站| 91嫩草丨国产丨精品| 欧美性色xo影院| 成人久久久精品国产乱码一区二区| 欧美va日韩va| 青青影院在线观看| 日本aⅴ大伊香蕉精品视频| 亚洲第一二三四区| 国产精品播放| 少妇一区二区三区| 欧美人与动牲交xxxxbbbb| 免费日本视频一区| 亚洲欧美日本一区| 一区二区三区91| 一级特黄aaa大片| 精品电影一区二区| 国内精品久久久久久野外| 国产精品h在线观看| 欧美黑人做爰爽爽爽| 欧洲金发美女大战黑人| 99热免费精品在线观看| 中文字幕人妻熟女人妻a片| 国产精品午夜在线观看| 亚洲熟女综合色一区二区三区| 欧美色倩网站大全免费| 精品欧美不卡一区二区在线观看| 精品国产欧美一区二区三区成人| 日韩成人伦理| 91福利视频导航| 欧美精品日本| 91丨porny丨九色| 亚洲男人的天堂在线aⅴ视频| 日本网站在线免费观看| 日韩欧美在线1卡| 超碰免费公开在线| 亚洲a级在线播放观看| 91精品综合久久久久久久久久久 | 裸体在线国模精品偷拍| av电影在线不卡| 欧美亚洲综合色| 成年人在线免费观看| 国产a级全部精品| 精品美女久久| 向日葵污视频在线观看| 中文字幕 久热精品 视频在线 | 91久久一区二区| 黄色av网站在线| 国产精品美女午夜av| 日韩88av| 伊人av在线播放| 亚洲成人av一区二区| 青青视频在线观| 日韩免费观看av| 久久精品国产www456c0m| 黄网站欧美内射| 国产又黄又大久久| 日韩精品电影一区二区| 欧美中文字幕一区| 日本www在线观看| 99re在线视频观看| 亚洲第一黄色| 国产精品亚洲无码| 欧美视频一区二区三区四区 | 在线观看成人一级片| 国产综合成人久久大片91| 97在线观看免费视频| 在线不卡一区二区| 青草在线视频| 久热国产精品视频一区二区三区| 欧美啪啪一区| 日本xxxx裸体xxxx| 欧美日韩在线播| 9999在线视频| 亚洲精品成人自拍| 国产成人精品一区二区三区四区| 国产尤物在线播放| 欧美大黄免费观看| 亚洲一二三四| 欧美 日韩 国产在线| 老司机免费视频一区二区三区| 欧美黄色一级生活片| 69av一区二区三区| 欧美13videosex性极品| 亚洲乱码一区二区三区三上悠亚| 首页国产欧美日韩丝袜| 99久久婷婷国产综合| 日韩精品免费在线| 欧洲成人一区| 亚洲一区二区高清视频| 高清国产午夜精品久久久久久| 亚洲欧美一区二区三区四区五区| 3d成人h动漫网站入口| 欧美aa一级| 免费成人深夜夜行网站视频| 久久综合精品国产一区二区三区| 久久免费激情视频| 亚洲美女av电影|