最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

滑動?xùn)艡诔朔e量化方法和裝置

文檔序號:41954911發(fā)布日期:2025-05-16 14:20閱讀:3來源:國知局
滑動?xùn)艡诔朔e量化方法和裝置

本發(fā)明屬于信息,具體涉及一種滑動?xùn)艡诔朔e量化方法和裝置。


背景技術(shù):

1、在大語言模型llm(large?language?model)如chatgpt的開發(fā)與應(yīng)用中,矩陣的存儲和計(jì)算效率是一個關(guān)鍵的問題。這些模型的參數(shù)量巨大,大矩陣的存儲和運(yùn)算帶來了很高的計(jì)算負(fù)擔(dān)。矩陣量化技術(shù)用更緊湊的形式來記錄矩陣的數(shù)值信息,以減少存儲需求,在使用時可以通過反量化恢復(fù)原始矩陣。這一過程在llm權(quán)重量化、kv(key-value,鍵值)緩存量化、向量數(shù)據(jù)庫管理、圖壓縮以及圖像壓縮等應(yīng)用中具有重要作用。

2、rtn量化算法是一種傳統(tǒng)的矩陣元素量化技術(shù)。通常來說,給定一個含有n個元素的矩陣,元素表示為a1,a2,a3...an,rtn算法通過一個簡單的舍入操作,將每個元素ak映射到其最近的離散值集合中。這一過程中的核心操作是將矩陣元素四舍五入到預(yù)先定義的量化區(qū)間內(nèi),通常用公式ak≈round(ak)表示,其中round(·)函數(shù)用于將元素值映射到最接近的量化區(qū)間。rtn計(jì)算簡單且高效,但量化區(qū)間的大小往往取決于矩陣中數(shù)值的范圍,當(dāng)數(shù)值中存在離群值時,量化誤差可能會很大。

3、向量量化是一種傳統(tǒng)的向量壓縮技術(shù)。通常來說,給定n個d維實(shí)向量v1,v2,...,vn,向量量化算法生成一個量化器,這個量化器把v1,v2,...,vn中的一個向量vk映射到碼本(其中i在一個有限的指標(biāo)集中取值)中的一個碼字c(i(vk))。函數(shù)i(·)稱為編碼器,函數(shù)c(·)稱為解碼器。一般也使用q(vk)來作為c(i(vk))的簡寫,它是vk的一個近似估計(jì)。量化失真(或壓縮誤差)定義為mse(q)=∑1≤k≤n|vk-q(vk)|2。量化失真越低,量化算法的量化精度就越高,優(yōu)良的量化算法往往具有較低的量化失真。

4、k-means算法是一種主流的聚類算法,k-means把n個向量劃分成k個聚類,每個向量劃分到距離最近的簇中心,可通過反復(fù)執(zhí)行“取簇內(nèi)向量均值作為新的簇中心-重新劃分簇”的過程逐漸降低各向量到簇中心的距離總和。k-means算法可視作一種向量量化算法,碼本是k個代表簇中心的向量,v1,v2,...,vn中的每個向量編碼到一個1到k間的整數(shù)。圖1是k-means算法的效果示意圖。

5、乘積量化(product?quantization)算法也是一種向量量化算法,其流程如圖2所示。對n個d維實(shí)向量v1,v2,...,vn,乘積量化算法先將每個向量劃分為m個子向量,每個子向量的維度為d/m維。故而對n個d維實(shí)向量v1,v2,...,vn,維度對應(yīng)的n個子向量構(gòu)成一個維度為d/m的子空間。在完成子空間劃分后,乘積量化算法在每個子空間內(nèi)使用k-means算法進(jìn)行聚類得到碼本和編碼。將每個子空間的碼本和編碼合并,即得到這n個d維實(shí)向量的量化結(jié)果。假設(shè)vk=(vk1,vk2,...,vkm)被劃分為m個子向量vk1,vk2,...,vkm(每個都是d/m維),vk1,vk2,...,vkm在k-means算法下產(chǎn)生的近似估計(jì)分別為q1(vk1),q2(vk2),...,qm(vkm),則vk在乘積量化算法下的近似估計(jì)為q(vk)=(q1(vk1),q2(vk2),...,qm(vkm))。

