国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Julia開源新框架SimpleChain:小型神經網絡速度比PyTorch快5倍!

開源 開發
世上沒有免費的午餐,享受了通用框架的便利,在特定任務上就要犧牲性能。最近Julia開源了一個新框架SimpleChain,在小型神經網絡的運行速度上比PyTorch至少快5倍!

?Julia從一出生開始,就瞄準了科學計算領域,并且一直在與Python暗中較量。

在神經網絡的框架上,Python有PyTorch和TensorFlow,幾乎是深度學習開發的首選框架,并且獲得了Meta和Google在技術和資金上的支持,蓬勃發展。

雖然Julia也有Flux.jl框架,但Julia社區一直依賴于語言本身的高性能產生的生產力,所以Flux.jl的代碼量相比Python框架來說,可以稱得上是特別「苗條」了,例如PyTorch和TensorFlow包括了整個獨立的語言和編譯器(torchscript、XLA等),而Flux.jl僅僅由Julia語言編寫。

當然,世界上沒有免費的午餐,如果以不同的視角來看,想要在機器學習領域開發出一個簡單、通用且高性能的框架幾乎是不可能的,只能不斷權衡。

比如對于一個特定的問題,如果需要稀疏的小模型,想要獲得最高性能的方法就是重寫一遍,而非采用通用框架。

最近Julia社區又開源了一個新框架SimpleChains.jl,在小模型場景下相比PyTorch最少能提速5倍。

代碼鏈接:https://github.com/PumasAI/SimpleChains.jl

開發人員表示,這個框架不會對所有人都有用,但對那些需要它的人來說,它是非常有用的。

有網友表示十分贊同:「不同的任務用不同的工具」,因為TF和pyTorch消耗了大量的內存,并且沒有原地操作,所以在小模型上很浪費時間。他數年前在Netflex時就設計開發了一個D語言的框架vectorflow,目前在github已獲1200個stars

機器學習模型的假設

SimpleChains.jl是由Pumas-AI和Julia Computing與Roche和馬里蘭大學巴爾的摩分校合作開發的一個庫,它的主要目的就是為小型神經網絡提供盡可能高的性能。

SimpleChains.jl最開始用于在醫療數據分析中用于科學機器學習(SciML)的解決方案:小型神經網絡(和其他近似器,如傅里葉數列或切比雪夫多項式展開)可以與已知的半生理學模型(semi-physiologic models)相結合,發現以前未知的機制和預后因素。

從黑洞動力學到地震安全建筑的開發,SciML方法的有效性已經在許多學科中得到證實,能夠靈活地發現/指導(生物)物理方程。

應用場景變化太大,在這種情況下,使用一些專用(specialization)的神經網絡才有可能提升模型的運行性能。

具體來說,在機器學習模型的研究中,通常依賴于一個假設:神經網絡足夠大,其中矩陣乘法(如卷積)的O(n^3)時間成本占了運行時間的絕大部分,這基本上也是機器學習庫的大部分機制背后的4大指導原則:

1. 矩陣乘法的復雜度是立方的,而內存分配的規模是線性的,所以用非分配(non-allocating)內存的方式來操作向量的優先級并不高;

2. 目前AI加速的工作主要集中于GPU內核加速,讓指令運行盡可能快,由于這些大型矩陣-矩陣操作在GPU上是最快的,并且也是大模型的主要瓶頸,所以性能基準基本上只是衡量這些特定內核的速度;

3. 當做自動微分反向傳播時,將數值復制到內存的操作幾乎感覺不到,內存分配被較大的內核調用所隱藏;

4. 用戶可以隨意寫一個tape來生成反向傳播,雖然增加了在前向過程中建立字典的成本,但是也會被更大的內核調用所掩蓋。

但,這些假設在真實的案例中是否真的能全部成立?

如果不成立的話,能不能把重點放在這些方面的改進,從而提升更高的運算性能?

小型神經網絡的瓶頸在哪?

對于初學者來說,可以先測試一下假設1和2,通過一段Julia代碼來測試內存申請時間、GPU運算時間等。

可以看到當我們進行較大的矩陣乘法操作時,比如100x100*100x100,基本可以忽略由于內存分配而產生的任何開銷。

