System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 人妻中文字幕无码专区,无码熟妇人妻av,精品无码成人久久久久久
  • 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種基于循環緩存的滑動窗口注意力加速方法及裝置制造方法及圖紙

    技術編號:43831077 閱讀:22 留言:0更新日期:2024-12-31 18:30
    本發明專利技術提供一種基于循環緩存的滑動窗口注意力加速方法及裝置,解決了現有技術在滑動窗口注意力機制中內存存儲效率較低,進而導致大模型對于序列處理速度慢的問題?;诃h形緩存機制對含有滑動窗口注意力的大語言模型進行優化,在提高SWA中K?Rcache和V?Rcache對內存的利用效率的同時,還提高了K?Rcache和V?Rcache數據存儲的速度,進而提升了整個大語言模型的推理速度。

    【技術實現步驟摘要】

    本專利技術涉及計算機,尤其涉及一種基于循環緩存的滑動窗口注意力加速方法及裝置。


    技術介紹

    1、隨著人工智能技術的發展,特別是深度學習技術的進步,注意力機制(attentionmechanism),因其在處理長依賴關系上的優越性能而逐漸成為自然語言處理、語音識別等
    的核心組件。傳統的神經網絡模型在處理長序列時存在梯度消失或梯度爆炸的問題,同時,隨著序列長度的增長,模型計算的復雜度與序列長度的平方成線性關系,這使得大模型在長序列數據上的處理變得非常耗時。

    2、近年來,transformer架構通過引入滑動窗口自注意力機制(sliding?windowattention,swa),允許模型并行處理固定窗口大小的數據,從而顯著提高了訓練效率。

    3、swa的計算過程如下:

    4、

    5、其中,為二維矩陣,n1為文本長度,h為隱藏層長度;dk為矩陣第二維度的長度h,kt為矩陣k的轉置。在進行softmax處理之前乘以一個掩碼(),sa的mask為下三角的矩陣,使得每個文本位置的token只注意到該位置及之前的文本內容。swa的mask與sa不同,存在一個窗口大小(window?size),使得attention只關注窗口大小內的文本內容。

    6、在大模型(large?language?model,llm)推理過程了為了減少模型的重復計算,一般會使用kv?cache技術對attention中計算的k、v矩陣進行緩存,避免了新請求query推理計算時重復歷史kv矩陣的計算,降低模型推理的計算量,提高模型的推理速度。

    7、然而現有的一些kv?cache技術對于swa計算存在內存的利用率較低、存儲效率低下的問題。


    技術實現思路

    1、本專利技術提供一種基于循環緩存的滑動窗口注意力加速方法及裝置,以解決現有技術在滑動窗口注意力機制中內存存儲效率較低,進而導致大模型對于序列處理速度慢的問題。

    2、第一個方面,本專利技術提供了一種基于循環緩存的滑動窗口注意力加速方法,具體包括如下步驟:

    3、步驟s1、獲取大語言模型(large?language?model,llm)的參數;

    4、步驟s2、根據所述llm的參數,在llm推理計算前為所述llm中的每個解碼層(decoder?layer)分別分配兩個長度為n的環形緩存塊(ring?buffer?cache?block,rbcb)krcache和v?rcache;

    5、步驟s3、在llm輸入數據準備階段,根據輸入數據token0,token1,...,tokenk和相應下標(在本申請中,所述“相應下標”表示,對于tokeni,其相應下標為i),為每個token分配k?rcache和v?rcache的環形緩存位置索引;

    6、步驟s4、根據所有token的環形緩存位置索引,將llm推理過程中每個token的k矩陣和v矩陣分別存儲在k?rcache和v?rcache對應(在本申請中,所述“對應”表示,對于tokeni,通過步驟s3為其分配的環形緩存位置索引為indexi,其k矩陣存儲在k?rcache的第indexi個位置,其v矩陣存儲在v?rcache的第indexi個位置)的環形緩存位置。

    7、其中,n表示滑動窗口注意力(sliding?window?attention,swa)窗口的大小,n為正整數。

    8、其中,rcache表示環形緩存(ring?buffer?cache)。

    9、其中,i、k均為正整數,i大于等于1且i小于等于k。

    10、優選地,步驟s2中,所述環形緩存塊表示由n個塊組成,用于存放k矩陣和v矩陣緩存的緩存塊。

    11、優選地,步驟s2中,每個解碼層的k矩陣和v矩陣各自分配有一個環形緩存塊,分別為[kc0,kc1,...,kcn-1]和[vc0,vc1,...,vcn-1]。

    12、其中,在本申請中,因為llm生成是個循環推理的過程,每次推理前都需要進行一個輸入數據準備或處理,故描述為在llm輸入數據準備階段。llm在循環推理的過程中,第一次推理稱為prefill階段,第二次推理直至結束推理稱為decode階段。

    13、優選地,步驟s3中,在llm輸入數據準備階段,根據輸入數據token0,token1,...,tokenk和相應下標,為每個token分配k?rcache和v?rcache索引位置,具體包括如下步驟:

    14、步驟s301、在llm第一次推理時(或者可以表示為第一次推理prefill階段前的數據準備階段),輸入k個token,當j小于等于n-1時,將tokeni的環形緩存位置索引分配為j,并將所述環形緩存位置索引輸入索引隊列qj;當j大于n-1時,將后n個token的k矩陣和v矩陣進行緩存,環形緩存位置索引分配為[0,1,...,n-1];

    15、步驟s302、在llm自回歸推理過程中(或者可以表示為decode階段每次推理前的數據準備階段),按照下標從小到大每次獲取一個token,獲取此時索引隊列q的最后一個索引n,根據所述索引n重新分配當前token在環形緩存塊中的環形緩存位置索引index并將所述環形緩存位置索引index添加到索引隊列q中;

    16、步驟s303、重復執行步驟s302,直至llm自回歸生成結束;

    17、其中,j為正整數,j大于等于1且j小于等于k。

    18、優選地,步驟s302中,索引隊列q長度與k?rcache和v?rcache長度均相同,所述環形緩存位置索引index的具體計算如下所示:

    19、index=(n+1)%n;

    20、其中,n為正整數,%表示取余;index為正整數。由上式可知,索引隊列q中存儲的索引最大為n-1,對應環形緩存的最后一個位置。隨著n的增大,環形緩存位置索引index會從0~n-1循環,即新生成token的k矩陣和v矩陣從環形緩存塊起始位置存儲到緩存塊最后一個位置后,然后再從起始位置進行存儲,形成循環重復利用緩存空間。

    21、優選地,一種基于循環緩存的滑動窗口注意力加速方法,還包括:

    22、步驟s5、swa在解碼計算階段,根據所有token的環形緩存位置索引,獲取k?rcache和v?rcache中存儲的k矩陣和v矩陣,并通過k矩陣和v矩陣進行計算,形成llm的注意力計算結果。

    23、優選地,步驟s5中,每次attention計算過程中,k矩陣和v矩陣的索引均一一對應(例如,,,);

    24、從上述計算過程可以看出,每次計算k矩陣和v矩陣的下標均保持一致,attn3(q,k,v)是q3與每對k矩陣、v矩陣計算的和,下標與每對矩陣k和矩陣v計算的順序無關。因此,在attention計算過程中無需根據輸入token的順序計算,僅需從環形緩存塊的起始位置計算即可。

    25、其中,在本申本文檔來自技高網...

    【技術保護點】

    1.一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,具體包括如下步驟:

    2.根據權利要求1所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,步驟S2中,所述環形緩存塊表示由N個塊組成,用于存放K矩陣和V矩陣緩存的緩存塊。

    3.根據權利要求1所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,步驟S3中,在LLM輸入數據準備階段,根據輸入數據token0,token1,...,tokenk和相應下標,為每個token分配K?Rcache和V?Rcache的環形緩存位置索引,具體包括如下步驟:

    4.根據權利要求3所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,步驟S302中,索引隊列Q長度與K?Rcache和V?Rcache長度均相同,所述環形緩存位置索引index的具體計算如下所示:

    5.根據權利要求1所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,還包括:

    6.根據權利要求1所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,具體包括如下模塊:

    7.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有計算機程序,所述計算機程序被處理器執行時實現如權利要求1-5任一項所述的一種基于循環緩存的滑動窗口注意力加速方法。

    8.一種電子設備,其特征在于,包括存儲器、處理器以及存儲在所述存儲器中并可在所述處理器上運行的計算機程序,所述處理器執行所述計算機程序時實現如權利要求1-5任一項所述的一種基于循環緩存的滑動窗口注意力加速方法。

    ...

    【技術特征摘要】

    1.一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,具體包括如下步驟:

    2.根據權利要求1所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,步驟s2中,所述環形緩存塊表示由n個塊組成,用于存放k矩陣和v矩陣緩存的緩存塊。

    3.根據權利要求1所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,步驟s3中,在llm輸入數據準備階段,根據輸入數據token0,token1,...,tokenk和相應下標,為每個token分配k?rcache和v?rcache的環形緩存位置索引,具體包括如下步驟:

    4.根據權利要求3所述的一種基于循環緩存的滑動窗口注意力加速方法,其特征在于,步驟s302中,索引隊列q長度與k?rcache和v?rcac...

    【專利技術屬性】
    技術研發人員:岳丹陽,
    申請(專利權)人:上海巖芯數智人工智能科技有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV无码国产精品色午友在线| 国模无码一区二区三区| 亚洲国产成人精品无码久久久久久综合| 无码夜色一区二区三区| 人妻系列无码专区久久五月天 | 久久久久成人精品无码中文字幕 | 亚洲不卡无码av中文字幕| 日韩免费无码一区二区三区| 久久久久亚洲AV无码去区首| 亚洲国产无套无码av电影| 人妻精品久久无码区洗澡| 熟妇无码乱子成人精品| 亚洲?v无码国产在丝袜线观看| 精品无码人妻一区二区免费蜜桃 | 超清无码无卡中文字幕| 亚洲AV色无码乱码在线观看| 日韩国产成人无码av毛片| 狠狠噜天天噜日日噜无码| 久久精品无码一区二区三区免费| 少妇无码一区二区三区| 国产精品视频一区二区三区无码 | 999久久久无码国产精品| 中文字幕无码无码专区| 国产精品无码素人福利不卡| 国产精品爽爽va在线观看无码| 曰产无码久久久久久精品 | 亚洲aⅴ无码专区在线观看| 久久亚洲精品无码aⅴ大香| 国产真人无码作爱视频免费| 成人无码区免费A∨直播| 久久久91人妻无码精品蜜桃HD| 无码专区一va亚洲v专区在线| 色综合99久久久无码国产精品| 曰韩人妻无码一区二区三区综合部| 男人的天堂无码动漫AV| 久久久久久久亚洲Av无码| 人妻丰满熟妞av无码区| 久久水蜜桃亚洲av无码精品麻豆 | 亚洲无码精品浪潮| 国产日韩精品无码区免费专区国产 | 好爽毛片一区二区三区四无码三飞 |