欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)反量化方法、裝置、設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

文檔序號(hào):40608122發(fā)布日期:2025-01-07 20:48閱讀:6來源:國知局
一種數(shù)據(jù)反量化方法、裝置、設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)與流程

本發(fā)明涉及深度學(xué)習(xí),特別是涉及一種數(shù)據(jù)反量化方法、裝置、設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。


背景技術(shù):

1、模型量化是深度學(xué)習(xí)領(lǐng)域中一種常見的技術(shù),用于減少模型的大小和計(jì)算資源的需求,從而提高模型的運(yùn)行效率。模型量化是指將神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)從高精度的浮點(diǎn)數(shù)轉(zhuǎn)換為低精度的整數(shù)的過程。常見的高精度的浮點(diǎn)數(shù)包括fp32、fp16;低精度的整數(shù)包括int8、int4等。反量化是模型推理過程中的重要步驟,當(dāng)完成部署后的模型執(zhí)行推理時(shí)需要通過反量化將量化后的低精度整數(shù)參數(shù)轉(zhuǎn)換回高精度的浮點(diǎn)數(shù)參數(shù)。

2、int8在大多數(shù)硬件平臺(tái)上是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)類型,因此8bit量化得到了廣泛應(yīng)用。為了進(jìn)一步降低模型的存儲(chǔ)需求和計(jì)算復(fù)雜度,進(jìn)一步發(fā)展出了4bit量化。8bit量化和4bit量化的實(shí)現(xiàn)難度并無差異。但是量化后模型部署的硬件平臺(tái)多種多樣,并不是所有的硬件平臺(tái)都支持4bit計(jì)算。

3、可見,如何在不支持4bit數(shù)據(jù)類型的處理器上實(shí)現(xiàn)4bit反量化,從而充分發(fā)揮4bit量化占用存儲(chǔ)空間小和計(jì)算效率高的優(yōu)勢,是本領(lǐng)域技術(shù)人員需要解決的問題。


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

1、本發(fā)明實(shí)施例的目的是提供一種數(shù)據(jù)反量化方法、裝置、設(shè)備和計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),可以解決4bit量化在不支持4bit數(shù)據(jù)類型的硬件平臺(tái)上的應(yīng)用問題。

2、為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種數(shù)據(jù)反量化方法,包括:

3、在反量化計(jì)算未完成的情況下,根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的位置信息,從緩存中讀取出int4類型的偏置;根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的位置信息,從緩存中讀取出fp16類型的量化系數(shù);

4、在未讀取出當(dāng)前組內(nèi)所有int4類型的權(quán)重的情況下,根據(jù)int4類型的權(quán)重對應(yīng)的位置信息,從緩存中讀取int4類型的權(quán)重;

5、在讀取出當(dāng)前組內(nèi)所有int4類型的權(quán)重的情況下,按照反量化處理規(guī)則,對當(dāng)前組內(nèi)所有int4類型的權(quán)重、int4類型的偏置以及fp16類型的量化系數(shù)進(jìn)行處理,以得到當(dāng)前組對應(yīng)的反量化結(jié)果;

6、在當(dāng)前組不為最后一組的情況下,將下一組的各類型數(shù)據(jù)對應(yīng)的位置信息作為最新的當(dāng)前組的各類型數(shù)據(jù)的位置信息,并返回根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的位置信息,從緩存中讀取出int4類型的偏置;根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的位置信息,從緩存中讀取出fp16類型的量化系數(shù)的步驟,直至完成所述緩存中所有數(shù)據(jù)的反量化計(jì)算;其中,各類數(shù)據(jù)至少包括int4類型的偏置、fp16類型的量化系數(shù)和int4類型的權(quán)重。

7、一方面,根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的位置信息,從緩存中讀取出int4類型的偏置;根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的位置信息,從緩存中讀取出fp16類型的量化系數(shù)包括:

8、根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的起始地址和起始偏移,從緩存中讀取出當(dāng)前組的int4類型的偏置,并存儲(chǔ)當(dāng)前組的int4類型的偏置;

9、根據(jù)當(dāng)前組的int4類型的偏置的累加地址,確定出下一組的int4類型的偏置對應(yīng)的地址和偏移;

10、根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的起始地址和起始偏移,讀取出當(dāng)前組的fp16類型的量化系數(shù),并存儲(chǔ)當(dāng)前組的fp16類型的量化系數(shù);