但同時也可以看到,在lower end有可能出現一些相當顯著的性能提升,這些收益是通過使用純Julia LoopVectorization.jl實現的,因為標準的BLAS工具在這個區域往往有額外的線程開銷(同樣,在這個區域沒有進行優化)。

如果你一直在利用GPU帶來的好處而不去研究細節,那么這個事實可能會讓你大吃一驚!GPU被設計成具有許多內核的慢速芯片,因此它們只對非常并行的操作有效,例如大型矩陣乘法。正是從這一點出發,假設2可以被認為是大型網絡操作。

但同樣,在小網絡的情況下,由于缺乏并行計算,使用GPU內核的性能可能還不如設計良好的CPU內核。

矩陣操作只有在能夠使用批處理(A*B中的B矩陣的每一列都是一個單獨的批處理)時才會發生。

在大部分科學機器學習的情境下,如ODE鄰接中的向量Jacobian乘積的計算,這種操作是矩陣-向量乘法。這些操作的時間復雜度只有O(n^2),在這種情況下內存開銷會被放大。

神經網絡的基本操作是Sigma,所以還有一個O(n)時間復雜度的操作,這種情況下內存開銷顯得更嚴重。

對于假設3和4來說,需要更加關注反向傳播的實現。不同機器學習庫的自動微分方法也存在著區別。有些庫是立刻反向傳播梯度值,也有些需要把梯度保存起來,這樣就又需要額外的內存開銷操作了。

在特定的應用里面,如果知道梯度立刻傳播,就可以立即計算梯度,相比通用實現來說,只需要一個緩存向量解千愁,原地賦值,這樣的話所有自動微分的額外開銷都沒有了。

基于這些想法,研究人員開源了SimpleChains.jl,可以很好地解決這類優化問題,可以在CPU上快速擬合和優化小模型,早期的神經網絡原型模型設計大多都希望:

1. 達到更好的性能,最好能達到CPU的峰值FLOPs;

2. 專注于小尺寸的模型,在早期開發階段放棄一些針對大型模型的內核優化操作(如緩存平鋪);

3. 有一個API,其中的向量的參數和梯度都是first class,以便更容易地與各種優化器或求解器(如BFGS)協同工作;

4. 使用「純Julia」編寫,更方便開發和優化;在大量使用LoopVectorization.jl的同時,SimpleChains.jl并不依賴任何BLAS或NN庫。

開發人員的長期目標是將這種循環編譯器的優化方法擴展到自動產生pullbacks。但這種以編譯器為中心的方法已經被用于實現的便利性:雖然我們仍然需要手寫梯度,但我們不需要對它們進行手工優化。

SimpleChains.jl的實際性能怎么樣?

研究人員用一個2×2的矩陣做了一個實驗,在帶有AVX512指令集的Intel i9-10980XE跑了一下,1萬個epoch花了0.41秒,相比之下pyTorch花了15秒,也就是說在這種微型神經網絡上,提速大約35倍。

把實驗換到AMD EPYC 7513 帶有AVX2指令的機器上,Julia的實現花費時間為0.72秒,而PyTorch的實現則需要70秒,差距拉升到了100倍。

研究人員又在AMD Ryzen 9 5950X實驗了一份Jax代碼,Julia耗時為1.3秒,Jax則需要14秒,提升約10倍。

換到Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz 平臺上,Jax耗時為9秒,Julia需要0.4秒,大約22倍提升。

再換到差一點的處理器,6核CPU上,Jax需要19秒,而Julia需要9秒,速度提升就只有2倍了。

在稍微大一點的、實際可用的神經網絡上,訓練速度還會有這么大的差距嗎?

研究人員用LeNet5來測試MNIST,這個例子只是一個非常保守的速度估計,因為在更傳統的機器學習用例中,批處理可以使用矩陣乘法,不過即使在這種情況下,由于semi-small的網絡規模,也能看到大量的性能優勢。

在batch size為2048的情況下訓練10個epoch,用PyTorch在A100上訓練兩次耗時為17.66和17.62,準確率分別為94.91%和96.92%;在V100上訓練時間為16.29和15.94,準確率分別為95.6%和97.5%

