嘔心瀝血、精密軟體及1200億個電晶體:NVIDIA 如何打造出 DGX-1

作者 Brian Caulfield

大力膠帶、塑膠玻璃、塑膠紮線帶、耳塞、OK 繃。

如果是你第一次自己動手打造某個東西,不管是宇宙飛船還是賽車,這都是一個起點;而且要是你有翻閱 NVIDIA DGX-1 深度學習系統開發工程團隊的費用報告,肯定會有更深的體會。

結果:一只價值$12.9 萬美元完美無瑕的珠寶盒,體積小到可以放入蒂芬尼珠寶店內展示櫃內,而它能提供高達 170 teraflops、相當於250部 x86 伺服器的運算能力,某家媒體稱這個運算表現簡直是「瘋了」。

在四月份 NVIDIA GPU 科技大會上亮相的 DGX-1,搭載深度學習軟體,能夠以超凡的運算能力創造出驚人結果;並且接上雲端服務,以達到快速部署及立即更新系統的目標,過程中無需任何組裝作業。

The NVIDIA DGX-1
NVIDIA DGX-1

DGX-1:推動人工智慧浪潮大爆發

DGX-1 適合想將深度學習技術用在實驗室以外領域,並且想要快速輕鬆便能付諸實行的人使用。在過去五年裡,研究團隊打造出的系統運算表現開始能跟人類媲美(且很快便超越),過去人們則是認為電腦無法處理這些運算作業。

如今數億人依靠採用深度學習技術的服務來進行語音辨識、即時語音翻譯和發掘影片,還有更多應用項目將陸續推出,不過這得有人有時間從四散的元素中打造出深度學習系統,這正是推出 DGX-1 的原因。DGX-1 將為所有產業創造新的契機,我們的合作夥伴生態體系也將因此而受惠。

血汗、大力膠帶、軟體

DGX-1 背後的故事就像是一場充滿血汗、大力膠帶、軟體的賽事,各組工程師相互合作接力完成嶄新深度學習系統的每個部分,再交給下一組使用。

專案重點工程師之一的 Mike 說:「這不只是一件硬體,也不只是一件軟體。只要按下三個使用者介面按鈕,就會得到這些新功能。」

光速

這場賽事始於一年前。2015年3月,NVIDIA 執行長黃仁勳先生在 GPU 科技大會上答應與會嘉賓們,當時即將推出的「Pascal」GPU 架構會在一年內將關鍵深度學習運算任務的效能提升十倍。問題:研究團隊和企業要為這些新式 GPU 打造機器和實際上線使用,得花上數週(甚至是數月)的時間。

幾個月後在一場公司主管的會議上,黃仁勳先生要求 NVIDIA 的工程團隊為四月份的 GTC 2016 活動打造一具使用 Pascal 架構 GPU 的伺服器。這讓研究人員和企業只要按下開關,就能將八具 GPU 的運算能力用在深度學習作業上。

這比只為了 GPU 晶片創造出尚不存在的硬體還要複雜。DGX-1 軟體「堆疊」的25個部分,從開放源碼 Ubuntu 作業系統、DIGITS 深度學習訓練系統,到 CUDA 深度神經網路(cuDNN)GPU 加速原始型別函式庫和 NVIDIA 驅動程式陣列,得和諧共同進行運作。

黃仁勳先生要求他們以「光速」創造出這些,或是思考可能事項的基本限制,並且將這些推向極限。

約有12組工程團隊投入這個案子。產品架構工程領導人 John 對案子做出總結:「沒有其他公司像我們一樣知道該怎麼投入人力。你只要找出幾個領導人,他們就會投入進行案子所需的人力。」

