尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
2018年12月25日,史丹佛大學發布最新的DAWNbench深度學習推理榜單,阿里雲獲得了圖像識別性能及成本雙料冠軍,打破了基於亞馬遜AWS計算平台保持的長達8個月的紀錄。這是該榜單首次出現中國科技公司。
阿里雲技術團隊使用ecs.gn5i-c8g1.2xlarge實例,以每張圖片4.218ms的性能(見圖2),0.00000154美金(見圖4)的推理成本分別登頂推理性能和成本榜單,不僅性能是第二名基於Amazon EC2 [c5.18xlarge]實例的2.36倍,而且平均每張圖片的推理成本也比第二名低6.1%。
圖1 圖像識別示意圖
盡管針對DNN性能的優化始終是學術界及產業界研發的熱點,但在DAWNbench競賽推出之前,業內並沒有一個對深度學習訓練及推理任務進行端到端評價的標準。DAWNbench競賽是第一個既關注性能指標,也關注模型精度及成本等指標的競賽。自從史丹佛大學在2017的NIPS會議上發布DAWNbench競賽以來,該競賽吸引了產業界的極大關注。
阿里雲參與了DAWNbench競賽中的兩個項目:1,針對ImageNet驗證集中50000張圖片的分類任務,要求分類模型的Top-5精度不低於93%,統計分類每一張圖片的平均延遲,延遲越低,性能越高,排名越高。2,在每次一張的情況下,完成50000張圖片推理的平均成本
圖2 DAWNbench競賽的推理性能榜單(截取日期:2018年12月25日)
圖3 DAWNbench競賽的推理成本榜單(截取日期:2018年12月25日)
圖4 DAWNbench競賽阿里雲的推理成本數據
圖2與圖3分別給出了截止2018年12月25日這兩個項目的排名情況。從圖2與圖3可以看到,在這兩個子項目上,阿里雲均名列第一。為了在這兩個任務上達到最快的性能,和最低的成本,參賽團隊從以下三個維度開展了優化:1,深度學習模型的選擇;2,8bit量化優化;3,阿里雲GPU實例的選擇。
深度學習模型的選擇
在阿里雲團隊參賽之前,ImageNet推理任務榜單的第一名選擇了ResNet50模型,在Amazon EC2 [c5.18xlarge]實例上以推理性能9.96ms和平均推理成本1.64E-06美金排名第一。該模型源自於Facebook在1小時內完成ImageNet訓練的論文「Accurate, Large Minibatch SGD: Training ImageNet in 1 Hour」,將之標記為ResNet50-v2,將原始的ResNet50模型標記為ResNet50-v1。雖然ResNet50-v2更易於訓練,但其訓練計算量增加了約12%,推理計算量增加了約6%。對於推理任務,在精度達標的情況下,任何程度上計算量的節省都是有價值的。基於此,阿里雲團隊選擇了ResNet50-v1模型。
圖5 ResNet50模型訓練過程中學習率的設置
在訓練ReseNet50-v1模型的過程中,採用經典的三段式格式,很難達到93%的Top-5精度。為了解決精度問題,參賽團隊遍歷了超參數空間,但ReseNet50-v1模型的Top-5精度仍舊難以穩定的超過93%。為了解決該問題,團隊設計了圖5中的學習率格式,訓練的早期學習率線性增大至峰值,隨後線性衰減。以該學習率為基礎,最終得到了Top5精度為93.28%的ResNet50-v1模型。
Int8量化
低比特量化是提升推理性能的一種主要手段,盡管目前已經有了採用1比特或2比特進行ResNet網路推理的研究,但這些過低精度的量化往往導致了較大的精度損失。與此相對,阿里雲團隊採用了Int8量化方法,在提升計算性能的同時,兼顧了模型的預測精度。
為了使優化的成果服務於廣大的阿里雲客戶,團隊選擇了TensorFlow這一流行的深度學習框架來開展優化,其中Int8量化的工作基於TensorRT開展。優化的難點在於將訓練好的TensorFlow模型量化為TensorRT的Int8模型,並將量化後的TensorRT模型加載進TensorFlow計算圖中進行推理。
隨後,團隊基於TensorFlow的Benchmark代碼開展了深度優化。在Int8量化的過程中,需要計算量化前後的Kullback-Leibler散度,以做到神經網路各層激活值動態範圍的校準。團隊首先做到了校準過程,這個過程包含了三個環節:Int8量化模型的建立、針對量化模型的校準、基於校準結果產生優化後的Int8模型。隨後優化了Benchmark的推理模式,使其能夠導入優化後的推理引擎。
阿里雲GPU實例的選擇
參賽團隊選擇了支持8b計算的NVIDIA Tesla P4 GPU,以及基於該GPU的阿里雲ecs.gn5i-c8g1.2xlarge實例。該實例包含了一個8核的vCPU,及1塊P4 GPU。該實例提供了三種價格選項:包年包月,按量付費及搶占式實例。在搶占式實例下,每個實例每小時的價格僅為7.015元。
GPU Latency(ms) Top5 Accura Tesla P4 4.218 93.16% 表1,阿里雲ecs.gn5i-c8g1.2xlarge實例的平均推理性能及精度
表1給出了在阿里雲ecs.gn5i-c8g1.2xlarge實例上,針對DawnBench競賽ImageNet推理任務的優化結果。由表1可以看到,在ecs.gn5i-c8g1.2xlarge實例上,每次完成1張圖片推理的平均性能為4.218ms,是第二名基於Amazon EC2 [c5.18xlarge]實例的2.36倍。當採用按量付費購買模式時,成本為1.54E-06美金,比第二名節省6.1%。而在搶占式實例下,成本將進一步降低為1.23E-06美金,比第二名節省26.2%。完成50000張圖片的推理精度為93.16%,超出ImageNet推理任務精度要求。
優化成果可用於計算機視覺任務中廣泛使用的ResNet、Inception 等模型,而且已經集成在了阿里雲GPU計算平台加速框架(Perseus)內,將以鏡像的形式為使用GPU的客戶提供更好的使用體驗。阿里雲正在構建從虛擬化,存儲,GPU加速,到深度學習框架優化的全棧異構計算服務平台。
本文原作者:昀龍、顧真