99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度學(xué)習(xí)中矩陣乘法計(jì)算速度再次突破

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:量子位 ? 作者:量子位 ? 2021-06-24 17:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

n階矩陣乘法最優(yōu)解的時(shí)間復(fù)雜度再次被突破,達(dá)到了

f6d190d4-d48d-11eb-9e57-12bb97331649.jpg

。

按定義直接算的話,時(shí)間復(fù)雜度是O(n3)。

光這么說可能不太直觀,從圖上可以看出,n足夠大時(shí)優(yōu)化后的算法就開始表現(xiàn)出明顯優(yōu)勢(shì)。

矩陣乘法在深度學(xué)習(xí)中有著廣泛的應(yīng)用,像卷積神經(jīng)網(wǎng)絡(luò)(CNN)中最耗時(shí)間的卷積計(jì)算,就經(jīng)常被映射成矩陣乘法。

雖然在具體實(shí)現(xiàn)上還有很多障礙,但矩陣相乘底層算法的優(yōu)化,至少在理論上為深度學(xué)習(xí)節(jié)省時(shí)間提供了可能性。

而科學(xué)家們努力的目標(biāo),是使n階矩陣乘法的時(shí)間復(fù)雜度盡可能接近理論上的最快速度O(n2)。

本次研究共同作者是一對(duì)師徒。

Josh Alman目前是哈佛大學(xué)的博士后研究員,主要研究方向是算法設(shè)計(jì)和復(fù)雜度理論。

Virginia Vassilevska Williams是他在MIT讀博士期間的導(dǎo)師,研究方向是組合數(shù)學(xué)和圖論在計(jì)算領(lǐng)域的應(yīng)用。

Strassen:用加法替代乘法

矩陣乘法的時(shí)間復(fù)雜度直到1969年才第一次被Volker Strassen降至O(n3)以下。

看過《算法導(dǎo)論》的同學(xué)應(yīng)該很熟悉Strassen算法。

以2階矩陣相乘為例,總共需要進(jìn)行23=8次乘法,而2?的高階矩陣相乘可以用分塊法不斷迭代細(xì)分解成若干個(gè)2階子矩陣相乘。

Strassen巧妙的通過構(gòu)造7個(gè)中間變量,用增加14次加法為代價(jià)省去了一次乘法。

對(duì)于

f75b808c-d48d-11eb-9e57-12bb97331649.png

定義

f7d831a4-d48d-11eb-9e57-12bb97331649.png

則有

f7e2a40e-d48d-11eb-9e57-12bb97331649.png

像這樣,在M?-M?的計(jì)算中只有7次乘法操作。
由于矩陣乘法計(jì)算中乘法的復(fù)雜度是O(n3),而加法的復(fù)雜度只有O(n2),n越大時(shí)此方法的收益就越大。

且分塊后每個(gè)子矩陣相乘都可以省去一次乘法操作,最終把時(shí)間復(fù)雜度降低到

f7edd1d0-d48d-11eb-9e57-12bb97331649.jpg

。

這么繞的算法到底怎么想出來的?可惜Strassen在論文中并沒有說明這一點(diǎn)。

Strassen算法在實(shí)際應(yīng)用時(shí)受到很大限制,如運(yùn)行時(shí)會(huì)創(chuàng)建大量的臨時(shí)變量,在n不夠大時(shí)反倒更耗費(fèi)時(shí)間。

還有只適用于稠密矩陣,針對(duì)稀疏矩陣有更快的專門算法。

但最重要的是,Strassen的辦法讓學(xué)界意識(shí)到,原來矩陣乘法問題還有優(yōu)化空間??!

激光法:用張量替代矩陣

20世紀(jì)70年代末期,科學(xué)家們找到了解決問題的新思路,將矩陣計(jì)算轉(zhuǎn)換為張量計(jì)算。

1981年,Schonhage將此方法優(yōu)化到

f88eb62c-d48d-11eb-9e57-12bb97331649.jpg

后,Strassen把這個(gè)方法命名為“激光法(Laser Method)”,因?yàn)楹驼黄窦す庥邢嗨浦帯?/p>

在后來的幾十年中,矩陣乘法的每次優(yōu)化都來自激光法的優(yōu)化,即如何更有效的把矩陣問題轉(zhuǎn)換成張量問題。

Alman和Williams的優(yōu)化算法只比14年LeGall的

