全文共3059字,預計學習時長8分鐘


圖源:unsplash


雖然人工智能融合到商業具有很高的商業價值,但通常這個價值還不能抵消把模型應用到商業中所需的計算成本。機器學習和深度學習是計算密集型的學習,有人認爲,除非雲計算或本地計算成本降低,否則儘管具有空前的商業價值,也不值得付出這筆成本。

麻省理工學院的研究科學家兼《深度學習的計算極限》一書的作者尼爾·湯普森(Neil Thompson)在《連線》雜誌上發表的文章中提到,Google、Facebook等衆多組織已經建立了影響力廣又能節約成本的模型,但由於計算成本高而導致這些模型無法盈利。

湯普森表示在最近的一些演講和論文中表示,從事大型和前沿人工智能項目的研究人員開始抱怨,因爲成本太高,他們無法測試多個算法設計,或者重新進行實驗。

商業機構需要極大地完善計算效率的方法,以促進創新並提高人工智能工作的投資回報率。但是,高昂的計算成本以及人們對高效計算的關注並不應該就此背黑鍋。

實際上,GPU加速基礎架構和其他雲供應商已經取得了重大的進步,極大提高了訓練複雜人工智能網絡的能力,這種速度是前所未有的。

2020年5月,DeepCube發佈了基於軟件的推理加速器,大大提高了所有現有硬件上的深度學習性能。換句話說,人們正在開發計算解決方案以滿足機器學習和深度學習日益增長的需求。人工智能創新潛在的阻礙就是對現有計算利用不足,以及“計算債務”的成本不斷增加。


什麼是“計算債務”?

人工智能的領頭羊或許會驚訝地發現,阻礙機器學習投資回報的主要因素之一是GPU,CPU和內存資源利用不足。

公司在計算上投資了數百萬美元,這些計算有可能極大地加速人工智能工作的負載量並提高性能,但最終只利用其中的一小部分,有時只利用了20%的資源。計算分配和實際利用率之間的差距令人震驚,可能需要公司付出比想象中更高的成本。

計算、分配和利用率之間的差距可稱爲“計算債務”。指的是分配和能力之間的“浪費”。下圖直觀地對比了綠色所代表的平均利用率和黃色所代表的(當時的)分配。

當工作負載正在運行時,通常僅利用GPU的一部分,而另一部分則被其他潛在的工作負載所阻擋。灰色區域表示容量即GPU,CPU或內存可用的現有計算量,是所有閒置且未充分利用的計算區域。


資料來源:cnvrg.io


是什麼導致了“計算債務”?

機器學習和深度學習是計算密集型的學習,管理起來很複雜,降低這種計算負擔會更難。人工智能基礎設施團隊面臨的最大挑戰之一是知道如何提高利用率,並以最大化消耗的方式管理資源,提高機器學習項目的投資回報率。導致“計算債務”的主要原因包括:

· 基礎設施團隊缺乏人工智能項目可見性


機器學習項目的基礎設施成本每年以兩倍的速度增長,但是IT團隊卻缺乏正確管理、優化和預算機器學習資源的工具。大多數IT/DevOps領導者無法在給定時間瞭解GPU/CPU和內存的利用率、分配和容量。這導致無法控制消耗,無法提高效率。

· “計算債務”增長


隨着人工智能計算需求變得越來越複雜,計算分配和實際利用率之間的差距也越來越大。通常來說,公司可能只消耗了全部資源的30%。這導致將近70%的計算資源閒置,浪費了公司幾千甚至數百萬美元。

· 無法識別效率低下的工作


基礎架構團隊無法輕鬆識別未充分利用GPU/CPU的工作負載。如果沒有收集有關歷史工作負載的數據,就無法分析和識別運行效率低下的工作負載。缺乏可見性導致難以提高利用率,也難以控制工作負載的優先級。

· 生產力中斷


未充分利用的GPU被打斷爲其他工作讓路,增加了數據科學家的等待時間。這導致在等待GPU上浪費了很多時間和資源。同時還包括資源處於閒置狀態的問題,這些資源本來可以用於做其他工作的。

圖源:unsplash


· 缺乏標準化和統一性


團隊經常無法將一項工作與利用率指標關聯起來。沒有標準的可視化工具來查看特定時間點的工作分配、利用率和容量。這使得識別效率低下的工作變得十分困難,而且難以確定浪費的工作量。機器學習已經達到了成熟的階段,爲了成長,必須對人工智能基礎架構進行戰略化發展。

· 無法控制優化策略


有些團隊能識別低效率並計劃好優化的基礎架構策略,卻缺乏執行這些策略上的工具。IT / DevOps團隊需要控制人工智能工作負載,以優化資源管理。如果沒有辦法確定工作的優先級、配置計算模板以及監視工作負載的分配和利用率,就無法做出重大改進。

減少“計算債務”的策略

這一問題沒有明確的解決方法,但是有一些方法可以提高資源管理的效率。

· 投資最先進的具有GPU加速技術的人工智能基礎設施

GPU加速技術已經取得了一些成就。硬件和軟件深度學習加速解決方案已經出現,可提供前所未有的計算性能。研究最新的GPU加速解決方案,採用真正的現代人工智能基礎架構。


· 採用混合的雲基礎架構


結合公共雲、私有云和本地資源可在運行人工智能工作負載方面更加敏捷和靈活。由於人工智能工作負載之間的負載類型差異很大,因此公司搭建了混合雲基礎架構後,能夠更靈活地分配資源和自定義大小。可以使用公共雲降低資本支出,並提供高計算需求期間所需的可伸縮性。

如果一些公司有着嚴格的安全性要求,則必須添加私有云,隨着時間的推移可降低運營支出。混合雲可實現必要的控制和靈活性,以改善資源預算。

· 利用估算工具估算GPU / CPU內存消耗


根據Microsoft Research對Microsoft的4960個失敗的深度學習任務的研究,8.8%的失敗是由GPU內存耗盡導致的,這是所有深度學習故障中最主要的問題。當前已經開發出許多估算工具用以預估GPU內存消耗以減少這些故障。此外,如果能夠收集利用率數據,則可以使用此歷史數據更好地預測每個季度的GPU / CPU和內存需求。

圖源:unsplash


· 規模化MLOps


引入可以簡化機器學習工作流程,並標準化科學和工程角色之間轉換的方法。由於IT和DevOps負責部署和管理工作負載,因此在執行不同的工作時擁有清晰的溝通渠道非常重要。適當的調度工具和對資源模板進行策略化可以改善人工智能工作負載的資源管理。

· 最大限度地提高利用率,減少“計算債務”


爲了提高利用率,有必要將計算債務作爲基礎架構團隊和數據科學團隊的KPI。如果公司能減少計算債務並提高利用率,就可以在向人工智能的競爭中脫穎而出。

要想讓基礎架構團隊最大限度地提高GPU/CPU的可見性和內存消耗從而提高利用率,基本上是沒有萬全之策。儘管業界正在迅速構建更高效的硬件和軟件來解決計算債務的威脅,但仍然任重而道遠。很多公司花費了幾百萬美元在計算上,而這些計算並未被充分利用。

通過使用現有資源並完善資源管理,公司可以使人工智能基礎架構具有巨大的可擴展性。根據文章中的策略,你可以完全利用好計算資源。公司若專注於優化基礎架構,將會看到辛苦付出得到更高的投資回報率,從而在競爭中獲得優勢。

留言點贊關注

我們一起分享AI學習與發展的乾貨

如轉載,請後臺留言,遵守轉載規範

相關文章