最大限度地“壓榨”GPU性能
加速人工智能項(xiàng)目的默認(rèn)方法是增加GPU集群的大小。然而,在GPU日益短缺的情況下,成本越來越高。許多人工智能公司“將其籌集的總資本的80%以上用于計(jì)算資源”,這無可厚非。GPU是人工智能基礎(chǔ)設(shè)施的基石,應(yīng)該為其分配盡可能多的預(yù)算。然而,在這些高昂的成本中,還有其他提高GPU性能的方法應(yīng)該考慮,而且越來越必要。
擴(kuò)展GPU集群遠(yuǎn)非易事,尤其是在生成式人工智能暴力擴(kuò)張導(dǎo)致GPU短缺的情況下。NVIDIA A100 GPU是首批受到影響的GPU之一,而且它們現(xiàn)在非常稀缺,一些版本的交付周期長(zhǎng)達(dá)一年。這些供應(yīng)鏈挑戰(zhàn)迫使許多人考慮將更高端的H100作為替代品,但很明顯會(huì)付出更高的價(jià)格。對(duì)于那些投資于自己的基礎(chǔ)設(shè)施,為其行業(yè)創(chuàng)造下一個(gè)偉大的生成式人工智能解決方案的創(chuàng)業(yè)者來說,需要從現(xiàn)有GPU中榨取每一滴效率。
讓我們來看看企業(yè)如何通過提議修改網(wǎng)絡(luò)和存儲(chǔ)的人工智能基礎(chǔ)設(shè)施設(shè)計(jì),從其計(jì)算投資中獲得更多。
數(shù)據(jù)問題
一個(gè)有用的方法是考慮現(xiàn)有計(jì)算基礎(chǔ)設(shè)施的低效率,以及如何緩解這些資源的最佳利用率。最大限度地提高GPU利用率是一個(gè)挑戰(zhàn),因?yàn)閿?shù)據(jù)傳輸速度往往太慢,無法讓GPU保持忙碌。一些用戶的GPU利用率低至20%,這顯然是不可接受的。這是人工智能團(tuán)隊(duì)開始尋找最大化利用人工智能投資的好地方。
GPU是人工智能的引擎。正如汽車發(fā)動(dòng)機(jī)需要汽油才能運(yùn)行一樣,GPU也依靠數(shù)據(jù)運(yùn)行。限制數(shù)據(jù)流會(huì)限制GPU性能。如果GPU的工作效率只有50%,那么人工智能團(tuán)隊(duì)的生產(chǎn)力就會(huì)降低,一個(gè)項(xiàng)目需要兩倍的時(shí)間才能完成,投資回報(bào)率也會(huì)減半。基礎(chǔ)設(shè)施設(shè)計(jì)必須確保GPU能夠以最高效率運(yùn)行,并提供預(yù)期的計(jì)算性能。
值得注意的是,DGX A100和H100服務(wù)器都具有高達(dá)30 TB的內(nèi)部存儲(chǔ)容量。然而,考慮到平均模型大小約為150 TB,這種容量對(duì)于絕大多數(shù)深度學(xué)習(xí)模型來說是不可行的。因此,需要額外的外部數(shù)據(jù)存儲(chǔ)器來保持GPU提供數(shù)據(jù)。
存儲(chǔ)性能
AI存儲(chǔ)由服務(wù)器、NVMe SSD和存儲(chǔ)軟件組成,通常封裝在一個(gè)簡(jiǎn)單的設(shè)備中。正如GPU被優(yōu)化為與數(shù)十萬個(gè)內(nèi)核并行處理大量數(shù)據(jù)一樣,存儲(chǔ)也需要高性能。人工智能中存儲(chǔ)的基本要求是——存儲(chǔ)整個(gè)數(shù)據(jù)集——能夠以線速(網(wǎng)絡(luò)允許的最快速度)將數(shù)據(jù)傳輸?shù)紾PU,以使GPU飽和并保持其高效運(yùn)行。任何不足都是對(duì)這種非常昂貴和有價(jià)值的GPU資源的利用不足。
以能夠跟上全速運(yùn)行的10或15臺(tái)GPU服務(wù)器集群的速度交付數(shù)據(jù),將有助于優(yōu)化GPU資源,并在整個(gè)環(huán)境中提高性能,盡可能充分利用預(yù)算,從整個(gè)基礎(chǔ)設(shè)施中獲得最大收益。
事實(shí)上,挑戰(zhàn)在于,沒有針對(duì)AI進(jìn)行優(yōu)化的存儲(chǔ)供應(yīng)商需要許多客戶端計(jì)算節(jié)點(diǎn)來從存儲(chǔ)中提取全部性能。如果從一個(gè)GPU服務(wù)器開始,則反過來需要許多存儲(chǔ)節(jié)點(diǎn)才能達(dá)到該性能才能為單個(gè)GPU服務(wù)器供應(yīng)。
不要相信所有的基準(zhǔn)結(jié)果;當(dāng)同時(shí)使用多個(gè)GPU服務(wù)器時(shí),很容易獲得較大的帶寬,但AI受益于存儲(chǔ),無論何時(shí)需要,它都會(huì)將所有性能提供給單個(gè)GPU節(jié)點(diǎn)。堅(jiān)持使用能夠提供所需超高性能的存儲(chǔ),但它可以在單個(gè)存儲(chǔ)節(jié)點(diǎn)中實(shí)現(xiàn)這一點(diǎn),并且能夠?qū)⒋诵阅芴峁┙o單個(gè)GPU節(jié)點(diǎn)。這可能會(huì)縮小市場(chǎng)范圍,但在開始人工智能項(xiàng)目之旅時(shí),它是優(yōu)先事項(xiàng)之一。
網(wǎng)絡(luò)帶寬
越來越強(qiáng)大的計(jì)算能力推動(dòng)了對(duì)其他人工智能基礎(chǔ)設(shè)施的需求不斷增加。帶寬要求已經(jīng)達(dá)到了新的高度,能夠管理每秒從存儲(chǔ)設(shè)備通過網(wǎng)絡(luò)發(fā)送并由GPU處理的大量數(shù)據(jù)。存儲(chǔ)設(shè)備中的網(wǎng)絡(luò)適配器(NIC)連接到網(wǎng)絡(luò)中的交換機(jī),這些交換機(jī)連接到GPU服務(wù)器內(nèi)部的適配器。NIC可以在正確配置的情況下將存儲(chǔ)直接連接到1或2個(gè)GPU服務(wù)器中的NIC,不會(huì)出現(xiàn)瓶頸,確保帶寬足夠高,可以將最大數(shù)據(jù)負(fù)載從存儲(chǔ)傳遞到GPU,使其在持續(xù)的時(shí)間內(nèi)保持飽和,這是關(guān)鍵,在許多情況下,未能做到這一點(diǎn)是我們看到GPU利用率較低的原因。
GPU編排
一旦基礎(chǔ)設(shè)施到位,GPU編排和分配工具將極大地幫助團(tuán)隊(duì)更高效地匯集和分配資源,了解GPU的使用情況,提供更高級(jí)別的資源控制,減少瓶頸并提高利用率。只有在底層基礎(chǔ)設(shè)施允許數(shù)據(jù)首先正確流動(dòng)的情況下,這些工具才能按預(yù)期完成所有這些工作。
在人工智能中,數(shù)據(jù)是輸入,因此用于企業(yè)關(guān)鍵任務(wù)應(yīng)用程序(如庫(kù)存控制數(shù)據(jù)庫(kù)服務(wù)器、電子郵件服務(wù)器、備份服務(wù)器)的傳統(tǒng)企業(yè)閃存的許多偉大功能與人工智能根本不相關(guān)。這些解決方案是使用傳統(tǒng)協(xié)議構(gòu)建的,雖然它們已被重新用于人工智能,這些傳統(tǒng)基礎(chǔ)顯然限制了它們?cè)贕PU和AI工作負(fù)載方面的性能,推高了價(jià)格,并將資金浪費(fèi)在過于昂貴和不必要的功能上。
在當(dāng)前全球GPU短缺的情況下,再加上人工智能行業(yè)的蓬勃發(fā)展,找到最大限度提高GPU性能的方法變得前所未有的重要——尤其是在短期內(nèi)。隨著深度學(xué)習(xí)項(xiàng)目的蓬勃發(fā)展,這些是降低成本和提高產(chǎn)出的幾個(gè)關(guān)鍵方法。