6、現(xiàn)有的乘積量化算法存在的主要問題是編碼解碼時間過長,壓縮誤差較大。


技術(shù)實(shí)現(xiàn)思路

1、本發(fā)明主要解決乘積量化算法的改進(jìn)和優(yōu)化問題,具體為在保持編碼解碼時間不過長的同時盡量縮小壓縮誤差。

2、本發(fā)明采用的技術(shù)方案如下:

3、一種滑動?xùn)艡诔朔e量化方法,包括以下步驟:

4、獲取輸入的n個d維向量;

5、將n個d維向量視為n×d矩陣,對n×d矩陣進(jìn)行初始分割;所述初始分割包括:將矩陣中相鄰兩個元素視為一對元素,將每對元素中數(shù)值較小的元素放入小值矩陣,數(shù)值較大的元素放入大值矩陣,并使用指示變量記錄每對元素的相對大小關(guān)系,將指示變量存儲在第一指示矩陣中;

6、對初始分割后的小值矩陣和大值矩陣進(jìn)行遞歸分割,通過繼續(xù)進(jìn)行元素對比較和分割,生成新的小值矩陣、大值矩陣和第一指示矩陣;

7、將遞歸分割后得到的小值矩陣、大值矩陣合并成一個新的n×d矩陣,通過滑窗的方式對合并后的矩陣劃分子空間;

8、在劃分的各個子空間內(nèi)執(zhí)行k-means聚類,將聚類得到的簇中心作為碼本,對子空間內(nèi)的所有向量進(jìn)行編碼;

9、通過count-min操作得到合并后的矩陣中每一個元素的最終編碼,將各個元素的最終編碼進(jìn)行合并,得到量化結(jié)果。

10、進(jìn)一步地,所述初始分割還包括:設(shè)任意元素在原始矩陣中的位置為(a,b),則其在小值矩陣或大值矩陣中的對應(yīng)位置為(a,[b/2]),指示變量存儲在第一指示矩陣的(a,[b/2]),其中[·]代表取整函數(shù);按順序遍歷整個矩陣的元素對,生成小值矩陣、大值矩陣和大小為n×d/2的第一指示矩陣。

11、進(jìn)一步地,通過指定所述遞歸分割的次數(shù),形成樹狀分割結(jié)構(gòu),設(shè)遞歸分割的次數(shù)為l,則第一指示矩陣的總大小為l×n×d/2。

12、進(jìn)一步地,所述通過滑窗的方式對合并后的矩陣劃分子空間,包括:設(shè)定窗口大小和每次滑動的距離,將每個滑窗內(nèi)的向量作為一個子空間,將合并后的矩陣的每一個元素被映射到不同的子空間,形成該元素的副本,合并后的矩陣的每一個元素?fù)碛卸鄠€副本。

13、進(jìn)一步地,所述count-min操作包括:對合并后的矩陣的每一個元素,計(jì)算該元素和其每一個副本所在的子空間的簇中心的距離,在第二指數(shù)矩陣的對應(yīng)位置記錄下離該元素最近的副本所在的子空間編號,將與該元素最近的副本的編碼作為該元素的最終編碼。

14、一種基于滑動?xùn)艡诔朔e量化的圖像壓縮方法,包括以下步驟:

15、對待壓縮的原始圖像進(jìn)行初始分割;所述初始分割包括:將圖像看作一個n×d大小的像素矩陣,將每對相鄰像素視為一個元素對,將元素對中較小的值存入小值矩陣,較大的值存入大值矩陣,同時生成第一指示矩陣,用于記錄各對像素的相對大小關(guān)系;

16、對小值矩陣和大值矩陣矩陣進(jìn)行遞歸分割,形成新的小值矩陣、大值矩陣及對應(yīng)的第一指示矩陣;

17、將遞歸分割后得到的小值矩陣、大值矩陣合并成一個新的n×d矩陣,通過滑窗的方式對合并后的矩陣劃分子空間,每個滑窗內(nèi)的像素向量作為一個子空間,每個像素生成多個副本;