不過這個問題對于GPU來說還是殺雞用牛刀了,在2048的batch size上運算速度還是很快,時間主要耗費在CPU轉移到GPU上了。

在AMD EPYC 7513和Intel i9 10980XE又進行了兩次實驗,結果比GPU更快,準確率也更高。

換到SimpleChains.jl,在AMD平臺上耗時為3秒,準確率98.3%;在Intel平臺上,耗時僅為1秒,準確率為98.2%;即使在筆記本的Intel平臺上,耗時也僅為5.3秒,準確率97%

目前大型機器學習框架在專注于為其99.9%的用戶提供一流的性能方面做得非常好,但在另外0.1%的小模型用戶手里,框架卻不好用。

這就是可組合性和靈活性的優勢:一種允許你輕松構建機器學習框架的語言,也是一種允許你構建替代框架的語言,這些框架針對替代人群進行優化。?

責任編輯:張燕妮 來源: 新智元
相關推薦

2015-09-10 11:29:57

5G4G

2020-10-19 10:40:45

5G網絡技術

2019-03-15 11:34:19

神經網絡數據圖形

2025-02-19 15:12:17

神經網絡PyTorch大模型

2023-10-25 18:53:45

芯片AI芯片

2025-07-10 14:54:13

AI模型圖像生成

2018-01-29 05:38:20

5G4G運營商

2017-06-30 16:24:40

大數據神經網絡NNabla

2024-07-31 09:30:00

2009-07-01 09:47:10

FireFox 3.5瀏覽

2022-03-19 10:26:48

Linuxapt 命令

2021-05-06 10:52:09

Java Spring Bo框架

2017-04-26 08:31:10

神經網絡自然語言PyTorch

2022-10-27 08:31:31

架構

2019-07-22 16:55:46

神經網絡數據圖形

2024-02-22 08:37:28

NodejsJavaScript運行

2023-01-08 13:22:03

模型

2021-06-11 09:21:20

開源SQL Parser詞法語法分析器

2019-08-06 17:19:22

開源技術 趨勢

2011-06-29 09:31:58

3G4G5G
點贊
收藏

51CTO技術棧公眾號