f8aa33a2-d48d-11eb-9e57-12bb97331649.jpg

減少了

f8baf98a-d48d-11eb-9e57-12bb97331649.jpg

。

從歷次優(yōu)化的幅度來看,似乎已逼近激光法的極限。

能算得更快了嗎?

激光法很少在實(shí)際中應(yīng)用,因?yàn)樗辉趎足夠大,大到現(xiàn)代計(jì)算機(jī)硬件幾乎無法處理的時(shí)候才能提供優(yōu)勢(shì)。

這樣的算法被稱作“銀河算法(Galatic Algorithm)”。

在業(yè)界使用最多的還是通過分塊法和并行處理控制矩陣的規(guī)模。當(dāng)n不大時(shí),再通過循環(huán)展開,內(nèi)存布局優(yōu)化等辦法針對(duì)直覺算法的優(yōu)化。

還有一點(diǎn),現(xiàn)實(shí)中由于浮點(diǎn)數(shù)精度的限制,Strassen法和激光法在計(jì)算大規(guī)模矩陣時(shí)都會(huì)產(chǎn)生不小的誤差。

矩陣乘法的加速,看來還沒那么容易。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:矩陣乘法計(jì)算速度再次突破極限,我煉丹能更快了嗎?| 哈佛、MIT

文章出處:【微信號(hào):TheAlgorithm,微信公眾號(hào):算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    AI芯片:加速人工智能計(jì)算的專用硬件引擎

    人工智能(AI)的快速發(fā)展離不開高性能計(jì)算硬件的支持,而傳統(tǒng)CPU由于架構(gòu)限制,難以高效處理AI任務(wù)的大規(guī)模并行計(jì)算需求。因此,專為AI優(yōu)化的芯片應(yīng)運(yùn)而生,成為推動(dòng)深度
    的頭像 發(fā)表于 07-09 15:59 ?154次閱讀

    大模型推理顯存和計(jì)算量估計(jì)方法研究

    方法。 一、引言 大模型推理是指在已知輸入數(shù)據(jù)的情況下,通過深度學(xué)習(xí)模型進(jìn)行預(yù)測(cè)或分類的過程。然而,大模型的推理過程對(duì)顯存和計(jì)算資源的需求較高,這給實(shí)際應(yīng)用帶來了以下挑戰(zhàn): 顯存不足:大模型在推理過程
    發(fā)表于 07-03 19:43

    在CM32M433R MCU上調(diào)用riscv_sqrt_f32()函數(shù)的計(jì)算速度比直接調(diào)用sqrtf()要慢,為什么?

    在CM32M433R MCU上調(diào)用riscv_sqrt_f32()函數(shù)的計(jì)算速度比直接調(diào)用sqrtf()要慢, 計(jì)算一次riscv_sqrt_f32大概54 cycles;sqrtf()大概29 cycles,FPU宏已打開,求助是什么問題。
    發(fā)表于 03-07 14:18

    云 GPU 加速計(jì)算突破傳統(tǒng)算力瓶頸的利刃

    在數(shù)字化時(shí)代,數(shù)據(jù)呈爆炸式增長(zhǎng),傳統(tǒng)的算力已難以滿足復(fù)雜計(jì)算任務(wù)的需求。無論是人工智能的深度學(xué)習(xí)、大數(shù)據(jù)的分析處理,還是科學(xué)研究的模擬計(jì)算
    的頭像 發(fā)表于 02-17 10:36 ?294次閱讀

    軍事應(yīng)用深度學(xué)習(xí)的挑戰(zhàn)與機(jī)遇

    人工智能尤其是深度學(xué)習(xí)技術(shù)的最新進(jìn)展,加速了不同應(yīng)用領(lǐng)域的創(chuàng)新與發(fā)展。深度學(xué)習(xí)技術(shù)的發(fā)展深刻影響了軍事發(fā)展趨勢(shì),導(dǎo)致戰(zhàn)爭(zhēng)形式和模式發(fā)生重大變化。本文將概述
    的頭像 發(fā)表于 02-14 11:15 ?539次閱讀

    GPU在深度學(xué)習(xí)的應(yīng)用 GPUs在圖形設(shè)計(jì)的作用

    。 GPU的并行計(jì)算能力 GPU最初被設(shè)計(jì)用于處理圖形和圖像的渲染,其核心優(yōu)勢(shì)在于能夠同時(shí)處理成千上萬的像素點(diǎn)。這種并行處理能力使得GPU非常適合執(zhí)行深度學(xué)習(xí)的大規(guī)模
    的頭像 發(fā)表于 11-19 10:55 ?1629次閱讀

    NPU在深度學(xué)習(xí)的應(yīng)用

    設(shè)計(jì)的硬件加速器,它在深度學(xué)習(xí)的應(yīng)用日益廣泛。 1. NPU的基本概念 NPU是一種專門針對(duì)深度學(xué)習(xí)算法優(yōu)化的處理器,它與傳統(tǒng)的CPU和G
    的頭像 發(fā)表于 11-14 15:17 ?1922次閱讀

    pcie在深度學(xué)習(xí)的應(yīng)用

    深度學(xué)習(xí)模型通常需要大量的數(shù)據(jù)和強(qiáng)大的計(jì)算能力來訓(xùn)練。傳統(tǒng)的CPU計(jì)算資源有限,難以滿足深度學(xué)習(xí)
    的頭像 發(fā)表于 11-13 10:39 ?1358次閱讀

    GPU深度學(xué)習(xí)應(yīng)用案例

    GPU在深度學(xué)習(xí)的應(yīng)用廣泛且重要,以下是一些GPU深度學(xué)習(xí)應(yīng)用案例: 一、圖像識(shí)別 圖像識(shí)別是深度
    的頭像 發(fā)表于 10-27 11:13 ?1384次閱讀

    激光雷達(dá)技術(shù)的基于深度學(xué)習(xí)的進(jìn)步

    信息。這使得激光雷達(dá)在自動(dòng)駕駛、無人機(jī)、機(jī)器人等領(lǐng)域具有廣泛的應(yīng)用前景。 二、深度學(xué)習(xí)技術(shù)的發(fā)展 深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)分支,它通過模擬人
    的頭像 發(fā)表于 10-27 10:57 ?1071次閱讀

    FPGA加速深度學(xué)習(xí)模型的案例

    FPGA(現(xiàn)場(chǎng)可編程門陣列)加速深度學(xué)習(xí)模型是當(dāng)前硬件加速領(lǐng)域的一個(gè)熱門研究方向。以下是一些FPGA加速深度學(xué)習(xí)模型的案例: 一、基于FPGA的AlexNet卷積運(yùn)算加速 項(xiàng)目名稱
    的頭像 發(fā)表于 10-25 09:22 ?1238次閱讀

    AI大模型與深度學(xué)習(xí)的關(guān)系

    人類的學(xué)習(xí)過程,實(shí)現(xiàn)對(duì)復(fù)雜數(shù)據(jù)的學(xué)習(xí)和識(shí)別。AI大模型則是指模型的參數(shù)數(shù)量巨大,需要龐大的計(jì)算資源來進(jìn)行訓(xùn)練和推理。深度學(xué)習(xí)算法為AI大模型
    的頭像 發(fā)表于 10-23 15:25 ?2900次閱讀

    深度學(xué)習(xí)GPU加速效果如何

    圖形處理器(GPU)憑借其強(qiáng)大的并行計(jì)算能力,成為加速深度學(xué)習(xí)任務(wù)的理想選擇。
    的頭像 發(fā)表于 10-17 10:07 ?617次閱讀

    FPGA做深度學(xué)習(xí)能走多遠(yuǎn)?

    的發(fā)展前景較為廣闊,但也面臨一些挑戰(zhàn)。以下是一些關(guān)于 FPGA 在深度學(xué)習(xí)應(yīng)用前景的觀點(diǎn),僅供參考: ? 優(yōu)勢(shì)方面: ? 高度定制化的計(jì)算架構(gòu):FPGA 可以根據(jù)
    發(fā)表于 09-27 20:53

    在CM32M433R MCU上調(diào)用riscv_sqrt_f32()函數(shù)的計(jì)算速度比直接調(diào)用sqrtf()要慢,為什么?

    在CM32M433R MCU上調(diào)用riscv_sqrt_f32()函數(shù)的計(jì)算速度比直接調(diào)用sqrtf()要慢, 計(jì)算一次riscv_sqrt_f32大概54 cycles;sqrtf()大概29 cycles,FPU宏已打開,求助是什么問題。
    發(fā)表于 07-24 06:12