以下是開發過程:

  • 20155 — 一支工程團隊畫出根本上全新的拓撲結構草圖,在 DGX-1 內可納入8具 GPU,每具 GPU 上有150億個電晶體。解決方案:立方網格結構。這項設計讓使用者可將8具 GPU 用在深度學習作業上,或將系統拆成兩個子系統來處理更多傳統高性能運算作業。但要是它再使用七個月,系統便無法運作。2015年最後一季才出現 Pascal 架構的初期樣本,也就是第一具採用網格結構背後之高速互連技術 NVLink 的 GPU(請見《NVLink 技術及其成就世界上最快電腦的祕訣What Is NVLINK》一文)。
  • 20159 — 軟體工程團隊開始建造在 DGX-1 立方網格拓撲結構頂層運行,稱為「NVIDIA Collective Communication Library(NCCL)」的系統軟體,其他團隊則是開始調校在 NCCL 頂層運行的軟體堆疊,包括 Caffe、Theano、Torch、TensorFlow 及 CNTK 這些最常使用的深度學習和高性能運算工具。
  • 201511 — 工程團隊展開從晶片廠或工廠「培育」首批 Pascal 架構 GPU 樣品的艱辛過程。這跟尋常的「培育」作業截然不同。NVIDIA 的 GPU 設計師們為了 Pascal 架構創造出新的架構,內有協助使用者拆解深度學習問題的功能;它們也是首批寬度僅 16 nm 的 GPU,每分鐘的成長速度為指甲片長度的四分之一(請見《NVIDIA 推出 NVIDIA Tesla P100 加速器 大幅提升高效能運算應用項目與深度學習表現NVIDIA Delivers Massive Performance Leap for Deep Learning, HPC Applications, With Tesla P100 Accelerators》一文)。
  • 201512 — 隨著新的 Pascal 架構 GPUs 開始運行,工程團隊開始將它們放入一個作業系統內。陷阱:一月底才準備好 DGX-1 的首批底盤,工程團隊使用金屬、大力膠帶和塑膠玻璃,臨時拼湊出上面還有切口跟刮痕的外殼。接著他們連接兩具、三具 GPU,不過某件事讓他們無法連接第四具 GPU,後來找出原因,原來是在一個重要的程式碼裡少了兩個括弧。日後的兩個按鍵誕生出網路。一名工程師說:「它就像是原本該呈現的樣子」
  • 20161– DGX-1 內部完成時,NVIDIA 的工業設計團隊便開始使用他們稱為「Iray」這項新的數位渲染工具來製作精準的 DGX-1 邊框模型和加工製作鋁製外殼。3月時,他們選擇一種用於製造飛機,輕盈又超堅固的金屬化泡沫材質,以機器能較傳統打孔金屬板更快吸入冷空氣。
  • 2016329 — 從南韓的鑄模廠搭機帶回最終伺服器原型的外殼。在距離 GTC 不到一週的時間裡,首次集合了 DGX-1 的所有零件。搭載八具即將亮相之 Tesla P100 GPUs 的系統,在 AlexNet 深度學習標竿基礎上將運算效能提升十倍,只用了兩小時便完成過去耗時二十小時的作業。
  • 201643 — GTC 開幕前一天 DGX-1 在 AlexNet 上將運算效能提升12倍。
  • 201645 — 黃仁勳先生對世人介紹首具 DGX-1 伺服器。台下的閃光燈此起彼落、科技迷們瞪目結舌,記者們則是忙著撰寫文章。

NVIDIA 執行長黃仁勳先生在我們的 2016 GPU 科技大會上,介紹全球首具深度學習超級電腦 NVIDIA DGX-1。
NVIDIA 執行長黃仁勳先生在我們的 2016 GPU 科技大會上,介紹全球首具深度學習超級電腦 NVIDIA DGX-1。

  • 2016530 — NVIDIA 工程團隊準備好要給客戶的首批 DGX-1 系統,不過一名客戶已經等不及。在 GTC 大會上展出的第一具系統,現正在我們矽谷總部深處的某個伺服器機架上呼呼運作中,消化位在紐澤西的自動駕駛車團隊為 DRIVE PX 自動駕駛平台收集的資料。一名 NVIDIA 的員工若有所思地說:「畢竟現在又何必慢下來呢?」