[發明專利]矩陣乘法計算方法和裝置在審
| 申請號: | 202010099356.0 | 申請日: | 2020-02-18 |
| 公開(公告)號: | CN111339490A | 公開(公告)日: | 2020-06-26 |
| 發明(設計)人: | 黨博超;王皓 | 申請(專利權)人: | 三星(中國)半導體有限公司;三星電子株式會社 |
| 主分類號: | G06F17/16 | 分類號: | G06F17/16 |
| 代理公司: | 北京銘碩知識產權代理有限公司 11286 | 代理人: | 高燕;王兆賡 |
| 地址: | 710000 陜西*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 矩陣 乘法 計算方法 裝置 | ||
提供一種矩陣乘法計算方法和裝置,該矩陣乘法計算方法包括:根據輸入被乘數矩陣和輸入乘數矩陣,確定第一乘法矩陣和第二乘法矩陣;根據所確定的第一乘法矩陣和第二乘法矩陣,確定待還原矩陣;根據所確定的待還原矩陣,確定矩陣還原約束值;根據所確定的矩陣還原約束值和待還原矩陣,確定輸入乘數矩陣和輸入被乘數矩陣的相乘結果。上述矩陣乘法計算方法和裝置,能夠在減小計算誤差的同時提高矩陣相乘的速度。
技術領域
本發明屬于計算機技術領域,更具體地講,涉及一種矩陣乘法計算方法和裝置。
背景技術
矩陣,是數學中一個重要的基本概念,一個M×N的矩陣是一個由M行N列元素排列成的矩形陣列。目前,在圖形處理器(GPU)進行圖像處理時、在手寫識別中進行輸入軌跡分析時、和/或在語音識別中進行輸入音頻分析時,矩陣乘法是其進行數據計算中非常重要的操作之一。
常見的矩陣乘法的計算方式主要有以下兩種:
(一)通用矩陣乘法(GEMM)。
如圖1所示,在通用矩陣乘法中如果計算相乘結果矩陣C中第m行第n列的元素的元素值,則需要計算矩陣A的第m行的行向量與矩陣B的第n列的列向量的內積。以圖1中的通用矩陣乘法為例,計算矩陣C中第1行第1列的元素的元素值,需要計算矩陣A第1行的行向量和矩陣B第1列的列向量的內積,即(0.6,0.4,0.5)·(0.3,1.1,0.0)=0.6×0.3+0.4×1.1+0.5×0.0=0.62≈0.6,相乘結果矩陣C中的其余元素的計算類似。
采用通用矩陣乘法的計算方式,如果需要進行浮點矩陣(float矩陣)相乘,則需要硬件設備支持float類型數據的乘法運算,但在支持整型類型(int8類型)數據計算的設備上該通用矩陣乘法無法完成float矩陣乘法。
此外,通用矩陣乘法中采用的float類型數據的乘法運算,在計算設備中進行處理比較耗時,并且會占用較大的內存。
(二)量化矩陣乘法。
谷歌在tensorflow中實現了一種量化和反量化方法,其通過在訓練過程中估計出用于反量化的最大值(max)和最小值(min),在反量化階段這兩個值均保持不變,因此推斷過程float結果矩陣的所有元素的元素值都被反量化回固定的min和max區間。
由于在上述量化矩陣乘法中反量化需要的min、max采用的是固定的經驗值,導致利用該固定的經驗值對每個矩陣相乘進行處理會帶來較大的計算誤差。
此外,在上述量化矩陣乘法中由于估計出的min和max需要滿足所有矩陣相乘的需求,所以針對min和max的計算較為復雜。
發明內容
本發明的示例性實施例的目的在于提供一種矩陣乘法計算方法和裝置,以克服上述至少一個缺陷。
在一總體方面,提供一種矩陣乘法計算方法,包括:根據輸入被乘數矩陣和輸入乘數矩陣,確定第一乘法矩陣和第二乘法矩陣;根據所確定的第一乘法矩陣和第二乘法矩陣,確定待還原矩陣;根據所確定的待還原矩陣,確定矩陣還原約束值;根據所確定的矩陣還原約束值和待還原矩陣,確定輸入被乘數矩陣和輸入乘數矩陣的相乘結果。基于該矩陣乘法計算方法,能夠提高矩陣相乘的速度。
可選地,根據輸入被乘數矩陣和輸入乘數矩陣,確定第一乘法矩陣和第二乘法矩陣的步驟可包括:基于乘法矩陣值域的正數區間和負數區間,對輸入被乘數矩陣和輸入乘數矩陣中的每個元素進行量化,獲得第一乘法矩陣和第二乘法矩陣,其中,乘法矩陣值域的正數區間的數值范圍與負數區間的數值范圍不對稱。基于該矩陣乘法計算方法,能夠有效減小計算誤差,提升計算精度。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于三星(中國)半導體有限公司;三星電子株式會社,未經三星(中國)半導體有限公司;三星電子株式會社許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010099356.0/2.html,轉載請聲明來源鉆瓜專利網。