11、根據(jù)當(dāng)前組的fp16類型的量化系數(shù)的累加地址,確定出下一組的fp16類型的量化系數(shù)對應(yīng)的地址和偏移。

12、一方面,在未讀取出當(dāng)前組內(nèi)所有int4類型的權(quán)重的情況下,根據(jù)int4類型的權(quán)重對應(yīng)的位置信息,從緩存中讀取int4類型的權(quán)重包括:

13、根據(jù)int4類型的權(quán)重對應(yīng)的起始地址和起始偏移,從緩存中讀取當(dāng)前組包含的int4類型的權(quán)重,并存儲(chǔ)當(dāng)前組的int4類型的權(quán)重;

14、根據(jù)當(dāng)前組的int4類型的權(quán)重的累加地址,計(jì)算出下一組int4類型的權(quán)重對應(yīng)的地址和偏移。

15、一方面,按照反量化處理規(guī)則,對當(dāng)前組內(nèi)所有int4類型的權(quán)重、int4類型的偏置以及fp16類型的量化系數(shù)進(jìn)行處理,以得到當(dāng)前組對應(yīng)的反量化結(jié)果包括:

16、將int4類型的權(quán)重轉(zhuǎn)換為int8類型的權(quán)重;其中,int8類型的權(quán)重包括高位int8類型的權(quán)重和低位int8類型的權(quán)重;

17、將int4類型的偏置轉(zhuǎn)換為int8類型的偏置;其中,int8類型的偏置包括高位int8類型的偏置和低位int8類型的偏置;

18、根據(jù)向量減法指令,計(jì)算所述低位int8類型的權(quán)重和所述低位int8類型的偏置的int8類型的第一差數(shù)據(jù);

19、調(diào)用數(shù)據(jù)類型轉(zhuǎn)換指令,將所述第一差數(shù)據(jù)中低256bit數(shù)據(jù)轉(zhuǎn)換為fp16類型的第一低位數(shù)據(jù),并存儲(chǔ)fp16類型的第一低位數(shù)據(jù);

20、根據(jù)移位指令,將所述第一差數(shù)據(jù)右移256bit,并將右移后的第一差數(shù)據(jù)轉(zhuǎn)換為fp16類型的第一高位數(shù)據(jù),并存儲(chǔ)fp16類型的第一高位數(shù)據(jù);

21、根據(jù)向量減法指令,計(jì)算所述高位int8類型的權(quán)重和所述高位int8類型的偏置的int8類型的第二差數(shù)據(jù);

22、調(diào)用數(shù)據(jù)類型轉(zhuǎn)換指令,將所述第二差數(shù)據(jù)中低256bit數(shù)據(jù)轉(zhuǎn)換為fp16類型的第二低位數(shù)據(jù),并存儲(chǔ)fp16類型的第二低位數(shù)據(jù);

23、根據(jù)移位指令,將所述第二差數(shù)據(jù)右移256bit,并將右移后的第二差數(shù)據(jù)轉(zhuǎn)換為fp16類型的第二高位數(shù)據(jù),并存儲(chǔ)fp16類型的第二高位數(shù)據(jù);

24、計(jì)算fp16類型的量化系數(shù)與其對應(yīng)的fp16類型的數(shù)據(jù)的乘積,將各乘積值作為各組對應(yīng)的反量化結(jié)果,并存儲(chǔ)各組對應(yīng)的反量化結(jié)果。

25、一方面,將int4類型的權(quán)重轉(zhuǎn)換為int8類型的權(quán)重包括:

26、將int4類型的權(quán)重中的512bit數(shù)據(jù)解析為64個(gè)int8類型的權(quán)重;

27、按照向量右移指令,將各int8類型的權(quán)重右移并存儲(chǔ)右移后得到的高位int8類型的權(quán)重;

28、按照向量左移指令,將各int8類型的權(quán)重執(zhí)行左移;

29、按照向量右移指令,將左移后的各int8類型的權(quán)重執(zhí)行右移,并存儲(chǔ)右移后得到的低位int8類型的權(quán)重。

30、一方面,將int4類型的偏置轉(zhuǎn)換為int8類型的偏置包括:

31、將int4類型的偏置中的512bit數(shù)據(jù)解析為64個(gè)int8類型的偏置;