18、在劃分的各個子空間內(nèi)執(zhí)行k-means聚類,將聚類得到的簇中心作為碼本,對子空間內(nèi)的所有向量進(jìn)行編碼;

19、通過count-min操作得到合并后的矩陣中每一個元素的最終編碼,將各個元素的最終編碼進(jìn)行合并,得到量化結(jié)果,通過對量化結(jié)果進(jìn)行反量化恢復(fù)近似的原始圖像,從而實(shí)現(xiàn)圖像壓縮。

20、一種基于滑動?xùn)艡诔朔e量化的大語言模型權(quán)重量化存儲方法,包括以下步驟:

21、對大語言模型的權(quán)重矩陣進(jìn)行初始分割;所述初始分割包括:將大語言模型的權(quán)重矩陣視為n×d的矩陣,將每對相鄰權(quán)重視為一個元素對,將元素對中較小的值放入小值矩陣,較大的值放入大值矩陣,并生成第一指示矩陣,用于記錄每對權(quán)重的大小關(guān)系;

22、對小值矩陣和大值矩陣進(jìn)行遞歸分割,生成新的小值矩陣和大值矩陣,并生成對應(yīng)的第一指示矩陣;

23、將遞歸分割后得到的小值矩陣、大值矩陣合并成一個新的n×d矩陣,通過滑窗的方式對合并后的權(quán)重矩陣劃分子空間,每個滑窗內(nèi)的權(quán)重向量作為一個子空間,每個權(quán)重生成多個副本;

24、在劃分的各個子空間內(nèi)執(zhí)行k-means聚類,將聚類得到的簇中心作為碼本,對子空間內(nèi)的所有向量進(jìn)行編碼;

25、通過count-min操作得到合并后的矩陣中每一個元素的最終編碼,將各個元素的最終編碼進(jìn)行合并,得到整個權(quán)重矩陣的量化結(jié)果,從而實(shí)現(xiàn)對大語言模型的權(quán)重量化存儲。

26、一種滑動?xùn)艡诔朔e量化裝置,其包括:

27、輸入模塊,用于獲取輸入的n個d維向量;

28、初始分割模塊,用于將n個d維向量視為n×d矩陣,對n×d矩陣進(jìn)行初始分割;所述初始分割包括:將矩陣中相鄰兩個元素視為一對元素,將每對元素中數(shù)值較小的元素放入小值矩陣,數(shù)值較大的元素放入大值矩陣,并使用指示變量記錄每對元素的相對大小關(guān)系,將指示變量存儲在第一指示矩陣中;

29、遞歸分割模塊,用于對初始分割后的小值矩陣和大值矩陣進(jìn)行遞歸分割,通過繼續(xù)進(jìn)行元素對比較和分割,生成新的小值矩陣、大值矩陣和第一指示矩陣;

30、子空間劃分模塊,用于將遞歸分割后得到的小值矩陣、大值矩陣合并成一個新的n×d矩陣,通過滑窗的方式對合并后的矩陣劃分子空間;

31、聚類模塊,用于在劃分的各個子空間內(nèi)執(zhí)行k-means聚類,將聚類得到的簇中心作為碼本,對子空間內(nèi)的所有向量進(jìn)行編碼;

32、count-min操作及合并模塊,用于通過count-min操作得到合并后的矩陣中每一個元素的最終編碼,將各個元素的最終編碼進(jìn)行合并,得到量化結(jié)果。

33、本發(fā)明的有益效果如下:

34、本發(fā)明實(shí)現(xiàn)了乘積量化算法的改進(jìn)和優(yōu)化,能夠在保持編碼解碼時間不過長的同時盡量縮小壓縮誤差,可在保證精度的前提下有效減小內(nèi)存開銷。本發(fā)明可廣泛應(yīng)用于大語言模型(llm)權(quán)重量化、向量數(shù)據(jù)庫管理、kv緩存優(yōu)化、圖壓縮、圖像壓縮等需要高效矩陣量化的領(lǐng)域。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1