?
5 月 21 日,美光公司舉行了年度分析師和投資者會(huì)議。
盡管很多人都希望獲得更多關(guān)于 3D XPoint 技術(shù)的信息,美光的管理層依然對(duì)此秘而不宣。
我們將在本文討論機(jī)器學(xué)習(xí),它意味著什么,以及哪種硬件類型最適合機(jī)器學(xué)習(xí)應(yīng)用。
最后,我們將推測(cè)美光正在從事的工作,以及他們可以在 2019 年向 AI 領(lǐng)域推出什么樣的增值解決方案。我們認(rèn)為美光肯定在準(zhǔn)備一顆大炸彈。
近日,美光舉行了年度分析師和投資者會(huì)議,會(huì)議上公開了許多令人興奮的爆炸性信息,包括一個(gè) 100 億美元的股票回購(gòu)計(jì)劃,以及關(guān)于美光在 DRAM 和 NAND 市場(chǎng)地位和角色定位的大量討論,隨后,許多文章深度報(bào)道了此次會(huì)議的諸多信息。在這次投資者大會(huì)上,一個(gè)顯而易見的事情是,美光并沒有透漏大家所關(guān)心的 3D XPoint 技術(shù)的任何細(xì)節(jié)。美光公司首席執(zhí)行官 Sanjay Mehrotra 在其演講中提到了 3D XPoint,并暗示稱公司計(jì)劃在 2019 年開始發(fā)售 3D XPoint 器件。
3D XPoint 是一項(xiàng)可帶來(lái) 10 倍性能提升的激動(dòng)人心的技術(shù)。與 DRAM 相比,3D XPoint 芯片的密度更高,耐久能力比 NAND 提高了上千倍,速度也比 NAND 快上千倍。這種技術(shù)特性給 3D XPoint 提供了一個(gè)重要的價(jià)值主張和市場(chǎng)定位,它可以充當(dāng)層次結(jié)構(gòu)的內(nèi)存和存儲(chǔ)之間的解決方案。我們正在與客戶在產(chǎn)品開發(fā)方面進(jìn)行合作,正如我們前面所說(shuō),我們將于 2019 年推出 3D XPoint 產(chǎn)品,并在 2019 年下半年開始出貨這些產(chǎn)品。
- 首席執(zhí)行官 Sanjay Mehrotra
公司首席業(yè)務(wù)官 SumitSadana 也重申,因?yàn)樗麄儸F(xiàn)在正在和合作伙伴們一起開發(fā) 3D XPoint 產(chǎn)品,因此還沒有做好討論 3D XPoint 技術(shù)細(xì)節(jié)的準(zhǔn)備。
我今天不會(huì)就我們的 3D XPoint 產(chǎn)品提供更多細(xì)節(jié),因?yàn)槲覀兠髂陮⑼瞥鲞@些產(chǎn)品,而且,出于競(jìng)爭(zhēng)的原因,我也不希望泄露我們和客戶正在進(jìn)行的一些工作。
- 首席業(yè)務(wù)官 SumitSadana
在本文中,我們將簡(jiǎn)要解釋人工智能特別是機(jī)器學(xué)習(xí)如何在現(xiàn)實(shí)生活中發(fā)揮相關(guān)作用,并基于我們對(duì)機(jī)器學(xué)習(xí)的深入了解和美光團(tuán)隊(duì)的公開聲明,推測(cè) 3D XPoint 的未來(lái)。
AI 和機(jī)器學(xué)習(xí)是什么?
首先,我們來(lái)看看人工智能和機(jī)器學(xué)習(xí)的含義。AI 是一個(gè)通用的術(shù)語(yǔ),適用于任何一種允許計(jì)算機(jī)執(zhí)行通常由人類執(zhí)行的任務(wù)的技術(shù)。這方面的例子林林總總,從下棋到分揀郵件,從識(shí)別貓狗圖片到車輛駕駛等。
機(jī)器學(xué)習(xí)(簡(jiǎn)稱 ML)是 AI 的一個(gè)分支。這種技術(shù)通過向計(jì)算機(jī)顯示一組輸入和預(yù)期的輸出,讓計(jì)算機(jī)從這些輸入輸出的集合中“學(xué)習(xí)”如何執(zhí)行特定任務(wù)來(lái)創(chuàng)建 AI。
比如,假設(shè)你想訓(xùn)練一臺(tái)計(jì)算機(jī)識(shí)別貓的照片。處理這項(xiàng)任務(wù)的一種方法是描述非常詳細(xì)的啟發(fā)式規(guī)則,以確定某張照片是否是貓的圖片。
在規(guī)則中,你可能會(huì)指定貓有毛茸茸的皮、尖尖的耳朵。但是,不一定每只貓的耳朵都尖尖的,甚至有的貓皮禿毛稀。這就使得基于規(guī)則的 AI 方法很難處理,尤其是遇到特征不明顯的案例時(shí)。
相比之下,ML 方法依賴于向計(jì)算機(jī)顯示成千上萬(wàn)張不同貓的圖片,并讓計(jì)算機(jī)自己制定貓的規(guī)則。對(duì)于圖像識(shí)別而言,當(dāng)今最常用的模型基于神經(jīng)網(wǎng)絡(luò)技術(shù)。本文并不打算詳細(xì)討論神經(jīng)網(wǎng)絡(luò)是如何工作的,不過下面提供了一個(gè)這樣的神經(jīng)網(wǎng)絡(luò)的簡(jiǎn)化圖,它可以幫助你思考一下,為什么 ML 和內(nèi)存和存儲(chǔ)大有關(guān)系。
上面這張圖被簡(jiǎn)化用來(lái)顯示一張 9x9 像素的圖片。實(shí)際案例會(huì)涉及到更大的輸入集,使用數(shù)十萬(wàn)甚至數(shù)百萬(wàn)個(gè)特征。
現(xiàn)在我們至少在概念上對(duì)神經(jīng)網(wǎng)絡(luò)的外觀有了一些了解,下面讓我們回到那個(gè)貓的例子上。
用于訓(xùn)練的貓的圖片被歸一化為特定大小,然后分解成像素,將這些像素的值輸入 ML 模型中。該模型執(zhí)行前向傳播(模型考慮給予它的輸入是否是貓的照片),并輸出圖片是貓的可能性的概率。
在訓(xùn)練階段,模型會(huì)被告知它的回答是否正確。所以,如果給模型的圖片確實(shí)是一只貓,并且模型回答正確,那么這個(gè)模型就會(huì)得到加強(qiáng)。反之,如果模型回答錯(cuò)誤,那么通過反向傳播算法對(duì)模型進(jìn)行懲罰(正確答案和模型給出的答案之間的差異),調(diào)整一些個(gè)體的權(quán)重,以期下一次回答時(shí)會(huì)更好。
硬件要求
計(jì)算神經(jīng)網(wǎng)絡(luò)中給定預(yù)測(cè)的成本的數(shù)學(xué)公式,Zynath Capital 提供。
前向傳播和后向傳播的數(shù)學(xué)計(jì)算相當(dāng)復(fù)雜,也超出了本文的范圍,讀者只需要注意一點(diǎn),即這些計(jì)算需要數(shù)以千計(jì)的線性代數(shù)運(yùn)算。 如果你記得高中或大學(xué)階段的線性代數(shù)課程,就會(huì)了解到,在這種數(shù)學(xué)運(yùn)算中,大數(shù)據(jù)集會(huì)被組織成矩陣和向量。這也就解釋了為什么 GPU 在機(jī)器學(xué)習(xí)應(yīng)用中如此受歡迎。線性代數(shù)可以很容易地并行化,而且 GPU 在并行數(shù)學(xué)計(jì)算方面非常出色。
這個(gè)過程涉及的內(nèi)存大小有點(diǎn)不直觀。 舉例來(lái)說(shuō),假設(shè)貓的照片是一張 1,000 x 1,000 像素的圖片,按照今天的標(biāo)準(zhǔn),這是一幅非常小的圖片,但是,這樣一幅圖片也有超過一百萬(wàn)個(gè)單獨(dú)的特征(像素),并且每個(gè)像素都必須由 CPU 進(jìn)行處理,以便評(píng)估圖片的“貓膩”。
現(xiàn)在,您應(yīng)該已經(jīng)了解了所述計(jì)算模型在一張圖片上需要做多少計(jì)算和處理,想象一下,現(xiàn)實(shí)世界中需要在成百上千萬(wàn)張圖片的數(shù)據(jù)集上進(jìn)行相同操作,數(shù)據(jù)集規(guī)模達(dá)到 2TB 或 3TB 以上的情況并不少見,特別是在我們談?wù)撝T如遺傳學(xué)和天體物理等領(lǐng)域的時(shí)候。
為了快速訓(xùn)練模型,您需要將盡可能多的數(shù)據(jù)集加載到內(nèi)存(RAM)中,以便功能強(qiáng)大的 GPU 和 CPU 可以執(zhí)行并行化的計(jì)算任務(wù)?,F(xiàn)在的 CPU 性能如此強(qiáng)大,以至于向 CPU 提供數(shù)據(jù)這個(gè)步驟成了瓶頸。一直以來(lái),我們都是通過增加系統(tǒng)的 DRAM 容量,并將正在使用的數(shù)據(jù)集預(yù)先加載到 DRAM 中來(lái)解決這個(gè)問題。
SumitSadana 在他的發(fā)言中談到了這個(gè)確切的問題:
“在云公司內(nèi)部,一個(gè)眾所周知的事情是,處理器需要花費(fèi)大量的時(shí)間等待數(shù)據(jù)。隨著這些新興處理器內(nèi)核數(shù)量在過去幾年內(nèi)的大幅增加,相對(duì)來(lái)講這些處理器的附屬內(nèi)存容量并沒有增加太多,這就意味著每個(gè)內(nèi)核可以使用的內(nèi)存帶寬容量是實(shí)際下降的?!?/em>
DRAM 還要一個(gè)顯著的缺點(diǎn) - 易失性。想象一下,你花費(fèi)了數(shù)天時(shí)間,投入了大量的 CPU 和電力資源來(lái)為你的新的和革命性的識(shí)別貓 ML 模型計(jì)算新權(quán)重,結(jié)果大樓電源斷電,后者由于某些硬件或軟件相關(guān)原因需要重啟計(jì)算機(jī),顯然,你會(huì)丟掉 DRAM 中的一切數(shù)據(jù),你的模型會(huì)回歸到最原始的認(rèn)為桌子也是一只貓的階段(因?yàn)樽雷右灿兴臈l腿)。這正是 3D XPoint 的用武之地。
?
3D XPoint 之美
3D XPoint 連接了 NAND 存儲(chǔ)器(SSD 存儲(chǔ)器)和 DRAM 存儲(chǔ)器(RAM)之間的鴻溝。正如 SumitSadana 所言:“3D XPoint 是一種持久性存儲(chǔ)器,速度不如 DRAM 快,但明顯快于 NAND,它與 DRAM 不同,沒有電也能保存狀態(tài)?!?/p>
在原始讀寫速度上,3D XPoint 與常規(guī) NAND 內(nèi)存更接近,幾乎相同。在廣受歡迎的 YouTube 硬件評(píng)論頻道 Linus Tech Tips 執(zhí)行的測(cè)試中,使用了 3D XPoint 技術(shù)的英特爾 Optane 硬盤的讀寫速度大致為 2GB/s,與三星最新的 NAND SSD 相同。 相比之下,RAMdisk(從 DRAM 模塊創(chuàng)建的虛擬磁盤)的讀取或?qū)懭胨俣瓤梢猿^ 8GB/s。然而,3D XPoint 的表現(xiàn)更像 DRAM,尤其是在延遲上。
延遲是衡量給定存儲(chǔ)介質(zhì)響應(yīng)請(qǐng)求的速度的一個(gè)指標(biāo)。同樣是 CPU 請(qǐng)求一張貓的照片,NAND 和 3D XPoint 都能夠以大約 2GB/s 的速度向 CPU 提供該圖片,但 3D XPoint 模塊的延遲(在 CPU 時(shí)間尺度上)更低,即它會(huì)比 NAND 模塊更早開始傳輸信息。3D XPoint 的響應(yīng)時(shí)間接近 DRAM 的響應(yīng)時(shí)間。
我們可以從另外一個(gè)角度思考這之間的差異。假如您想要從存儲(chǔ)器中讀取 60 GB 的連續(xù)數(shù)據(jù),那么,NAND 和 3D XPoint 在原始速度方面的性能大致相當(dāng)。 但是,如果您想從存儲(chǔ)器中隨機(jī)執(zhí)行 120,000 個(gè)單獨(dú)的讀取請(qǐng)求,比如 120,000 張大小為 500 KB 的貓圖片,那么,3D XPoint 模塊完成處理這 120,000 個(gè)請(qǐng)求的速度遠(yuǎn)快于 NAND 模塊。
3D XPoint 的另一個(gè)顯著優(yōu)勢(shì)是其耐用性?,F(xiàn)代 NAND 在失效之前可以寫入數(shù)十萬(wàn)次至數(shù)百萬(wàn)次,但 3D XPoint 的耐久性與 DRAM 的耐久性相當(dāng),它的性能不會(huì)因?yàn)橹貜?fù)寫入而降低。
3D XPoint 實(shí)現(xiàn)
現(xiàn)在我們已經(jīng)知道了機(jī)器學(xué)習(xí)是如何工作的,也了解了 3D XPoint 的性能特征?,F(xiàn)在,讓我們看看 3D XPoint 怎么被非常有效地使用,以加速甚至是革命性地改變機(jī)器學(xué)習(xí)。不過,首先讓我們看看 Sumit Sadana 的一段講話,他暗示了美光在 3D XPoint 上可能正在做的工作:
“在云公司內(nèi)部,一個(gè)眾所周知的事情是,處理器需要花費(fèi)大量的時(shí)間等待數(shù)據(jù)。隨著這些新興處理器內(nèi)核數(shù)量在過去幾年內(nèi)的大幅增加,相對(duì)來(lái)講這些處理器的附屬內(nèi)存容量并沒有增加太多,這就意味著每個(gè)內(nèi)核可以使用的內(nèi)存帶寬容量是實(shí)際下降的。
這就是為什么使用 3D XPoint 擴(kuò)展這些進(jìn)程的可尋址內(nèi)存空間如此重要的原因,因?yàn)樗鼘?shí)際上可以給你帶來(lái)更大的回報(bào)和更高的性能,而不再是只能升級(jí)處理器到下一代版本上或者使用更快速的處理器。未來(lái)的處理器將允許更多的內(nèi)存連接到處理器上,這也將成為提高服務(wù)器平均能力的另一個(gè)驅(qū)動(dòng)因素?!?/em>
上面這段話中的一個(gè)關(guān)鍵詞匯是“可尋址內(nèi)存”,它到底意味著什么?你看,CPU 并不能直接尋址計(jì)算機(jī)中的所有內(nèi)存。你可以直接尋址 DRAM,但是不能直接尋址硬盤或者 SSD 硬盤。
請(qǐng)注意,上圖中的 CPU 可以直接訪問 DRAM 模塊中存儲(chǔ)的任何數(shù)據(jù),但無(wú)法對(duì) SSD 硬盤執(zhí)行相同的操作。為了訪問 SSD 上的數(shù)據(jù),CPU 必須與存儲(chǔ)控制器通信,要求存儲(chǔ)控制器從硬盤驅(qū)動(dòng)器獲取一堆數(shù)據(jù)并將其放入 RAM 中。然后,CPU 從 RAM 獲取所請(qǐng)求的數(shù)據(jù),這樣就實(shí)現(xiàn)了對(duì) SSD 硬盤數(shù)據(jù)的訪問。寫入 SSD 的過程與讀取過程相反,CPU 必須首先將一些數(shù)據(jù)寫入 RAM,然后要求存儲(chǔ)控制器從 RAM 中獲取該數(shù)據(jù)并將其寫回到 SSD 中。正如你所看到的那樣,這里面涉及到很大的性能開銷。
相比之下,您可以在圖的右側(cè)看到訪問 DRAM 內(nèi)存和 3D XPoint 內(nèi)存的方式。在該模型中,CPU 可以直接訪問 DRAM 和 3D XPoint 存儲(chǔ)器中的內(nèi)存頁(yè)面。
Linus Tech Tips 就這個(gè)概念做了一個(gè)視頻測(cè)試,他們使用了英特爾的 Optane 硬盤取代了測(cè)試機(jī)器上的存儲(chǔ)器。結(jié)果顯示,即使是在當(dāng)前的計(jì)算機(jī)架構(gòu)中,沒有使用特殊的操作系統(tǒng)級(jí)的配置,通過 M2 接口連接,使用 3D XPoint 內(nèi)存的 Optane 硬盤也足夠快,可以充分降低 CPU 訪問數(shù)據(jù)的延遲。
為了讓該系統(tǒng)實(shí)現(xiàn)最高性能,美光必須和操作系統(tǒng)(Linux 和 Windows)開發(fā)人員共同開發(fā)一種基本全新的內(nèi)存結(jié)構(gòu)和訪問機(jī)制。在一個(gè)計(jì)算機(jī)系統(tǒng)中,你可能有 1 級(jí)緩存、2 級(jí)緩存,有時(shí)甚至需要 3 級(jí)緩存,然后是我們都知道的 RAM 或 DRAM 內(nèi)存。美光需要開發(fā)可以實(shí)施另外一層基于 3D XPoint 技術(shù)的內(nèi)存介質(zhì)的驅(qū)動(dòng)程序,可能比 DRAM 稍慢一些,但是比 DRAM 更耐用,也更便宜。
相對(duì)于系統(tǒng)其余部分,這種設(shè)計(jì)調(diào)整可以相對(duì)透明地實(shí)現(xiàn)。系統(tǒng)會(huì)看到全部隨機(jī)存取存儲(chǔ)器,但是內(nèi)核會(huì)做出區(qū)分,將經(jīng)常運(yùn)行的應(yīng)用在 DRAM 中分配內(nèi)存頁(yè)面,同時(shí)為不太經(jīng)常使用但當(dāng)前仍然在運(yùn)行的應(yīng)用分配 3D XPoint 頁(yè)面。
這種方式對(duì)機(jī)器學(xué)習(xí)模型特別有用,它允許服務(wù)器將整個(gè)數(shù)據(jù)集加載到可尋址內(nèi)存中,然后 CPU 在可尋址的內(nèi)存空間上,在訓(xùn)練集上開始前向傳播和后向傳播算法的訓(xùn)練。
更具體地說(shuō),如果您參考上文 AI 部分中的神經(jīng)網(wǎng)絡(luò)圖,理想的實(shí)現(xiàn)會(huì)將以 X1,X2 ... 等表示的數(shù)據(jù)集加載到 3D XPoint 存儲(chǔ)器中,同時(shí)將模型的主要部分,即我們?cè)趫D中隱藏的第 2 層和第 3 層加載到主 DRAM 中。模型的權(quán)重通常由 theta,θ表示,它們將被存儲(chǔ)在 DRAM 中,并鏡像到 3D XPoint 進(jìn)行備份,以應(yīng)對(duì)硬件或軟件崩潰的情形。
CPU 可以直接訪問大量快速和低延遲的內(nèi)存,將使得 CPU 大部分時(shí)間處于滿載狀態(tài)。這意味著更好的投資回報(bào),更短的模型培訓(xùn)過程,以及機(jī)器學(xué)習(xí)任務(wù)的總體重大改進(jìn)。
結(jié)論
美光在最近這次年度會(huì)議上展示了公司良好的執(zhí)行力,他們火力全開,而且如果他們能夠以上文所討論的那樣進(jìn)行 3D XPoint 技術(shù)的部署,他們的股票可以獲得更高的市盈率。而且,它也會(huì)擺脫商品級(jí)芯片供應(yīng)商“周期上升,周期下降”的老討套路。如果他們能夠提供非易失性的可尋址內(nèi)存,并與 Linux 和 Windows 等操作系統(tǒng)完美集成,他們就能夠創(chuàng)建一種全新的存儲(chǔ)器類型,并滿足機(jī)器學(xué)習(xí)日益增長(zhǎng)的需求。
?