32、按照向量右移指令,將各int8類型的偏置右移并存儲(chǔ)右移后得到的高位int8類型的偏置;

33、按照向量左移指令,將各int8類型的偏置執(zhí)行左移;

34、按照向量右移指令,將左移后的各int8類型的偏置執(zhí)行右移,并存儲(chǔ)右移后得到的低位int8類型的偏置。

35、一方面,計(jì)算fp16類型的量化系數(shù)與其對應(yīng)的fp16類型的數(shù)據(jù)的乘積,將各乘積值作為各組對應(yīng)的反量化結(jié)果,并存儲(chǔ)各組對應(yīng)的反量化結(jié)果包括:

36、計(jì)算fp16類型的量化系數(shù)與fp16類型的第一低位數(shù)據(jù)的乘積,將乘積值作為第一組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第一組對應(yīng)的反量化結(jié)果;

37、計(jì)算fp16類型的量化系數(shù)與fp16類型的第一高位數(shù)據(jù)的乘積,將乘積值作為第二組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第二組對應(yīng)的反量化結(jié)果;

38、計(jì)算fp16類型的量化系數(shù)與fp16類型的第二低位數(shù)據(jù)的乘積,將乘積值作為第三組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第三組對應(yīng)的反量化結(jié)果;

39、計(jì)算fp16類型的量化系數(shù)與fp16類型的第二高位數(shù)據(jù)的乘積,將乘積值作為第四組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第四組對應(yīng)的反量化結(jié)果。

40、本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)反量化裝置,包括第一讀取單元、第二讀取單元、反量化單元和作為單元;

41、所述第一讀取單元,用于在反量化計(jì)算未完成的情況下,根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的位置信息,從緩存中讀取出int4類型的偏置;根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的位置信息,從緩存中讀取出fp16類型的量化系數(shù);

42、所述第二讀取單元,用于在未讀取出當(dāng)前組內(nèi)所有int4類型的權(quán)重的情況下,根據(jù)int4類型的權(quán)重對應(yīng)的位置信息,從緩存中讀取int4類型的權(quán)重;

43、所述反量化單元,用于在讀取出當(dāng)前組內(nèi)所有int4類型的權(quán)重的情況下,按照反量化處理規(guī)則,對當(dāng)前組內(nèi)所有int4類型的權(quán)重、int4類型的偏置以及fp16類型的量化系數(shù)進(jìn)行處理,以得到當(dāng)前組對應(yīng)的反量化結(jié)果;

44、所述作為單元,用于在當(dāng)前組不為最后一組的情況下,將下一組的各類型數(shù)據(jù)對應(yīng)的位置信息作為最新的當(dāng)前組的各類型數(shù)據(jù)的位置信息,并返回根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的位置信息,從緩存中讀取出int4類型的偏置;根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的位置信息,從緩存中讀取出fp16類型的量化系數(shù)的步驟,直至完成所述緩存中所有數(shù)據(jù)的反量化計(jì)算;其中,各類數(shù)據(jù)至少包括int4類型的偏置、fp16類型的量化系數(shù)和int4類型的權(quán)重。

45、一方面,所述第一讀取單元用于根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的起始地址和起始偏移,從緩存中讀取出當(dāng)前組的int4類型的偏置,并存儲(chǔ)當(dāng)前組的int4類型的偏置;

46、根據(jù)當(dāng)前組的int4類型的偏置的累加地址,確定出下一組的int4類型的偏置對應(yīng)的地址和偏移;

47、根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的起始地址和起始偏移,讀取出當(dāng)前組的fp16類型的量化系數(shù),并存儲(chǔ)當(dāng)前組的fp16類型的量化系數(shù);

48、根據(jù)當(dāng)前組的fp16類型的量化系數(shù)的累加地址,確定出下一組的fp16類型的量化系數(shù)對應(yīng)的地址和偏移。

49、一方面,所述第二讀取單元用于根據(jù)int4類型的權(quán)重對應(yīng)的起始地址和起始偏移,從緩存中讀取當(dāng)前組包含的int4類型的權(quán)重,并存儲(chǔ)當(dāng)前組的int4類型的權(quán)重;

50、根據(jù)當(dāng)前組的int4類型的權(quán)重的累加地址,計(jì)算出下一組int4類型的權(quán)重對應(yīng)的地址和偏移。

