AI 芯片產(chǎn)業(yè)研究-Wintel生態(tài)壁壘是否會(huì)在AI芯片領(lǐng)域重演_第1頁(yè)
AI 芯片產(chǎn)業(yè)研究-Wintel生態(tài)壁壘是否會(huì)在AI芯片領(lǐng)域重演_第2頁(yè)
AI 芯片產(chǎn)業(yè)研究-Wintel生態(tài)壁壘是否會(huì)在AI芯片領(lǐng)域重演_第3頁(yè)
AI 芯片產(chǎn)業(yè)研究-Wintel生態(tài)壁壘是否會(huì)在AI芯片領(lǐng)域重演_第4頁(yè)
AI 芯片產(chǎn)業(yè)研究-Wintel生態(tài)壁壘是否會(huì)在AI芯片領(lǐng)域重演_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論