NVIDIA GTC 2019在蘇州金湖國際會議中心舉行,由於同事有其他會議沖突,所以我代替他來參加了此次會議。作為剛接觸GPU和機器學習不久的新人來說,感覺進入了一個新世界,深刻體驗到技術的革新迭代之快,英偉達通過對GPU的全棧優化,實現摩爾定理的加速。
2019年12月16日~2019年12月17日
頭兩天主要是培訓課,這個課程還比較貴,大概掃描了下,基本都在人民幣1000元以上,培訓有相當部分的學生。由於之前同事沒有預定,但不能來了啥也不做吧,找路上認識的騰訊哥們兒用他的工牌進入了教室(迫不得已)。修了《深度學習基礎—自然語言處理》和《深度學習基礎—多數據類型》兩門課程,本來想學習下《深度學習基礎—用多GPU訓練神經網絡》這門課程的(想到可能跟我們現在的業務有些關系),但是沒有認識的人,沒進去了。順利完成兩門課程學習,拿到NVIDIA發的證書,其中《自然語言處理》有道小編程題,難到了部分同學。通過兩門課程學習,有個科普和掃盲的效果。
2019年12月18日
今天的重頭戲是NVIDIA的首席執行官黃仁勛的主題演講,后面官網應該有現場視頻。今年參會的人很多,放兩張圖大家感受下。
據說2017年因為Volta GPU的發布,Keynote給人帶來的震撼感比較強烈,想比較而言,今年沒有推出新的GPU硬件平台,只發布了一款由軟件定義的下一代SoC Orin(這個在后面會詳細介紹)。當然,這也比較合理,因為從NVIDIA的角度,就算有存量硬件技術,也需要控制一下推出的節奏。因為在已發布的技術還未被市場充分使用的情況下,再引入新的突破性的技術點,從商業角度來看並不划算。要知道,V100的混合精度加速技術,也是在今年開始較大規模的被行業接受。
老黃的主題演講內容包括:
RTX的新進展
去年,英偉達發布了RTX新一代GPU架構——Turing(圖靈),以及一系列基於圖靈架構的RTX GPU。黃仁勛表示圖靈架構為英偉達十多年來在計算機圖形領域最重要的創新,將光線追蹤技術引入英偉達的GPU中。他今天宣布了6款支持RTX的游戲;除此之外,英偉達還創造出了Max-Q設計,它將超高的GPU能效和總體系統優化集於一身,可以用於輕薄的高性能筆記本電腦;同時,隨着雲計算的普及,英偉達和騰訊合作推出了START雲端游戲服務。
深度推薦系統
百度AIBox推薦系統采用英偉達AI,這個系統基於英偉達Telsa v100 GPU,利用這些TB級的數據集去創建一個模型、在GPU上訓練這些數據,然后把它放到GPU的內存當中去訓練這種TB級別的數據,GPU訓練成本只有CPU的十分之一,並且支持更大規模的模型訓練;阿里巴巴搭建的推薦系統采用了英偉達的T4 GPU,推薦系統的吞吐量得到了大幅提升。面對每秒幾十億次的推薦請求,CPU速度只有3 QPS,英偉達GPU則提升到了780 QPS,提升百倍。推薦系統的兩大難題:一是推薦模型及其復雜,需要處理的參數非常多,這就意味着需要非常強的計算能力。另外一個難題是推薦系統需要進行實時計算並給出反饋。使用擅長並行計算的GPU構建推薦系統比使用CPU構建推薦系統成本大幅降低或性能實現了百倍提升。
軟硬件結合
英偉達今年6月也宣布CUDA年底前支持Arm生態系統,讓基於Arm的芯片可以更多地應用於超算系統中進行更多地深度學習計算。今天演講中提到了NVIDIA HPC for ARM首個參考架構,通過cuda加速ARM,把ARM服務器打造成HPC和AI的理想選擇。據介紹,GPU+Arm的硬件,加上CUDA以及TensorFlow的優化,Arm進行深度學習的性能是x86處理器性能的96%;通過每個CPU連接4個Volta GPU,搭配4個Mellanox CX5網卡,新一代CX6獲得了難以置信的強勁性能;還介紹了在DGX-2上運行Magnum IO GPU Direct Storage技術,可實時對超大數據進行可視化處理。
軟件方面,去年英偉達發布了TensorRT5,計算圖優化編譯器,通過優化PyTorch和TensorFlow等框架中訓練出來的AI模型,減少計算和內存訪問,讓模型在GPU上運行的效率大幅提升。今年推出了TensorRT7,它支持各種類型的RNN、Transformer和CNN。相比TRT5只支持30中變換,TRT 7能支持1000多種不同的計算變換和優化。
“核彈”產品——下一代的汽車和機器人技術Orin
老黃在演講當中提到,該芯片由170億個晶體管組成,凝聚着英偉達團隊為期四年的努力。Orin系統級芯片集成了英偉達新一代GPU架構和Arm Hercules CPU內核以及全新深度學習和計算機視覺加速器,每秒可運行200萬億次計算(200TOPS),幾乎是英偉達上一代Xavier系統級芯片性能的7倍。Orin可處理在自動駕駛汽車和機器人中同時運行的大量應用和深度神經網絡,達到了ISO 26262 ASIL-D等系統安全標准。
作為一個軟件定義平台,DRIVE AGX Orin能夠賦力從L2級到L5級完全自動駕駛汽車開發的兼容架構平台,助力OEM開發大型復雜的軟件產品系列。由於Orin和Xavier均可通過開放的CUDA、TensorRT API及各類庫進行編程,因此開發者能夠在一次性投資后使用跨多代的產品。
老黃的演講完之后,逛了下幾個展台,參加展會的廠商比較多,服務器硬件頭部玩家浪潮、新華三以及互聯網BAT、滴滴、字節跳動都有參加。展台的內容也比較豐富,從服務器硬件到深度學習軟件平台,從AI機器人到智能駕駛,從ARM芯片到VR都有涉及,我們阿里巴巴公司的展台就緊挨着NVIDIA,主題內容是阿里雲GPU雲服務讓AI更高效更簡單。瀏覽完展台后,根據自己從事工作技術的特點,選擇了幾個跟我們組目前工作聯系比較緊密的session,想看看業界對於多機多卡的的大規模計算平台是怎么發揮GPU的算力。帶着這個思考,去關注了相應的session,而一些跟我眼前工作不直接相關的session,比如運營商5G通信網絡AI研發與實踐、中國移動人工智能規划及發展則是期望對AI的一些應用場景建立一些更直觀的體感或者從宏觀層面了解其發展。
- 大規模算力平台構建和多機多卡線性擴展
- 百度鳳巢基於HGX-2的CTR模型訓練方案
- GPU全鏈路優化方案助力金融視覺平台
- 運營商5G通信網絡AI研發與實踐
- 中國移動人工智能規划及發展
- NVIDIA vGPU在Linux KVM中的新優化和提升
- NVIDIA GPU和Mellanox網絡計算技術挑戰AI性能新極限
大規模算力平台構建和多機多卡線性擴展是騰訊高性能計算服務星辰-機智團隊帶來的分享。分享主要包括大規模算力平台構建、多機多卡線性擴展、業務落地與運營三個部分。平台構建方面基於K8S提供不同訓練框架、不同cuda版本的基礎鏡像,鏡像倉庫支持用戶自定義,用演講人的話說容器開箱即用;物理架構方面結點內不同CPU走QPI連接,同時CPU通過PCIe Switch和GPU通信,同一個PCIe Switch下的GPU通過GPU Direct RDMA連接。結點間通過100Gbps RDMA通信。在多機多卡部分,主要介紹了一個單機IO“無鎖”隊列技術、分層RingAllReduce算法(這個之前在知乎文章中有介紹,恰好這次分享的作者就是這篇文章的作者)以及AutoML超參搜索。他們的目標是打造騰訊AI基礎設施。
總體感覺:騰訊這個組做的事情有點類似於。在GPU集合通信方面他們應該采用的還是NCCL,不管是硬件架構還是算法支持,都是落戶於我們平台的。但在資源集中管理、統一調度以及任務化方面可能做的比我們要好。問了兩個問題:1、針對雲上多租戶場景,怎么做資源調度和分配?2、介紹的分層RingAllduce怎么針對帶寬做數據傳輸限制的?回答1、目前還沒接入騰訊雲,下一步正在考慮接入。回答2、現在內部節點GPU掛載PCIe Switch下面,通信都是走的PCIe,所以沒有高帶寬和低帶寬的差異,所以對數據傳輸沒有啥限制。
百度鳳巢基於HGX-2的CTR模型訓練方案是來自百度鳳巢和基礎架構部的分享。分享主要包括百度新一代CTR訓練方案AIBox整體架構、百度AI計算平台孔明和AI計算機X-MAN、AIBox軟硬協同解決存儲、計算、通信挑戰;百度AI計算機X-MAN是集計算、存儲、網絡關鍵技術融合一起的一體機(一體機貌似是個趨勢:阿里內部的POLARDB Box數據庫一體機、華為FusionCube一體機……)。向上對接大規模分布式訓練平台孔明,再往上就是深度學習訓練系統AIBox,這一套提供底層的基礎平台承接廣告、推薦等高價值的業務應用。X-MAN到目前為止經歷了1.0到4.0的迭代,從最初的單機16卡,支持64卡擴展到引進液冷高效散熱;再到模塊化:NVLink高速互聯背板、100G RDMA節點間互聯網絡、獨立的Mezz和PCIe卡系統。以及目前行業首個4路CPU的超級AI計算機。再搭配飛漿PaddlePaddle,借力生態優勢,加速算法迭代。據現場介紹,單個X-MAN GPU節點可以替換100個CPU節點,而AIBox 19年6月在CTR模型上全流量上線,搜索廣告、圖片鳳巢、商品廣告等主要模型全面切換AIBox。
個人感覺:百度這幾年在AI方面的積累確實領先其他公司,不管是無人駕駛還是AI計算平台。而由於要趕其他會場,就沒有提問。
GPU全鏈路優化方案助力金融視覺平台是螞蟻金服認知計算和知識圖譜團隊的分享,因為之前看介紹有GPU訓練和預測優化方案和成果,包括基於nccl2和gpu direct rdma的hierarchical allreduce的多機多卡訓練,可以在NVIDIA Tesla V100的8卡集群接近線性加速比。想跟這個團隊推薦下我們的***,會后溝通才了解到之前有我們的PM跟他們接觸過。回去后他去了解下之前遇到了什么問題,然后看看是不是可以更進一步的合作。
運營商5G通信網絡AI研發與實踐,為參會者闡述運營商人工智能發展思路、技術路線和典型案例。講解運營商網絡重構、智慧運營和5G規划建設中的難點和瓶頸,以及人工智能技術所能發揮的成效、基於NVIDIA GPU的工程實踐。
中國移動人工智能規划及發展,中國移動統一AI平台采用Kubernetes+Docker的基礎架構,以 NVIDIA NGC提供的鏡像為基礎,集成了TensorFlow、PyTorch、Caffe等主流AI算法框架,基於 RAPIDS 算法庫利用GPU實現對傳統機器學習的10倍以上加速,規模化承載AI應用,為集團節約成本高達5億元/年。
NVIDIA GPU和Mellanox網絡計算技術挑戰AI性能新極限是來自mellanox公司Marketing的Qingchun Song的分享,主要介紹了Socket Direct、Adaptive Routing、RDMA and GPU Direct、SHARP-Data Aggregation四個方面。整體感覺mellanox公司在加速HPC/AI框架上做了很多工作,在局部性能性能上也取得了不錯的效果,比如:把集合通信算法AllReduce跑在他們的IB交換機,能使計算時間從3040us縮短到34us;結合NVIDIA的集合通信庫NCCL他們采用SHARP技術,在ResNet50上性能提升了10%~20%。。。
個人感覺:mellanox提供了很多有意義的性能提升技術,但是這些都是要基於使用他們的硬件,而這對於如果一個產品剛開始沒有使用他們家的產品,又想利用他們家的技術來獲得性能提升,可能就需要整體硬件的更迭改造,但是往往收益又趕不上這刮骨療傷的成本,魚和熊掌不可兼得啊!