




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
AI芯片產(chǎn)業(yè)研究:Wintel生態(tài)壁壘是否會(huì)在AI芯片領(lǐng)域重演1.AI芯片的競(jìng)爭(zhēng)點(diǎn)不止是芯片本身AI芯片作為硬科技產(chǎn)品,為何主要廠商對(duì)軟件研發(fā)這么重視?甚至是連英偉達(dá)
都覺(jué)得
AI芯片公司本質(zhì)其實(shí)是軟件公司?智能計(jì)算系統(tǒng)分為硬件和軟件兩部分:從指令集到物理層是硬件部分,從應(yīng)用層到指
令集是軟件部分——大家多度關(guān)注前者關(guān)于
AI芯片本身的硬件設(shè)計(jì),而忽視了
AI芯片設(shè)
計(jì)公司已經(jīng)往上做到了部分軟件層的事實(shí)。智能計(jì)算系統(tǒng)自上而下可以分為應(yīng)用軟件、算
法、編程語(yǔ)言、匯編語(yǔ)言、機(jī)器碼、指令集、微體系結(jié)構(gòu)、門(mén)、計(jì)算器器件、物理層。其
中指令集是智能計(jì)算系統(tǒng)軟硬件之間的接口,AI芯片公司定義完指令集后根據(jù)指令集去設(shè)
計(jì)微體系結(jié)構(gòu)去支持指令集。從最上層應(yīng)用軟件到指令集為軟件部分,從指令集到物理層
為硬件部分。針對(duì)硬件部分
AI芯片公司對(duì)應(yīng)的設(shè)計(jì)工作包括怎樣把指令集做得非??臁?/p>
流水線設(shè)計(jì)、運(yùn)算部件怎么做、訪存部件怎么做,最后需要軟硬件之間的映射等——大家
通常理解的
AI芯片設(shè)計(jì)公司需要做的工作只有上述關(guān)于
AI芯片本身的硬件部分的設(shè)計(jì);
而實(shí)際上
AI芯片公司還往上一直做到了編程語(yǔ)言為止的三層軟件,這一點(diǎn)往往被絕大多
數(shù)投資者忽視了。軟件已經(jīng)成為
AI新芯片公司
IC設(shè)計(jì)成本中最“重”的投入。根據(jù)
IBS的數(shù)據(jù),隨著
工藝制程的演進(jìn),主流芯片設(shè)計(jì)成本中軟件將成為占比最大的投入,而
Verification、
Validation、IPQualification為相較于軟件投入占比依次往下。2.前車之鑒:PC時(shí)代的
Wintel聯(lián)盟英偉達(dá)靠
AI軟件工具鏈已經(jīng)塑造出來(lái)了強(qiáng)大的生態(tài)壁壘和護(hù)城河——這已經(jīng)是產(chǎn)業(yè)
界和投資界公認(rèn)的事實(shí),而且英偉達(dá)憑借這一優(yōu)勢(shì)一直保持?jǐn)?shù)據(jù)中心
AI市場(chǎng)
97%以上絕
對(duì)壟斷的份額。但是相較于現(xiàn)狀,大家更關(guān)心終局:
AI軟件生態(tài)壁壘是否將成為永遠(yuǎn)無(wú)法跨越的鴻溝,而使得除了英偉達(dá)之外的
AI芯片
公司后續(xù)都沒(méi)有從英偉達(dá)手中搶奪份額機(jī)會(huì)了?
我們可以從
PC時(shí)代
CPU從產(chǎn)業(yè)初期混戰(zhàn)到如今產(chǎn)業(yè)成熟這段經(jīng)典的商業(yè)史中探索
這一問(wèn)題的啟發(fā)性答案。CPU、GPU從產(chǎn)業(yè)角度上而言其實(shí)有諸多相似之處:龍頭壟斷
市場(chǎng)(CPU由英特爾壟斷;AI芯片由英偉達(dá)壟斷);靠系統(tǒng)軟件形成了極強(qiáng)的產(chǎn)業(yè)生態(tài)
(英特爾+微軟;英偉達(dá)靠
AI軟件工具鏈+深度學(xué)習(xí)框架)。1975
年,微處理器市場(chǎng)伊始,有
6
個(gè)主要玩家參與市場(chǎng)角力。彼時(shí)已經(jīng)發(fā)布了
4004、
8008
和
8080
微處理器的英特爾并不被看好:大家認(rèn)為英特爾的芯片不如齊洛格好,不
能像摩托羅拉那樣大批量生產(chǎn),不如
MOSTechnologies的便宜,不能頂住德州儀器的
價(jià)格戰(zhàn)。
20
世紀(jì)
70
年代后期,蘋(píng)果占據(jù)了小型計(jì)算機(jī)
PC市場(chǎng)
90%以上份額,IBM占據(jù)了大
型計(jì)算機(jī)市場(chǎng)
80%以上份額。為了迅速搶奪
PC市場(chǎng)份額,IBM想要在不到
1
年時(shí)間里就把自己的個(gè)人計(jì)算機(jī)推向市場(chǎng)。為了完成這一計(jì)劃,IBM決定拋棄過(guò)去軟硬件全自研的做
法而采用開(kāi)放式設(shè)計(jì),向外采購(gòu)
CPU和操作系統(tǒng)1980
年夏天,IBM分別找到了英特爾和微軟。英特爾為
IBM提供了
8088
中央處理
器,微軟為
IBM設(shè)計(jì)了操作系統(tǒng)
MS-DOS。1981
年
8
月,IBM個(gè)人計(jì)算機(jī)
PC-XT推向
市場(chǎng)并大獲成功。自此蘋(píng)果市場(chǎng)份額直線下滑,10
年之內(nèi)其份額下降至個(gè)位數(shù)。1984
年,
IBM推出了第二代個(gè)人計(jì)算機(jī)
PCAT,里面安裝了英特爾
286
處理器,是上一代
PC計(jì)算
速度的
3
倍,PCAT取得巨大成功,一年之內(nèi)
PCAT占到所有
PC銷量的
70%以上。后續(xù)由于
IBM高層認(rèn)為
PC只能在市場(chǎng)的低檔產(chǎn)品中找到出路,隨著
PC聲勢(shì)越來(lái)越
大,IBM為了避免
PC吞噬其高端產(chǎn)品,所以停止了對(duì)
PC的開(kāi)發(fā)。為了保護(hù)低檔小型機(jī)
的銷售,IBM推遲發(fā)售裝有英特爾
386
芯片的
PC(因?yàn)樾⌒蜋C(jī)相比于
386
個(gè)人計(jì)算機(jī)功
率大不了多少)。因此英特爾找到康柏合作,康柏在
1986
年首次獨(dú)家推出搭載
MS-DOS的
386
計(jì)算
機(jī)(1982
年
6
月,康柏推出了第一臺(tái)
IBM兼容機(jī)),從而名聲大噪,立即成為美國(guó)商業(yè)
界的一個(gè)空前范例。IBM市場(chǎng)份額不斷縮?。?983
年
IBM的份額為
76%,1986
年份額
已經(jīng)下降到
26%),各種克隆機(jī)廠商涌入市場(chǎng),為了和
IBMPC兼容,這些廠商基本上都
采用的英特爾處理器和微軟操作系統(tǒng),自此正式開(kāi)啟了“Wintel”時(shí)代。2.1
五次失敗的沖擊:五種不同的致命失誤20
世紀(jì)
80-90
年代對(duì)
Wintel生態(tài)主動(dòng)發(fā)起沖擊的著名事件一共有
5
次:(1)
IBM自研
OS/2
操作系統(tǒng);(2)IBM、DEC等發(fā)展
UNIX;(3)IBM、蘋(píng)果、摩托羅
拉聯(lián)手打造
PowerPC處理器;(4)蘋(píng)果經(jīng)典
MacOS;(5)RISC陣營(yíng)興起。上述對(duì)
Wintel的沖擊均以失敗告終,從多個(gè)角度反映了生態(tài)壁壘難以突破的原因。第一次沖擊:OS/2受到以康柏為代表的克隆機(jī)廠商的沖擊,IBM為了挽回頹勢(shì),從兩方面出擊:一個(gè)是
軟件,一個(gè)是硬件。1987
年
4
月,IBM發(fā)布了一體化硬件/軟件,硬件叫做
PS/2,運(yùn)行
新的操作系統(tǒng)
OS/2。軟件:OS/2
是
IBM全公司軟件計(jì)劃的核心部分,由
IBM負(fù)責(zé)設(shè)計(jì),微軟負(fù)責(zé)編寫(xiě)
實(shí)際代碼;但是與第一次合作不同的是,只有
IBM擁有將該操作系統(tǒng)的授予第三方的權(quán)
利。另外
IBM還計(jì)劃在
OS/2
上自己開(kāi)發(fā)一整套辦公室應(yīng)用系統(tǒng)(名稱為“辦公視野”),
IBM希望有了這些應(yīng)用軟件,IBM就會(huì)成為
PC應(yīng)用軟件市場(chǎng)的主力。硬件:IBM在
PS/2
硬件上最大的特點(diǎn)是采用了“微通道總線”電路,但是
CPU仍
然采用的英特爾的
8086/80286/80386
處理器。由于采用了全新的硬件設(shè)計(jì)和操作系統(tǒng),
使得克隆機(jī)廠商不可能在短時(shí)間內(nèi)仿制出類
PS/2
的產(chǎn)品。1991
年
IBM和微軟終止了在
OS/2
的開(kāi)發(fā)合作,由
IBM單方面進(jìn)行后續(xù)開(kāi)發(fā),另外
“辦公視野”的項(xiàng)目也被最終取消了。IBM在
1987
年推出
OS/2
1.0,1988
年推出
OS/2
1.1,1992
年
OS/2
2.0
版本正式發(fā)布,這也是
OS/2
的正式可用版本。在推出之后,IBMPS/2
系列產(chǎn)品在短時(shí)間內(nèi)銷售得很好(大約在
1988
年
1
月售出了
150
萬(wàn)臺(tái)),但相對(duì)于
PC兼容機(jī),其相對(duì)較高的價(jià)格卻讓大多數(shù)消費(fèi)者級(jí)用戶望而卻步。
對(duì)于
IBM來(lái)說(shuō)更糟糕的是,它在
PS/
2
中所做的每一項(xiàng)改進(jìn)都被或克隆,然后被兼容機(jī)
廠商超越。PS/2
的銷售在上個(gè)世紀(jì)
80
年代的后期急劇下滑。到
1990
年,IBM不再主導(dǎo)
PC兼容機(jī)的市場(chǎng)了。1994
年,康柏取代
IBM成為美國(guó)最大的個(gè)人
PC生產(chǎn)商。2005
年
7
月,IBM宣布在
2005
年底正式停止銷售
OS/2。IBM通過(guò)自研
OS/2
對(duì)
Wintel聯(lián)盟發(fā)起的沖擊失敗,我們認(rèn)為其主要原因是
IBM在早期開(kāi)發(fā)上犯錯(cuò)錯(cuò)過(guò)了窗口期+再加上定價(jià)上的失誤進(jìn)一步導(dǎo)致其生態(tài)建立的失?。?、
早期開(kāi)發(fā)上屢屢犯錯(cuò):1985
年
10
月英特爾已經(jīng)發(fā)布了性能比
286
更好的
386
處理器,但是
IBM堅(jiān)持決定讓
OS/2
適配
286
處理器(因?yàn)閾?dān)心基于
386
處理
器
PC會(huì)吞噬其小型機(jī)市場(chǎng));IBM一再堅(jiān)持
OS/2
上的應(yīng)用軟件必須與其主計(jì)算機(jī)和中型機(jī)系統(tǒng)兼容,所以最后第一版
OS/2
開(kāi)發(fā)出來(lái)更像笨重復(fù)雜的主計(jì)算
機(jī)
OS而非桌面
OS,另外
OS/2
與
windows不兼容,也使得
OS/2
缺乏軟件開(kāi)
發(fā)者支持沒(méi)有足夠的應(yīng)用。2、
價(jià)格貴:IBM對(duì)準(zhǔn)備復(fù)制
PS/2
的克隆機(jī)廠商的專利許可費(fèi)用達(dá)到
5%;另外
OS/2
每套的授權(quán)價(jià)格為
325
美元,比微軟
MS-DOS貴
2
倍。性能弱且定價(jià)貴
從而更沒(méi)有電腦商會(huì)購(gòu)買(mǎi)
OS/2
授權(quán)。第二次沖擊:UNIX1988
年春,IBM與其他計(jì)算機(jī)生產(chǎn)廠商聯(lián)手為促銷
UNIX建立了“開(kāi)放式軟件基金
會(huì)(OSF)”。UNIX原是一個(gè)
1969
年由
AT&T公司的貝爾實(shí)驗(yàn)室開(kāi)發(fā)出來(lái)的操作系統(tǒng),
發(fā)展至
1988
年已經(jīng)衍生出來(lái)了各種不同的版本。
微軟公司前
CTO麥沃爾德曾經(jīng)在一份備忘錄中提到微軟
DOS在面臨的兩個(gè)威脅之一
就是
UNIX——UNIX主要有兩大魅力:(1)技術(shù):UNIX可以同時(shí)處理很多個(gè)計(jì)算任務(wù),
很容易與其他計(jì)算機(jī)連接,而不需要修改大量代碼就可以工作在其他任何類型的硬件上。(2)實(shí)惠:UNIX是免費(fèi)的。但是
UNIX有一個(gè)致命的缺陷:不存在通用版本。每家公司都對(duì)
UNIX作了改進(jìn),以
適應(yīng)各家公司自己的計(jì)算機(jī),結(jié)果使得各公司的操作系統(tǒng)之間無(wú)法兼容。而微軟一直能提
供兼容性,因?yàn)橛布圃焐桃呀?jīng)達(dá)成協(xié)議,禁止對(duì)微軟的兼容性造成影響的任何修改。UNIX沖擊
Wintel生態(tài)失敗的原因我們認(rèn)為主要可以歸結(jié)為以下兩點(diǎn):UNIX失敗最主要的原因主要是各種版本的
UNIX無(wú)法兼容,而是一組相互競(jìng)爭(zhēng)的操
作系統(tǒng)。操作系統(tǒng)無(wú)法兼容從而使得上層軟件兼容很難實(shí)現(xiàn),因此阻礙了一個(gè)強(qiáng)大的
UNIX第三方軟件市場(chǎng)的出現(xiàn)。只有少量的軟件公司有實(shí)力為
UNIX十來(lái)種不同的版本逐
一開(kāi)發(fā)并測(cè)試其應(yīng)用程序。
本質(zhì)原因是一個(gè)成員互為競(jìng)爭(zhēng)對(duì)手的組織想要人為制定一個(gè)統(tǒng)一的標(biāo)準(zhǔn)是非常困難的。
UNIX開(kāi)放式軟件基金會(huì)成員均為
IBM、DEC等公司,各方都為其自己的
UNIX版本能夠
創(chuàng)利而投入,利益沖突的成員之間想要最終達(dá)成統(tǒng)一的合作幾乎是不可能的。第三次沖擊:PowerPC微處理器1991
年,IBM聯(lián)合蘋(píng)果與摩托羅拉也結(jié)成一個(gè)聯(lián)盟
AIM,利用蘋(píng)果操作系統(tǒng)軟件的
長(zhǎng)處,和摩托羅拉結(jié)合
IBM在處理器方面的優(yōu)勢(shì),共同推出
PowerPC微處理器,以期遏
制“Wintel”聯(lián)盟。
1994
年第一臺(tái)搭載
PowerPC處理器的蘋(píng)果電腦
PowerMacintosh發(fā)布,此后蘋(píng)
果基于
PowerPC處理器推出了一系列產(chǎn)品,包括多款
PowerBook筆記本。但是在
2005
年的
WWDC上,喬布斯宣布停止使用
PowerPC芯片,轉(zhuǎn)而使用英特爾的
X86
架
構(gòu)
CPU;2019
年
8
月
IBM正式將
PowerPC架構(gòu)和指令集開(kāi)源。蘋(píng)果對(duì)外表示放棄
PowerPC的主要原因是因?yàn)楣膯?wèn)題。2003
年
6
月蘋(píng)果發(fā)布
PowerMacG5,其中搭載的
CPU是
IBM的
PowerPC970
處理器,PowerPC970
是市
面上較早的
64
位芯片,其處理速度和效率遠(yuǎn)高于英特爾
32
位芯片,但是其制程為
130nm,所以其
1.8GHz左右的運(yùn)行頻率已經(jīng)是極限。蘋(píng)果要求
CPU運(yùn)行速度要達(dá)到
3GHz,這樣就必須在單位面積晶圓上集成更多數(shù)量的晶體管,需要用業(yè)界正在努力想要
達(dá)成的
90nm制造工藝,另外制程越高功耗越低。所以
PowerPC970
由于散熱和功耗的
問(wèn)題無(wú)法用于筆記本電腦。在
PC領(lǐng)域除了蘋(píng)果沒(méi)有其他知名電腦制造商選擇
PowerPC是因?yàn)樽鳛樘O(píng)果為了保
證
Mac機(jī)的銷量不愿意將
MacOS對(duì)外授權(quán)。IBM研發(fā)升級(jí)
PowerPC處理器需要不斷
投入到芯片研發(fā)和編譯器維護(hù)上,但是
OS廠商中只有蘋(píng)果建立在
PowerPC上,而蘋(píng)果
為了保持自己
PC的差異化競(jìng)爭(zhēng)力和高利潤(rùn),拒絕將
MacOS對(duì)外授權(quán),所以
PowerPC處理器只有在蘋(píng)果電腦上有銷量。IBM投入了大量研發(fā)卻只能獲得不到
10%的
PC處理器
市場(chǎng)份額,這樣就使得
IBM沒(méi)有持續(xù)利潤(rùn)投入到
PowerPC持續(xù)研發(fā)上,無(wú)法形成商業(yè)正
循環(huán),PowerPC性能功耗最終不敵英特爾,另外由于蘋(píng)果銷量很小,也沒(méi)有足夠多的開(kāi)
發(fā)者基于
PowerPC和
MacOS生態(tài)去開(kāi)發(fā)軟件,最終導(dǎo)致了生態(tài)的失敗。如果蘋(píng)果不愿意將
MacOS授權(quán),那么為何
IBM不自己開(kāi)發(fā)一個(gè)適配
PowerPC的
操作系統(tǒng)對(duì)外授權(quán)從而保證
PowerPC的銷量?其實(shí)
IBM在上世紀(jì)
90
年代也做過(guò)這樣的
嘗試——IBM于
1994-1996
年發(fā)售過(guò)采用
PowerPC架構(gòu)處理器的
ThinkPadPowerSeries800
系列,兼容
WindowsNT、OS/2、AIX、Solaris、Linux等對(duì)應(yīng)的
PowerPC版本。但是
IBMThinkPadPower系列定價(jià)過(guò)高(7000
多美元),性能沒(méi)有顯著優(yōu)勢(shì),
不兼容
x86,最后也慘淡收?qǐng)?。第四次沖擊:蘋(píng)果經(jīng)典
MacOS蘋(píng)果
Mac電腦上的
OS發(fā)展經(jīng)歷了三個(gè)階段——1984-2000
年,經(jīng)典
MacOS(一
直迭代到
MacOS9);2001-2011
年,MacOSX;2012
年至今,OSX。
1984
年,蘋(píng)果推出搭載經(jīng)典
MacOS的電腦
Macintosh,麥金塔操作系統(tǒng)是全球首
個(gè)大眾型圖形用戶界面
OS。MacOS在圖形用戶界面(GUI)的友好性上讓微軟的
MSDOS相形見(jiàn)拙。但是
Macintosh電腦只是在剛推出的一段時(shí)間內(nèi)保持了較高的銷量,隨
后陷入銷量低迷的困境。
我們認(rèn)為蘋(píng)果經(jīng)典
MacOS操作系統(tǒng)在上世紀(jì)
90
年代失敗的原因主要在于:1、
操作系統(tǒng)本身性能不行:上世紀(jì)
90
年代,蘋(píng)果
MacOS給用戶的印象就是很不
穩(wěn)定,經(jīng)常崩潰,因?yàn)榇嬖谙忍觳蛔悖▎稳蝿?wù)、沒(méi)有內(nèi)存保護(hù))。蘋(píng)果計(jì)劃在
1993
年發(fā)布一個(gè)全新的
OS,后來(lái)這個(gè)項(xiàng)目逐漸演變成代號(hào)為
Copland的項(xiàng)目,
計(jì)劃采用微內(nèi)核技術(shù),推遲至
1996
年發(fā)布,但由于開(kāi)發(fā)團(tuán)隊(duì)管理問(wèn)題蘋(píng)果覺(jué)得
Copland永遠(yuǎn)不可能開(kāi)發(fā)成功,于是管理層在
1996
年
8
月決定取消
Copland項(xiàng)目,決定直接通過(guò)收購(gòu)公司向外購(gòu)買(mǎi)
OS技術(shù)。于是蘋(píng)果在
1997
年
2
月收購(gòu)
NeXT(喬布斯被趕出蘋(píng)果后創(chuàng)辦的公司),喬布斯重新執(zhí)掌蘋(píng)果,Apple合并
NeXT后,這家公司的操作系統(tǒng)
NeXTSTEP就演化為
Rhapsody,并最終成為
MacOSX(2001
年推出)。2、
PC定價(jià)高:當(dāng)時(shí)最暢銷的
CommodoreAmiga500(1987
年推出)售價(jià)
700
美元,銷量超過(guò)
600
萬(wàn)臺(tái);而蘋(píng)果
1984
年推出的
Macintosh售價(jià)
2495
美元。3、
軟件生態(tài)不行:1998
年喬布斯親自找到
Adobe公司來(lái)基于蘋(píng)果
MacOS開(kāi)發(fā)軟
件都被拒絕,而且
Adobe還是蘋(píng)果投資的公司。當(dāng)時(shí)一線軟件廠商因?yàn)樘O(píng)果電
腦市場(chǎng)份額很低都不愿意基于蘋(píng)果
OS開(kāi)發(fā)軟件,Adobe的案例就是一個(gè)非常典
型的縮影。第五次沖擊:RISC陣營(yíng)的挑戰(zhàn)英特爾、AMD代表的
x86
指令集是典型的
CISC(復(fù)雜指令集)。20
世紀(jì)
90
年代
初,除了
AIM聯(lián)盟發(fā)起的
PowerPC,還有
RISC(精簡(jiǎn)指令集)陣營(yíng)也在向“Wintel宣戰(zhàn)。RISC陣營(yíng)的代表芯片有升陽(yáng)微公司(Sun)的
SPARC,數(shù)字設(shè)備公司(DEC)的
Alpha,以及
MIPS公司的處理器、IBM的
PowerPC。RISC(精簡(jiǎn)指令集)在上世紀(jì)
90
年代曾盛極一時(shí),20
世紀(jì)和
21
世紀(jì)最為著名的兩
家
RISC陣營(yíng)的公司分別是
MIPS和
ARM。連微軟在開(kāi)發(fā)
WindowsNT(windowsOS內(nèi)核)時(shí),在對(duì)
DOS進(jìn)行戰(zhàn)略分析時(shí)都覺(jué)得其最大的威脅之一是
RISC陣營(yíng)的新型芯片,
覺(jué)得速度比英特爾快多了,擔(dān)心
RISC芯片如果取代
Intel,微軟帝國(guó)很有可能崩塌。
1989
年微軟決定除了將
windowsNT建立在英特爾
386
芯片上之外,同時(shí)選擇
RISC陣
營(yíng)最具代表性的公司
MIPS作為另一個(gè)支持的芯片進(jìn)行同步開(kāi)發(fā)。MIPS和
ARM的授權(quán)可以分為處理器核授權(quán)和指令集授權(quán)兩類:任何一款芯片都包
含內(nèi)核和外設(shè)兩部分——其中內(nèi)核包括了寄存器組、指令集、總線、存儲(chǔ)器映射規(guī)則、中
斷邏輯和調(diào)試組件等;外設(shè)包括計(jì)時(shí)器、A/D轉(zhuǎn)換器、存儲(chǔ)器、ROM等;其中處理器核
授權(quán)是指將內(nèi)核設(shè)計(jì)授權(quán)給第三方,然后第三方可以以內(nèi)核設(shè)計(jì)為基礎(chǔ)加上自己的外設(shè)形
成自己的
CPU。MIPS和
ARM的商業(yè)上的主要差異在于:(1)
定價(jià):MIPS的定價(jià)策略是核授權(quán)很貴,而指令集授權(quán)很便宜;但是
ARM的
指令集授權(quán)很貴,但核授權(quán)很便宜。(2)生態(tài)策略:MIPS的架構(gòu)授權(quán),并不限制任何對(duì)
MIPS架構(gòu)的更改,允許設(shè)計(jì)
者修改后再將擴(kuò)展后的指令集進(jìn)行二次銷售;而
ARM不允許二次銷售,而
且規(guī)定合作伙伴可以參于指令集的制定(設(shè)計(jì)者可以貢獻(xiàn)自己的新指令,但
是會(huì)不會(huì)成為
ARM指令集的一部分需要由
ARM和重要合作伙伴協(xié)商決定),
但禁止私下修改。MIPS雖然獲得了微軟的支持,但最終挑戰(zhàn)英特爾失敗走向沒(méi)落,我們認(rèn)為其中問(wèn)題
的根源在于:對(duì)于指令集控制松散,導(dǎo)致生態(tài)過(guò)于碎片化,相互不兼容。MIPS技術(shù)的先
進(jìn)性其實(shí)在當(dāng)時(shí)是受到包括微軟在內(nèi)的業(yè)內(nèi)明星公司所共同認(rèn)可的,但是
MIPS創(chuàng)始人是
學(xué)術(shù)派,不擅長(zhǎng)商業(yè)策略。其指令集授權(quán)定價(jià)便宜雖然使得基于
MIPS指令集的芯片在早
期遍地開(kāi)花,但是其對(duì)指令集的控制過(guò)于寬松,允許第三方對(duì)指令集進(jìn)行任意擴(kuò)展,從而
使得擴(kuò)展后指令集所衍生出來(lái)的上層應(yīng)用生態(tài)相互不兼容(即基于
MIPS指令集的
A芯片
上的應(yīng)用程序無(wú)法在基于另一擴(kuò)展版
MIPS指令集的
B芯片上運(yùn)行)。但是
ARM吸取
MIPS的前車之鑒,在指令集授權(quán)限制上非常嚴(yán)格,再加上靠低功耗主打嵌入式市場(chǎng),所
以在手機(jī)移動(dòng)生態(tài)中一戰(zhàn)成名。2.2
兩次成功的沖擊:AMD的崛起+蘋(píng)果封閉生態(tài)的建立AMD的崛起AMD通過(guò)
IBM和英特爾首次合作
PC時(shí)期“第二貨源”的行規(guī)獲得
x86
指令集永
久授權(quán)。微軟和
IBM簽署商業(yè)協(xié)議約定
IBM對(duì)
MS-DOS的未來(lái)升級(jí)版本不能享有獨(dú)占
使用權(quán)和控制權(quán),微軟可以向其他
PC制造商出售
MS-DOS賺錢(qián)。但是在處理器方面,
由于當(dāng)時(shí)美國(guó)半導(dǎo)體行業(yè)存在“第二貨源”的行規(guī)(起源于
20
世紀(jì)
60
年代,當(dāng)時(shí)軍方是
美國(guó)半導(dǎo)體公司的最大采購(gòu)方,為了保證供應(yīng)鏈穩(wěn)定要求競(jìng)標(biāo)的企業(yè)必須提供第二家有生
產(chǎn)同一種產(chǎn)品能力的供應(yīng)商),IBM向英特爾施壓要求提供
8086
第二供應(yīng)商,于是英特爾找到
AMD。雙方約定:“AMD可以對(duì)英特爾銷售的英特爾微型計(jì)算機(jī)和周邊產(chǎn)品中
包含的微代碼進(jìn)行復(fù)制”,AMD從此獲得了
x86
指令集的永久授權(quán)。AMD雖然獲得了
x86
指令集的永久授權(quán),但是在
2003
年之前的
CPU領(lǐng)域一直是
跟隨者的角色,不斷生產(chǎn)兼容
Intel的處理器。AMD雖然可以靠逆向工程,但是每一代
CPU推出的時(shí)間點(diǎn)都會(huì)比英特爾晚幾年時(shí)間,例如
AMD在
386
推出時(shí)間上落后于英特
爾
6
年,在
486
上落后
4
年。因此在非常長(zhǎng)一段時(shí)間,AMD在商業(yè)上都是主打性價(jià)比的
策略,只能占據(jù)市場(chǎng)約
15%份額。1990
年底,AMD推出了
386
的復(fù)制品
Am386,
AMD憑借其更為廉價(jià)和強(qiáng)大的替代品搶走了
50%以上的
386
市場(chǎng)。(2)寒武紀(jì)在走英偉達(dá)的路線;AMD在
64
位處理器和雙內(nèi)核處理器市場(chǎng)均領(lǐng)先英特爾一步,“64
位”+“雙核”
戰(zhàn)略讓
AMD持續(xù)保持了
3
年優(yōu)勢(shì)。從
2004H1
開(kāi)始,AMD推出的一系列速龍
K8
處理
器(所有速龍架構(gòu)的
64
位桌面
CPU,包括
Athlon64
和
Athlon64
X2)性能明顯超越英
特爾奔騰
4
和奔騰
D,但是英特爾在
2003
年
12
月接受媒體采訪時(shí)公司高層仍然表示
“目前的市場(chǎng)對(duì)
64
位處理器的需求并不大,2005
年再推出
64
位
CPU也不遲”,英特爾在
x86-64
架構(gòu)上的遲疑使得
AMD不斷蠶食英特爾桌面處理器的份額。2005
年
5
月
Intel發(fā)布了世界上第一款雙核
CPU奔騰
D,但是英特爾是將
2
個(gè)奔騰
4Prescott的核心
封裝在一起,通過(guò)前端總線(FSB)分別連接北橋,通過(guò)北橋來(lái)連接兩個(gè)核心(所以速度
肯定有瓶頸,而且挑主板),其實(shí)是“膠水雙核”;幾周后便被
AMD速龍
64
X2
超越,
推出了一系列“原生雙核”CPU。2006
年英特爾提出并開(kāi)始執(zhí)行
Tick-Tock戰(zhàn)略——每?jī)赡晟?jí)一次工藝,每?jī)赡晟?/p>
級(jí)一次架構(gòu)。每年都有新一代處理器問(wèn)世,從
45nm的
Penryn(Core架構(gòu)第一代產(chǎn)品)
一直持續(xù)到了
14nm工藝的
Broadwell。2006
年
7
月英特爾具有革命意義的酷睿
2
上市,
讓
AMD在桌面
CPU市場(chǎng)優(yōu)勢(shì)全無(wú),性能全面超越
AMD。不久英特爾發(fā)布首個(gè)
4
核
CPU酷睿
2Q和
QX;為了應(yīng)戰(zhàn),AMD在
2007
年發(fā)布了首個(gè)
4
核
CPU弈龍系列
(X3/X4),但是性能仍然不如酷睿
2,此后的弈龍
K10
架構(gòu)也出現(xiàn)容易導(dǎo)致死機(jī)的嚴(yán)重
漏洞。此后英特爾連續(xù)推出的酷睿
i3/
i5/i7
性能完爆
AMD,2009
年上半年
AMD發(fā)布的
與英特爾酷睿同時(shí)期競(jìng)爭(zhēng)的
FX推土機(jī)(Bulldozer)架構(gòu)進(jìn)一步拉開(kāi)了
AMD落后于英特
爾的差距。英特爾從
2016
年開(kāi)始陷入工藝制程的瓶頸與
Tick-Tock戰(zhàn)略脫節(jié),開(kāi)始“擠牙膏”
模式;2017
年
3
月
AMD發(fā)布銳龍架構(gòu)讓其正式開(kāi)啟一個(gè)在
PC領(lǐng)域全面反超
Intel的
時(shí)代。2017
年
3
月
AMD推出第一代銳龍(Ryzen)架構(gòu)
CPU,第一代銳龍單核性能比
英特爾弱,除了憑借更多核心在極個(gè)別多線程應(yīng)用中表現(xiàn)優(yōu)秀之外,大部分正式應(yīng)用中其
實(shí)不如同期英特爾的
CPU。直至
2018
年
4
月
AMD發(fā)布第二代銳龍,單核性能有了大幅
提升,也解決了內(nèi)存上的問(wèn)題;再加上英特爾
IDM模式工藝制程升級(jí)遇到瓶頸,AMD依
靠臺(tái)積電代工先英特爾一步進(jìn)入
7nm制程,AMD開(kāi)始大幅搶奪英特爾份額。我們認(rèn)為
AMD的成功除了對(duì)手犯錯(cuò)+性能領(lǐng)先之外,其實(shí)
AMD之所以能達(dá)到性能
領(lǐng)先還有很重要的原因是在于管理層更聚焦。2014
年蘇姿豐臨危受命接任
CEO,當(dāng)時(shí)其
指出
AMD最主要的矛盾是“我們有很好的技術(shù),可是同時(shí)又發(fā)展了太多的產(chǎn)品,沒(méi)有一
個(gè)清楚的目標(biāo)和焦點(diǎn)”,于是果斷作出取舍,放棄部分業(yè)務(wù)(例如放棄了基于
ARM架構(gòu)
的服務(wù)器
CPU研發(fā)),讓公司更聚焦。蘇姿豐和董事會(huì)決定發(fā)揮強(qiáng)項(xiàng)——先做好
PC市
場(chǎng),全力投入在銳龍架構(gòu)升級(jí)上;在云計(jì)算興起后,又迅速抓住機(jī)會(huì),
重返服務(wù)器市場(chǎng)。蘋(píng)果
MacOSX封閉生態(tài)的成功2001
年
MacOSX正式發(fā)布,替代經(jīng)典
MacOS。1997
年
2
月蘋(píng)果收購(gòu)
NeXT后,
MacOSX吸收了這家公司操作系統(tǒng)
NeXTSTEP中的
Mach微內(nèi)核、Objective-C、面向
對(duì)象、Bundle、BSD等技術(shù)架構(gòu)和設(shè)計(jì)思想。蘋(píng)果桌面操作系統(tǒng)
MacOSX市占率雖然不到
10%,但是軟件應(yīng)用數(shù)量是
windows生態(tài)的
62%——這說(shuō)明雖然蘋(píng)果
MacOSX市占率不高,但是開(kāi)發(fā)者非常愿意去為蘋(píng)果
桌面生態(tài)開(kāi)發(fā)軟件。蘋(píng)果
MacOSX在
2012
年桌面操作系統(tǒng)的市占率為
9.3%,
windows市占率為
85.3%;但是當(dāng)年蘋(píng)果
MacOSX生態(tài)內(nèi)軟件數(shù)量已經(jīng)達(dá)到
1.3
萬(wàn)個(gè),
windows生態(tài)內(nèi)軟件數(shù)量為
2.1
萬(wàn)個(gè)。21
世紀(jì)蘋(píng)果
MacOSX和前述
20
世紀(jì)
90
年代經(jīng)典
MacOS軟件生態(tài)之所以截然不
同,我們認(rèn)為很關(guān)鍵在于蘋(píng)果變得對(duì)開(kāi)發(fā)者更友好了:蘋(píng)果開(kāi)始承認(rèn)此前從最頂層應(yīng)用軟件到硬件全部都
100%自己做的專有欲是一種錯(cuò)誤。
1997
年喬布斯重新執(zhí)掌蘋(píng)果,在
1997
年
WWDC大會(huì)上說(shuō)到:“Mac的心態(tài)就是:我
們什么都是專有的——這種傲慢使我們覺(jué)得我們可以發(fā)明自己的網(wǎng)絡(luò)甚至一切。所以這里的智慧不是我們要發(fā)明所有的東西,而是明白哪些
10%、20%或者
30%的東西是我們要
發(fā)明的。所以我覺(jué)得這種高傲的專有欲深深地傷害了我們,而我們的管理團(tuán)隊(duì)卻鼓勵(lì)這種
自大,鼓勵(lì)員工去重復(fù)造輪子。”喬布斯向軟件開(kāi)發(fā)者反復(fù)強(qiáng)調(diào)“基于
MacOS寫(xiě)軟件比其他操作系統(tǒng)快
5-10
倍,可
以幫開(kāi)發(fā)者省去
80%的代碼”的易開(kāi)發(fā)性。喬布斯在
1997WWDC大會(huì)上提到:“《人
月神話》最基本的理念就是:當(dāng)開(kāi)發(fā)團(tuán)隊(duì)達(dá)到某個(gè)規(guī)模的時(shí)候,每加入一個(gè)新人,與這個(gè)
新人溝通所花費(fèi)的精力時(shí)間其實(shí)比他的貢獻(xiàn)還多,所以進(jìn)度反而更慢,所以產(chǎn)出的最大值
就下來(lái)了。我們知道開(kāi)發(fā)軟件最核心就是要降低管理復(fù)雜性,這些工具使你無(wú)需為
93%的
問(wèn)題煩惱,消滅你要編寫(xiě)的
80%的代碼,讓你以
5
倍的速度寫(xiě)一個(gè)同樣復(fù)雜的軟件?!?.3
總結(jié):不能做錯(cuò)什么?應(yīng)該做對(duì)什么?我們認(rèn)為五次沖擊
Wintel失敗的案例可以總結(jié)出來(lái)塑造生態(tài)絕對(duì)不能犯的致命錯(cuò)誤
有:不兼容導(dǎo)致生態(tài)碎片化、性能差、定價(jià)高、過(guò)于封閉。比爾·蓋茨提到的上述三種方法分別對(duì)應(yīng)性能領(lǐng)先、對(duì)開(kāi)發(fā)者友好、價(jià)格便宜是三種特
性,最后提到的是微軟將兼容性做到了極致。另外微軟在為
IBM推出第一代
PC時(shí)就特別
和
IBM約定
IBM不能享有
MS-DOS的獨(dú)占使用權(quán)和控制權(quán),允許向第三方出售特許權(quán)
賺錢(qián),微軟這種開(kāi)放的態(tài)度再加上前面四個(gè)特性使得微軟
OS迅速成為行業(yè)標(biāo)準(zhǔn)。
諸如
IBMOS/2、UNIX、經(jīng)典
MacOS等競(jìng)爭(zhēng)對(duì)手的競(jìng)品在以上任意一點(diǎn)無(wú)法做到
和微軟一樣好,那么都將是致命的弱點(diǎn),注定無(wú)法成為行業(yè)標(biāo)準(zhǔn)。我們認(rèn)為兩次成功的案例可以得到的啟發(fā)是:1、
壟斷型的競(jìng)爭(zhēng)對(duì)手難免犯錯(cuò),對(duì)手犯錯(cuò)時(shí)確保自己能夠堅(jiān)持走在正確的路上;或
者有原始的技術(shù)創(chuàng)新進(jìn)行超越——兩者達(dá)成其一可以獲得市占率的提升。(備注:
AMD搶奪
Intel份額不存在生態(tài)壁壘的問(wèn)題,因?yàn)?/p>
Intel和
AMD都是
x86
指令
集;因此相對(duì)于
ARM/PowerPC等
RISC陣營(yíng)的芯片商去突破
Wintel要相對(duì)容
易)2、
即使只有
10%的市占率,也會(huì)有開(kāi)發(fā)者愿意來(lái)做生態(tài),但前提是要對(duì)開(kāi)發(fā)者足夠
友好。前述
MacOSX已經(jīng)是例證;而蘋(píng)果手機(jī)
iOS從
2012-2021
年一直保持
15~16%市占率,但生態(tài)依舊繁榮,再次證明這一論斷。3.AI芯片生態(tài)壁壘如何破局?3.1
AI生態(tài)與
PC生態(tài)的相同和不同我們認(rèn)為生態(tài)壁壘產(chǎn)生的根源在于軟硬件高度耦合。相同點(diǎn):為了最大程度發(fā)揮芯片本身性能,PC需要
OS廠商和
CPU廠商一起來(lái)做聯(lián)
合優(yōu)化;AI需要深度學(xué)習(xí)框架廠商和
AI芯片廠商一起來(lái)做聯(lián)合優(yōu)化。完整的深度學(xué)習(xí)開(kāi)發(fā)過(guò)程包含算法設(shè)計(jì)、算法實(shí)現(xiàn)、算法運(yùn)行三個(gè)環(huán)節(jié)——深度學(xué)習(xí)
框架是在“算法實(shí)現(xiàn)”環(huán)節(jié)進(jìn)行加速,AI芯片是在“算法運(yùn)行”環(huán)節(jié)進(jìn)行加速。(1)算
法設(shè)計(jì):例如基于
CNN的圖像檢測(cè)算法有
R-CNN、YOLO、SSD等多種不同的類型,這
屬于算法設(shè)計(jì)上的不同。(2)算法實(shí)現(xiàn):也就是將算法的設(shè)計(jì)一步步轉(zhuǎn)化為可以直接在
芯片上執(zhí)行的程序的過(guò)程。(3)算法運(yùn)行:經(jīng)過(guò)算法實(shí)現(xiàn)后的程序在芯片上運(yùn)行計(jì)算的
過(guò)程。
深度學(xué)習(xí)框架解決的就是“算法實(shí)現(xiàn)”的過(guò)程。深度學(xué)習(xí)框架的作用實(shí)際上就是把
AI開(kāi)發(fā)者設(shè)計(jì)好的神經(jīng)網(wǎng)絡(luò)模型轉(zhuǎn)化為用張量(Tensor)和算子(operation)表示的計(jì)算
圖,然后再將計(jì)算圖進(jìn)行優(yōu)化加速,并且將優(yōu)化加速后的算子映射到
AI芯片上去計(jì)算的
過(guò)程。其中張量(Tensor)對(duì)應(yīng)的是數(shù)據(jù),算子(OP)對(duì)應(yīng)運(yùn)算符。AI應(yīng)用開(kāi)發(fā)者一般
用深度學(xué)習(xí)框架中的大量現(xiàn)成算子以及少量自定義的算子來(lái)完成模型的搭建。深度學(xué)習(xí)框架的優(yōu)化分為圖優(yōu)化和算子優(yōu)化兩個(gè)環(huán)節(jié)。深度學(xué)習(xí)框架主要將神經(jīng)網(wǎng)絡(luò)
模型轉(zhuǎn)為計(jì)算圖,再此基礎(chǔ)上進(jìn)行兩個(gè)層次的優(yōu)化:(1)計(jì)算圖高層次優(yōu)化:例如內(nèi)存
優(yōu)化技術(shù)、操作符的融合、表達(dá)式的化簡(jiǎn)以及無(wú)用代碼的消除。(2)算子優(yōu)化:早期主
要是靠手寫(xiě)庫(kù)函數(shù),即人工優(yōu)化算子(通過(guò)精細(xì)地選擇流水線、指令集、預(yù)讀、寄存器分
配來(lái)達(dá)到接近最優(yōu)效果),這個(gè)庫(kù)函數(shù)一般由
AI芯片硬件廠商開(kāi)發(fā)提供。算子(OP)分為高層算子和底層算子,高層算子需要底層算子去表示;另外算子需
要最終映射為能夠在
AI芯片上運(yùn)行的程序
Kernel;高層算子需要深度學(xué)習(xí)框架提供商做
很多優(yōu)化整合工作。雖然
AI芯片廠商會(huì)針對(duì)自身芯片特性開(kāi)發(fā)一系列算子封裝為“深度
學(xué)習(xí)庫(kù)”(例如英偉達(dá)
cuDNN、英特爾
MKL-DNN這樣的基礎(chǔ)算子原語(yǔ)庫(kù)),但是有時(shí)
還不是最優(yōu)算子,對(duì)于深度學(xué)習(xí)框架廠商而言在高層算子這一層面還有很多優(yōu)化整合的空
間,以及框架廠商還要考慮系統(tǒng)中存在多種不同的芯片時(shí),計(jì)算任務(wù)如何在不同芯片上分
配和調(diào)度的問(wèn)題。我們認(rèn)為
AI生態(tài)壁壘的出現(xiàn)主要體現(xiàn)在算子(OP)和
AI芯片硬件的高度耦合;做
一個(gè)深度學(xué)習(xí)框架最大的工程量就在于海量算子和眾多后端芯片的支持。Tensorflow要
支持
GPU計(jì)算,需要把
Tensorflow里面所有算子開(kāi)發(fā)一個(gè)
GPU版本;如果要支持寒武
紀(jì)思元芯片,又需要把每個(gè)算子開(kāi)發(fā)一個(gè)寒武紀(jì)芯片的版本。而目前
Tensorflow里的算
子數(shù)量已經(jīng)達(dá)到了
2000
多個(gè),而且后續(xù)算子數(shù)量會(huì)隨著算法模型的不斷發(fā)展而層出不窮,
但是每一個(gè)算子的開(kāi)發(fā)和維護(hù)都需要投入巨大的工程量。我們認(rèn)為
OP集和
AI芯片硬件高度耦合其原因在于每一家
AI芯片廠商智能編程語(yǔ)言
不同;由于各家
AI芯片廠商編程語(yǔ)言無(wú)法兼容,而深度學(xué)習(xí)框架廠商僅支持一家
AI芯片
就要投入巨大工程量,因此導(dǎo)致其最終只選擇市占率最大的
1-2
家進(jìn)行深度支持——AI芯片廠商的生態(tài)壁壘護(hù)城河得以形成。對(duì)于
AI芯片而言之所以需要智能編程語(yǔ)言是傳統(tǒng)
編程語(yǔ)言(Python、C++、Java等)難以滿足三大鴻溝,而如果用運(yùn)行效率最高的底層
匯編語(yǔ)言寫(xiě)將導(dǎo)致開(kāi)發(fā)門(mén)檻過(guò)高:(1)語(yǔ)義鴻溝:傳統(tǒng)的高級(jí)編程語(yǔ)言難以高效描述復(fù)
雜的智能語(yǔ)義,比如如果用
C++寫(xiě)卷積運(yùn)算的代碼,需要
7
重循環(huán);如果用
Python寫(xiě),
需要
4
重循環(huán)。高層的語(yǔ)義不好描述或者描述起來(lái)很費(fèi)時(shí)間,要寫(xiě)很多行代碼才能實(shí)現(xiàn)一
個(gè)算子。(2)硬件鴻溝:不同
AI芯片在控制、存儲(chǔ)、計(jì)算方面都有很強(qiáng)的獨(dú)立性,AI芯
片需要有專用的編程語(yǔ)言對(duì)上述特性進(jìn)行很好的抽象,如果不讓開(kāi)發(fā)者通過(guò)編程語(yǔ)言清楚
看到底層硬件抽象是無(wú)法很好利用底層
AI芯片的性能的。(3)平臺(tái)鴻溝:各類
AI芯片
底層指令集不同,由于匯編語(yǔ)言和指令集是一一對(duì)應(yīng)的關(guān)系,因此匯編語(yǔ)言也不同,匯編
語(yǔ)言之上的智能編程語(yǔ)言也不同,英偉達(dá)的智能編程語(yǔ)言
CUDA在寒武紀(jì)、華為昇騰芯
片上跑不起來(lái),所以對(duì)于寒武紀(jì)、華為而言需要自己專有的智能編程語(yǔ)言。不同點(diǎn)
1:未來(lái)有可能發(fā)生
AI系統(tǒng)軟件和芯片之間的配合沒(méi)有
PC領(lǐng)域“Wintel”
那么緊密。上文提到上層算法模型在不斷發(fā)展,但是算子集也在隨著新算法的出現(xiàn)而不斷擴(kuò)散,
存量巨大且不斷擴(kuò)張的算子集對(duì)于
AI芯片的硬件適配將成為巨大的災(zāi)難。目前業(yè)界正在
共同探索用于使得深度學(xué)習(xí)框架和
AI芯片解耦的解決方案——“深度學(xué)習(xí)編譯器”。深度學(xué)習(xí)編譯器可分為圖編譯器、算子編譯器、端側(cè)推理相關(guān)的編譯器三大類。深度
學(xué)習(xí)編譯器實(shí)際上借鑒了傳統(tǒng)編譯器的實(shí)現(xiàn)原理:在
PC發(fā)展早期也出現(xiàn)了各種
CPU,不
同
CPU都有專門(mén)的編程語(yǔ)言,需要經(jīng)過(guò)專門(mén)的編譯器和匯編器翻譯成
機(jī)器碼再對(duì)應(yīng)到相應(yīng)的
CPU指令集,隨著編程語(yǔ)言的增加,各家廠商
編譯器維護(hù)難度隨之增加;現(xiàn)代編譯器為編譯器抽象出了編譯器前
端、中端、后端,并且引入了
IR,解決了上述問(wèn)題——其中編譯器前端主要
作用是接收
C/C++/Java等不同語(yǔ)言,進(jìn)行代碼生成,吐出
IR;編譯器中端主要作用是
接收
IR,進(jìn)行不同編譯器后端可以共享的優(yōu)化(如常量替換、死代碼消除、循環(huán)優(yōu)化等),
吐出優(yōu)化后的
IR;編譯器后端接收優(yōu)化后的
IR,進(jìn)行不同硬件的平臺(tái)相關(guān)優(yōu)化與硬件指
令生成,吐出目標(biāo)文件。圖編譯器是在前端與硬件無(wú)關(guān)的優(yōu)化,深度學(xué)習(xí)端側(cè)推理相關(guān)編譯器主要解決的是不
同訓(xùn)練框架訓(xùn)練出來(lái)的模型部署到各種終端
AI加速器上時(shí)跨平臺(tái)精度損失的問(wèn)題。從訓(xùn)
練端看,可供大家選擇的訓(xùn)練框架有
Tensorflow、Pytorch、Caffe、Mindspore、
PaddlePaddle等等;從推理端看,當(dāng)模型訓(xùn)練好需要部署到多類具體芯片上,大家往往
會(huì)選擇各家硬件廠商所推出的前向推理框架以達(dá)到最優(yōu)加速效果(例如
IntelCPU/GPU上使用
OpenVINO,在
Arm的
CPU/GPU上使用的是
NCNN/MNN等,在
NvidiaGPU上使用的是
TensorRT)——但是當(dāng)模型從訓(xùn)練框架轉(zhuǎn)到不同推理框架時(shí),會(huì)出現(xiàn)各
個(gè)框架不同而無(wú)法讀取、支持的算子不同無(wú)法對(duì)齊、還容易出現(xiàn)在一個(gè)芯片平臺(tái)上可以實(shí)
現(xiàn)高效推理但是在另一個(gè)平臺(tái)性能驟降的問(wèn)題。深度學(xué)習(xí)端推理編譯器解決的就是上述困
難:用各種深度學(xué)習(xí)訓(xùn)練框架訓(xùn)練出來(lái)的神經(jīng)網(wǎng)絡(luò)模型可以類比傳統(tǒng)編譯器中的各種編程
語(yǔ)言,各種模型傳入深度學(xué)習(xí)編譯器之后吐出
IR(計(jì)算圖),計(jì)算圖
IR可以做一些計(jì)算
圖優(yōu)化再吐出
IR分發(fā)給各種硬件使用。通過(guò)上述方式,當(dāng)需要支持一種新訓(xùn)練框架或者
新的硬件芯片時(shí),只需要分別在前端或者后端進(jìn)行支持即可,都用統(tǒng)一的
IR來(lái)表示并優(yōu)
化。算子編譯器可以用來(lái)解決
AI框架算子(OP)和
AI芯片緊耦合的問(wèn)題。通用的深度
學(xué)習(xí)編譯器處理流程可以分為
5
層:前端、中間表示(IR)、高級(jí)優(yōu)化、低級(jí)優(yōu)化、后端。
高級(jí)優(yōu)化對(duì)應(yīng)圖優(yōu)化,低級(jí)優(yōu)化對(duì)應(yīng)與
AI芯片硬件相關(guān)的算子優(yōu)化。傳統(tǒng)的深度學(xué)習(xí)框架主要靠
AI硬件廠商算子開(kāi)發(fā)工程師手寫(xiě)算子庫(kù)進(jìn)行優(yōu)化,算
子編譯器的作用可以簡(jiǎn)單理解為“靠
AI去實(shí)現(xiàn)自動(dòng)優(yōu)化算子”,上述提到每一個(gè)算子的
開(kāi)發(fā)和維護(hù)都需要
AI芯片廠商投入巨大的人力精力,但相比之下人的精力是有限的但是
機(jī)器的算力是無(wú)限的。前端每一個(gè)深度學(xué)習(xí)框架都需要支持整合上千個(gè)算子,而后端出現(xiàn)
的
AI芯片越來(lái)越多,如果支持所有
AI芯片則會(huì)出現(xiàn)“組合爆炸”,因此深度學(xué)習(xí)框架廠
商只選擇市占率最高的
1-2
家
AI芯片進(jìn)行支持,如果相關(guān)算子優(yōu)化大部分靠機(jī)器去自動(dòng)
完成,則可以使得深度學(xué)習(xí)框架擺脫
OP集的束縛,實(shí)現(xiàn)系統(tǒng)軟件和底層硬件之間的解耦。我們認(rèn)為深度學(xué)習(xí)端側(cè)推理編譯器的意義在于可以在邊緣端一定程度打破
NV壟斷,
因?yàn)槿绻麖挠?xùn)練到推理不存在跨平臺(tái)精度損失等問(wèn)題,則云和端不一定要用同一家廠商的
AI芯片。我們認(rèn)為算子編譯器的意義在于可以使得深度學(xué)習(xí)框架和
AI芯片解耦,直接打破生
態(tài)壁壘。
雖然業(yè)界已經(jīng)在集中攻關(guān)上述“深度學(xué)習(xí)編譯器”,但是目前技術(shù)發(fā)展的現(xiàn)狀是編譯
器生成的代碼不一定能超過(guò)工程師手工優(yōu)化的代碼(例如
Tensorflow的
XLA編譯器受限
于編譯器技術(shù)本身完全沒(méi)有達(dá)到想要直接優(yōu)化整個(gè)計(jì)算子圖效果;TVM也僅在部分場(chǎng)景能夠獲得超過(guò)手工優(yōu)化的代碼,支持的平臺(tái)主要是通用并行機(jī),對(duì)
AI芯片支持較差);
而深度學(xué)習(xí)編譯器只有在各種場(chǎng)景超過(guò)人工優(yōu)化的傳統(tǒng)辦法,才有機(jī)會(huì)真正被采用,到達(dá)
這一目標(biāo)之前之前深度學(xué)習(xí)編譯只是玩具,需要時(shí)間等待技術(shù)進(jìn)步成熟。不同點(diǎn)
2:具備原始創(chuàng)新的深度學(xué)習(xí)框架未來(lái)有可能挑戰(zhàn)
Tensorflow和
Pytorch雙壟斷的地位,從而重塑生態(tài)。即使上述能夠使得軟硬解耦的深度學(xué)習(xí)編譯器技術(shù)仍然在探索期,但是深度學(xué)習(xí)框架
自身格局仍有諸多變數(shù),進(jìn)而有可能使得
AI生態(tài)并不會(huì)一直維持“深度學(xué)習(xí)框架
Tensorflow、Pytorch雙壟斷+AI芯片英偉達(dá)一家獨(dú)大”這樣的格局。目前深度學(xué)習(xí)訓(xùn)練框架領(lǐng)域呈現(xiàn)
Tensorflow和
Pytorch雙壟斷格局;Tensorflow在工業(yè)界占優(yōu)勢(shì),Pytorch在學(xué)術(shù)界占優(yōu)勢(shì)。2018
年之前深度學(xué)習(xí)框架是
Tensorflow一家獨(dú)大,但是自
2019
年開(kāi)始
Pytorch開(kāi)始反超
Tensorflow,2019
年各
AI頂級(jí)研究
會(huì)議中接收到的論文中已經(jīng)有一半以上研究是用
Pytorch來(lái)做的。Pytorch已經(jīng)在學(xué)術(shù)界
市占率全面超越
Tensorflow,但是在工業(yè)界大家仍然選擇用
Tensorflow來(lái)開(kāi)發(fā)模型。我們認(rèn)為
Pytorch之所以強(qiáng)勢(shì)反超
Tensorflow是因?yàn)槁氏纫肓恕皠?dòng)態(tài)圖”,做
了原始創(chuàng)新;另外側(cè)面也反映出深度學(xué)習(xí)框架格局并非像
PC操作系統(tǒng)那般穩(wěn)固,是存在
變動(dòng)的可能性的。谷歌
Tensorflow第一個(gè)正式版本在
2015
年推出,第一版只有
CPU版本,后來(lái)才有的
GPU版本,而且一開(kāi)始推出的時(shí)候
TF性能并不是很好。之所以現(xiàn)在成為
了使用人數(shù)最多最受歡迎的深度學(xué)習(xí)框架是因?yàn)橥度肓舜罅抠Y源和人力去做生態(tài)推廣,而
且可移植性做得比較好,具有支持多種高級(jí)語(yǔ)言輸入、更靈活的編程模型等優(yōu)點(diǎn)。
Tensorflow1.0
版本設(shè)計(jì)理念是“靜態(tài)圖”(先說(shuō)明數(shù)據(jù)要怎么計(jì)算,然后再放入數(shù)據(jù)),
其缺點(diǎn)是
AI開(kāi)發(fā)人員難以調(diào)試,而且
API混亂;但是
Pytorch在
2016
年推出的時(shí)候采
用了“動(dòng)態(tài)圖”編程(運(yùn)算圖是在數(shù)據(jù)計(jì)算的同時(shí)構(gòu)建的),極大解決了上述
TF的缺陷。
2018
年
Tensorflow2.0
也開(kāi)始引入動(dòng)態(tài)圖編程,但是那時(shí)
Pytorch已經(jīng)占領(lǐng)了學(xué)術(shù)界,
而且生態(tài)也已經(jīng)起來(lái)了。我們認(rèn)為如果國(guó)產(chǎn)深度學(xué)習(xí)框架能夠通過(guò)原始創(chuàng)新具備生態(tài)掌控力,國(guó)產(chǎn)
AI芯片廠
商進(jìn)行生態(tài)突圍的機(jī)會(huì)也將增加。2016
年百度發(fā)布我國(guó)第一個(gè)國(guó)產(chǎn)深度學(xué)習(xí)框架,2020
年是我國(guó)深度學(xué)習(xí)框架受重視的元年,華為
Mindspore、清華
Jittor、曠視
Megengine國(guó)產(chǎn)深度學(xué)習(xí)框架相繼發(fā)布。國(guó)產(chǎn)深度學(xué)習(xí)框架和
Tensorflow、Pytorch這些國(guó)外深度
學(xué)習(xí)框架相比最大的一點(diǎn)不同在于國(guó)產(chǎn)框架愿意對(duì)國(guó)產(chǎn)
AI芯片和
CPU進(jìn)行支持,但是國(guó)
外框架不會(huì)。如果國(guó)產(chǎn)框架能夠跑出來(lái),國(guó)內(nèi)
AI芯片廠商生態(tài)突圍的機(jī)會(huì)也會(huì)相應(yīng)增加,
但是從
Pytorch后來(lái)居上反超
Tensorflow的案例來(lái)看,其前提必然是要基于原始創(chuàng)新,
如果只是追隨和模仿國(guó)外框架,那么國(guó)產(chǎn)框架將永遠(yuǎn)不會(huì)具備生態(tài)掌控力。3.2
各家所選取的
AI生態(tài)突圍路線目前
AI芯片主要玩家應(yīng)對(duì)英偉達(dá)塑造的
AI生態(tài)壁壘,選取了不同的商業(yè)策略:(1)AMD在走部分兼容
CUDA的路線;(2)寒武紀(jì)在走英偉達(dá)的路線;(3)谷歌、華為、百度走的是“深度學(xué)習(xí)框架+AI芯片”自研路線;(4)特斯拉走的“算法+訓(xùn)練芯片+推理芯片”自研自用封閉路線,類似蘋(píng)果在
PC時(shí)代模式;(5)地平線走的是垂直領(lǐng)域“算法+芯片”路線。AMD選擇了部分兼容英偉達(dá)
CUDA,借力英偉達(dá)生態(tài)的路線。AMD在
2016
年全
球超算大會(huì)上推出了
ROCm,也就是對(duì)標(biāo)英偉達(dá)
CUDA一樣的智能編程語(yǔ)言,ROCm軟
件堆棧的結(jié)構(gòu)設(shè)計(jì)與
CUDA相似度很高;對(duì)標(biāo)英偉達(dá)深度學(xué)習(xí)庫(kù)
cuDNN,AMD推出了
MIOpen;對(duì)標(biāo)英偉達(dá)深度學(xué)習(xí)推理框架
TensorRT,AMD推出了
Tensile;對(duì)標(biāo)英偉達(dá)
編譯器
NVCC,AMD推出了
HCC。ROCm中包含的
HIPify工具,可以把
CUDA代碼一
鍵轉(zhuǎn)換成
ROCm棧的
API,減少用戶移植成本。我們認(rèn)為走兼容英偉達(dá)
CUDA的路線其難點(diǎn)在于其更新迭代速度永遠(yuǎn)跟不上
CUDA并且很難做到完全兼容。(1)迭代永遠(yuǎn)慢一步:英偉達(dá)
GPU在微架構(gòu)和指令集上迭代很
快,在上層軟件堆棧上很多地方也要做相應(yīng)的功能更新;但是
AMD不可能知道英偉達(dá)的
產(chǎn)品路線圖,軟件更新永遠(yuǎn)會(huì)慢英偉達(dá)一步(例如
AMD有可能剛宣布支持了
CUDA11,
但是英偉達(dá)已經(jīng)推出
CUDA12
了)。(2)難以完全兼容反而會(huì)增加開(kāi)發(fā)者的工作量:像
CUDA這樣的大型軟件本身架構(gòu)很復(fù)雜,AMD需要投入大量人力物力用幾年甚至十幾年
才能追趕上;因?yàn)殡y免存在功能差異,如果兼容做不好反而會(huì)影響性能(雖然
99%相似了,
但是解決剩下來(lái)的
1%不同之處可能會(huì)消耗開(kāi)發(fā)者
99%的時(shí)間)。谷歌憑借
Tensorflow去做
TPU相對(duì)而言不存在太多生態(tài)壁壘問(wèn)題,但是仍然無(wú)法
撼動(dòng)英偉達(dá),我們認(rèn)為其原因在于
TPU本身性能還有進(jìn)一步提升空間以及過(guò)于專用的問(wèn)
題。理論上谷歌憑借
Tensorflow在深度學(xué)習(xí)框架領(lǐng)域?qū)崿F(xiàn)了壟斷地位,是具備絕對(duì)的生
態(tài)掌控力的,會(huì)投入大量的
Tensorflow工程師針對(duì)自家
TPU去做支持和優(yōu)化,因此TPU去挑戰(zhàn)英偉達(dá)
GPU其實(shí)不存在所謂生態(tài)壁壘的問(wèn)題。但是自谷歌自
2016
年推出第
一代
TPUv1
至今已經(jīng)到第四代
TPUv4(2021
年
5
月發(fā)布),仍然無(wú)法從英偉達(dá)手中搶
走明顯份額,其原因主要在于
TPU本身性能相比于英偉達(dá)同時(shí)期
GPU而言還有一定差距,
另外其芯片設(shè)計(jì)過(guò)于專用所以在卷積之外的算法表現(xiàn)上并不算好:(1)谷歌在芯片設(shè)計(jì)上的實(shí)力和英偉達(dá)相比還有一定差距,谷歌在
TPU論文中也明
確提到由于項(xiàng)目時(shí)間比較緊,所以很多優(yōu)化只能放棄。從性能參數(shù)來(lái)看谷歌
TPUv2
和英
偉達(dá)同年推出的
V100
相比,性能功耗比、顯存帶寬等指標(biāo)有著明著差距,即使是谷歌在
2018
年推出了第三代
TPU,其性能(FP32)、功耗等指標(biāo)仍然和英偉達(dá)
V100
相比存在
一定差距。(2)谷歌采用的是傳統(tǒng)脈動(dòng)陣列機(jī)架構(gòu),芯片設(shè)計(jì)上過(guò)于專用。TPU的主要?jiǎng)?chuàng)新在
于三點(diǎn):大規(guī)模片上內(nèi)存、脈動(dòng)式內(nèi)存訪問(wèn)、8
位低精度運(yùn)算。脈動(dòng)陣列機(jī)做卷積時(shí)效果
不錯(cuò),但是做其他類型神經(jīng)網(wǎng)絡(luò)運(yùn)算效果不是很好,在一定程度上犧牲了通用性來(lái)?yè)Q取特
定場(chǎng)景的高性能。TPU在芯片設(shè)計(jì)上只能完成“乘+加+乘+加......”規(guī)則的運(yùn)算,無(wú)法高
效實(shí)現(xiàn)“復(fù)數(shù)乘法、求倒、求平方根倒數(shù)”等常見(jiàn)算法?,F(xiàn)在
AI芯片的行業(yè)趨勢(shì)是:GPU在通用性的基礎(chǔ)上逐漸增加專用計(jì)算單元;而類似
TPU的
ASIC芯片在專用性的基礎(chǔ)上逐漸增加通用計(jì)算單元——兩類芯片有逐漸收斂的趨
勢(shì)。英偉達(dá)在用于深度學(xué)習(xí)領(lǐng)域的
GPU上的設(shè)計(jì)思路是“在通用的基礎(chǔ)上增加專用運(yùn)算
單元”,例如在
Volta架構(gòu)上開(kāi)始增加
TensorCore(專門(mén)用于深度學(xué)習(xí)加速)、在
Turing架構(gòu)上開(kāi)始增加
RTCore(專門(mén)用于光線追蹤加速),犧牲通用性為特殊的計(jì)算或
者算法實(shí)現(xiàn)特殊架構(gòu)的硬件以達(dá)到更快的速度。而
AI芯片一開(kāi)始走專用路線,但是現(xiàn)在
在專用性之外也在架構(gòu)設(shè)計(jì)上也增加了通用計(jì)算單元(例如谷歌
TPUv1
主要是矩陣乘法
運(yùn)算單元占了
24%芯片面積,但是
TPUv2
也開(kāi)始增加浮點(diǎn)
ALU做
SIMD)。華為在
2019
年
8
月發(fā)布的昇騰
910
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電梯維護(hù)有限空間作業(yè)安全技術(shù)措施
- 五子棋社團(tuán)年度總結(jié)計(jì)劃
- 股權(quán)投資擔(dān)保補(bǔ)充協(xié)議
- 寵物領(lǐng)養(yǎng)服務(wù)補(bǔ)充協(xié)議
- 少數(shù)民族婚姻忠誠(chéng)協(xié)議參照習(xí)慣法實(shí)施與執(zhí)行保障
- 獨(dú)立電影替身演員意外傷害保險(xiǎn)協(xié)議
- 學(xué)校操場(chǎng)瀝青路面施工質(zhì)量保障措施
- 工程招標(biāo)文件編制及審計(jì)合同
- 影視替身護(hù)肘租賃與影視特效技術(shù)應(yīng)用合同
- 數(shù)據(jù)中心安全防護(hù)能力提升補(bǔ)充協(xié)議
- 2024年重慶市中考數(shù)學(xué)試題B卷含答案
- 安徽理工大學(xué)《高等安全工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年7月1日實(shí)施新版醫(yī)療器械采購(gòu)、收貨、驗(yàn)收、貯存、銷售、出庫(kù)、運(yùn)輸和售后服務(wù)工作程序
- 航天禁(限)用工藝目錄(2021版)-發(fā)文稿(公開(kāi))
- 2024紙箱廠規(guī)章制度
- 車位轉(zhuǎn)讓車位協(xié)議書(shū)模板
- Unit 1 Our living planet Reading The ocean deep 教學(xué)設(shè)計(jì)-2023-2024學(xué)年高中英語(yǔ)譯林版(2020)選修第一冊(cè)
- 腦洞大開(kāi)背后的創(chuàng)新思維學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- DB34∕T 3781-2021 集貿(mào)市場(chǎng)(大型超市)公平秤設(shè)置與管理規(guī)范
- 化工公司安全知識(shí)競(jìng)賽題庫(kù)(共1000題)
- 基于證據(jù)的微波療法治療骨關(guān)節(jié)炎指南
評(píng)論
0/150
提交評(píng)論