51、一方面,所述反量化單元包括第一轉(zhuǎn)換子單元、第二轉(zhuǎn)換子單元、第一相減子單元、第三轉(zhuǎn)換子單元、第一保存子單元、第一移位子單元、第四轉(zhuǎn)換子單元、第二保存子單元、第二相減子單元、第五轉(zhuǎn)換子單元、第三保存子單元、第二移位子單元、第六轉(zhuǎn)換子單元、第四保存子單元和相乘子單元;

52、所述第一轉(zhuǎn)換子單元,用于將int4類型的權(quán)重轉(zhuǎn)換為int8類型的權(quán)重;其中,int8類型的權(quán)重包括高位int8類型的權(quán)重和低位int8類型的權(quán)重;

53、所述第二轉(zhuǎn)換子單元,用于將int4類型的偏置轉(zhuǎn)換為int8類型的偏置;其中,int8類型的偏置包括高位int8類型的偏置和低位int8類型的偏置;

54、所述第一相減子單元,用于根據(jù)向量減法指令,計(jì)算所述低位int8類型的權(quán)重和所述低位int8類型的偏置的int8類型的第一差數(shù)據(jù);

55、所述第三轉(zhuǎn)換子單元,用于調(diào)用數(shù)據(jù)類型轉(zhuǎn)換指令,將所述第一差數(shù)據(jù)中低256bit數(shù)據(jù)轉(zhuǎn)換為fp16類型的第一低位數(shù)據(jù);

56、所述第一保存子單元,用于存儲(chǔ)fp16類型的第一低位數(shù)據(jù);

57、所述第一移位子單元,用于根據(jù)移位指令,將所述第一差數(shù)據(jù)右移256bit;

58、所述第四轉(zhuǎn)換子單元,用于將右移后的第一差數(shù)據(jù)轉(zhuǎn)換為fp16類型的第一高位數(shù)據(jù);

59、所述第二保存子單元,用于存儲(chǔ)fp16類型的第一高位數(shù)據(jù);

60、所述第二相減子單元,用于根據(jù)向量減法指令,計(jì)算所述高位int8類型的權(quán)重和所述高位int8類型的偏置的int8類型的第二差數(shù)據(jù);

61、所述第五轉(zhuǎn)換子單元,用于調(diào)用數(shù)據(jù)類型轉(zhuǎn)換指令,將所述第二差數(shù)據(jù)中低256bit數(shù)據(jù)轉(zhuǎn)換為fp16類型的第二低位數(shù)據(jù);

62、所述第三保存子單元,用于存儲(chǔ)fp16類型的第二低位數(shù)據(jù);

63、所述第二移位子單元,用于根據(jù)移位指令,將所述第二差數(shù)據(jù)右移256bit;

64、所述第六轉(zhuǎn)換子單元,用于將右移后的第二差數(shù)據(jù)轉(zhuǎn)換為fp16類型的第二高位數(shù)據(jù);

65、所述第四保存子單元,用于存儲(chǔ)fp16類型的第二高位數(shù)據(jù);

66、所述相乘子單元,用于計(jì)算fp16類型的量化系數(shù)與其對應(yīng)的fp16類型的數(shù)據(jù)的乘積,將各乘積值作為各組對應(yīng)的反量化結(jié)果,并存儲(chǔ)各組對應(yīng)的反量化結(jié)果。

67、一方面,所述第一轉(zhuǎn)換子單元用于將int4類型的權(quán)重中的512bit數(shù)據(jù)解析為64個(gè)int8類型的權(quán)重;

68、按照向量右移指令,將各int8類型的權(quán)重右移并存儲(chǔ)右移后得到的高位int8類型的權(quán)重;

69、按照向量左移指令,將各int8類型的權(quán)重執(zhí)行左移;

70、按照向量右移指令,將左移后的各int8類型的權(quán)重執(zhí)行右移,并存儲(chǔ)右移后得到的低位int8類型的權(quán)重。

71、一方面,所述第二轉(zhuǎn)換子單元用于將int4類型的偏置中的512bit數(shù)據(jù)解析為64個(gè)int8類型的偏置;

72、按照向量右移指令,將各int8類型的偏置右移并存儲(chǔ)右移后得到的高位int8類型的偏置;

73、按照向量左移指令,將各int8類型的偏置執(zhí)行左移;

74、按照向量右移指令,將左移后的各int8類型的偏置執(zhí)行右移,并存儲(chǔ)右移后得到的低位int8類型的偏置。