图片区小说区区亚洲五月| 欧美日韩一级片网站| 中文字幕日韩欧美| 国产尤物av一区二区三区| 中文无码久久精品| 日韩资源在线观看| 香蕉视频网站在线观看| 久久综合久久99| 国产伦精品一区二区三区免费视频| 亚洲高清在线一区| 亚洲黄色免费三级| 欧美另类极品| 欧美性xxxxx| 在线免费av播放| 久久九九国产精品| 国产精品333| 国产麻豆精品在线观看| 亚洲人体一区| 免费成人美女在线观看.| av色综合网| 久久中文视频| 96pao国产成视频永久免费| 国产伦精品一区二区三区视频| 欧美肥臀大乳一区二区免费视频| 午夜精品久久久久久毛片| 国产亚洲精品久久久优势| 国产亚洲人成a在线v网站 | 亚洲欧洲99久久| 欧美污视频网站| www国产精品av| www..com日韩| 玉足女爽爽91| 91精品国产高久久久久久五月天| 欧美日本视频在线| 品久久久久久久久久96高清| 国产高清在线a视频大全| 日韩高清一级| 欧美俄罗斯性视频| 成人av资源网址| 国产精品劲爆视频| 香蕉成人久久| 一本二本三本亚洲码| 国产女人水真多18毛片18精品视频| 国产真实生活伦对白| 制服视频三区第一页精品| 国产精品论坛| 奇米成人av国产一区二区三区| 欧美理论视频| 日韩高清在线播放| 91一区一区三区| 蝌蚪视频在线播放| 一区二区三区在线播放欧美| 日韩av不卡一区| 亚洲精品永久www嫩草| 国产清纯美女被跳蛋高潮一区二区久久w | 国产精品不卡| 天堂精品视频| 奇米一区二区三区| 极品校花啪啪激情久久| 国产成人精选| 亚洲第一精品福利| 宅男噜噜噜66国产免费观看| 极品少妇xxxx精品少妇偷拍| 95av在线视频| 亚洲少妇诱惑| 99se婷婷在线视频观看| 日韩电影在线视频| zzijzzij亚洲日本成熟少妇| 麻豆成人综合网| 日韩1区在线| 日本成人手机在线| 高清在线视频不卡| 国产美女被遭强高潮免费网站| 欧美日精品一区视频| 伊人免费在线| 国产精品传媒入口麻豆| 亚洲一区二区三区精品中文字幕 | 欧美日韩午夜激情| 男女高潮又爽又黄又无遮挡| 一区二区国产精品| 欧美日韩在线中文| 欧美成人日韩| 在线丝袜欧美日韩制服| 秋霞电影网一区二区| 老司机免费视频一区二区| 欧美激情精品久久久久久变态| 黄网站app在线观看大全免费视频| 国产精品视频一区二区三区不卡| 中文字幕色呦呦| 在线午夜精品| 国产91av在线| 久久亚洲天堂| 欧美精品在线观看一区二区| 久久99久久| 久久精品99国产精品酒店日本| 深夜福利视频在线观看| 亚洲欧美日韩国产成人精品影院| 日韩电影免费观看高清完整| 男人天堂欧美日韩| 日韩av免费在线| 4438全国亚洲精品观看视频| 亚洲社区在线观看| 激情影院在线| 国产精品日韩精品欧美在线| 国产黄色一级网站| 99国产精品久久久| 99精品人妻少妇一区二区| 久久爱另类一区二区小说| 黑人中文字幕一区二区三区| 亚洲精品综合| 91免费看蜜桃| 午夜欧美精品| 色爱区成人综合网| 亚洲r级在线视频| 中文字幕在线看片| 欧美大片大片在线播放| 日本精品在线观看| 亚洲天堂色网站| 日本不卡在线| 久久99热精品| 韩日一区二区三区| 亚洲欧洲久久| 中文天堂在线一区| 成年女人的天堂在线| 色老汉av一区二区三区| 制服黑丝国产在线| 亚洲国产精品自拍| 国产三级在线| 欧美成人免费在线观看| 经典三级一区二区| 800av在线免费观看| 国产精品萝li| 日韩中文影院| 国产视频九色蝌蚪| 日韩亚洲电影在线| 风间由美中文字幕在线看视频国产欧美 | 57pao国产精品一区| 欧美手机在线| 女人和拘做爰正片视频| 一区二区高清视频在线观看| 婷婷久久免费视频| 在线日韩av永久免费观看| 欧美性大战久久久久久久蜜臀| 精品伊人久久久| 亚洲一区3d动漫同人无遮挡 | 国产主播福利| 亚洲欧美日韩国产中文在线| 国模私拍国内精品国内av| 4p变态网欧美系列| 成人激情小说乱人伦| 在线中文视频| 豆国产97在线| 欧美日韩免费高清一区色橹橹 | 久久久精品国产网站| 精品三级av在线导航| 91青青草免费观看| 在线观看日韩电影| 国偷自产视频一区二区久| jizz国产| 欧美极品欧美精品欧美视频 | 992tv成人免费观看| 日韩欧美精品一区| 欧美午夜不卡| 影音先锋成人资源网站| 天天综合天天做天天综合| 午夜欧美理论片| 欧美精品videosex| 亲子乱一区二区三区电影| 在线亚洲高清视频| 日本视频一区二区三区| 精品国产99久久久久久| 韩国黄色一级大片| 国产成人拍精品视频午夜网站| 在线观看网站黄不卡| 伊人色**天天综合婷婷| 99久精品视频在线观看视频| 91精品专区| 免费成人深夜夜行网站视频| 欧美www在线| 日本高清不卡一区| 久久久精品人体av艺术| 欧美日韩国产亚洲一区| 精品女同一区二区三区在线观看| 国产福利小视频在线| 五月婷婷开心综合| 天天综合色天天综合色hd| 国产欧美在线视频| 日产精品99久久久久久| 精品日韩欧美在线| 午夜精品久久久久久久久久久| 久久男女视频| 欧美色一级片| 国产精品久久久久久| 精品少妇一区| 日韩精品中文字幕一区二区 | 亚洲欧美一区二区三区| 国产精彩免费视频| 99热这里只有精品7| 911国产网站尤物在线观看| 欧美激情小视频|