75、一方面,所述相乘子單元用于計(jì)算fp16類型的量化系數(shù)與p16類型的第一低位數(shù)據(jù)的乘積,將乘積值作為第一組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第一組對應(yīng)的反量化結(jié)果;

76、計(jì)算fp16類型的量化系數(shù)與fp16類型的第一高位數(shù)據(jù)的乘積,將乘積值作為第二組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第二組對應(yīng)的反量化結(jié)果;

77、計(jì)算fp16類型的量化系數(shù)與fp16類型的第二低位數(shù)據(jù)的乘積,將乘積值作為第三組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第三組對應(yīng)的反量化結(jié)果;

78、計(jì)算fp16類型的量化系數(shù)與fp16類型的第二高位數(shù)據(jù)的乘積,將乘積值作為第四組對應(yīng)的反量化結(jié)果,并存儲(chǔ)第四組對應(yīng)的反量化結(jié)果。

79、本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)反量化設(shè)備,包括:

80、存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;

81、處理器,用于執(zhí)行所述計(jì)算機(jī)程序以實(shí)現(xiàn)如上述數(shù)據(jù)反量化方法的步驟。

82、本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上述數(shù)據(jù)反量化方法的步驟。

83、本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,該計(jì)算機(jī)程序/指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述數(shù)據(jù)反量化方法的步驟。

84、由上述技術(shù)方案可以看出,在反量化計(jì)算未完成的情況下,根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的位置信息,從緩存中讀取出int4類型的偏置;根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的位置信息,從緩存中讀取出fp16類型的量化系數(shù)。在未讀取出當(dāng)前組內(nèi)所有int4類型的權(quán)重的情況下,根據(jù)int4類型的權(quán)重對應(yīng)的位置信息,從緩存中讀取int4類型的權(quán)重。在讀取出當(dāng)前組內(nèi)所有int4類型的權(quán)重的情況下,說明當(dāng)前組對應(yīng)的數(shù)據(jù)已經(jīng)讀取完畢,此時(shí)可以按照反量化處理規(guī)則,對當(dāng)前組內(nèi)所有int4類型的權(quán)重、int4類型的偏置以及fp16類型的量化系數(shù)進(jìn)行處理,以得到當(dāng)前組對應(yīng)的反量化結(jié)果。在當(dāng)前組不為最后一組的情況下,將下一組的各類型數(shù)據(jù)對應(yīng)的位置信息作為最新的當(dāng)前組的各類型數(shù)據(jù)的位置信息,并返回根據(jù)當(dāng)前組的int4類型的偏置對應(yīng)的位置信息,從緩存中讀取出int4類型的偏置;根據(jù)當(dāng)前組的fp16類型的量化系數(shù)對應(yīng)的位置信息,從緩存中讀取出fp16類型的量化系數(shù)的步驟,直至完成緩存中所有數(shù)據(jù)的反量化計(jì)算;其中,各類數(shù)據(jù)至少包括int4類型的偏置、fp16類型的量化系數(shù)和int4類型的權(quán)重。本發(fā)明的有益效果在于,通過循環(huán)的方式可以依次獲取執(zhí)行反量化操作所需的數(shù)據(jù),包括同一組內(nèi)int4類型的偏置、fp16類型的量化系數(shù)以及int4類型的權(quán)重。依據(jù)int4類型的數(shù)據(jù)存儲(chǔ)方式設(shè)置反量化處理規(guī)則,可以在不支持4bit數(shù)據(jù)類型的處理器上實(shí)現(xiàn)4bit反量化,從而充分發(fā)揮4bit量化占用存儲(chǔ)空間小和計(jì)算效率高的優(yōu)勢。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
金溪县| 大城县| 库车县| 太康县| 麻栗坡县| 桐柏县| 嘉黎县| 三明市| 齐河县| 阆中市| 永兴县| 连城县| 济阳县| 林甸县| 灵寿县| 丹东市| 灵宝市| 长宁区| 宜良县| 青阳县| 马边| 观塘区| 陆丰市| 竹北市| 辽源市| 台湾省| 宣武区| 岑巩县| 阿拉善盟| 万宁市| 玛曲县| 陵水| 叙永县| 克什克腾旗| 东丰县| 修水县| 南通市| 剑川县| 巴青县| 米易县| 皮山县|