PyTorch將塑造生成式人工智能系統(tǒng)(GPT-4及以上)的未來
譯文?譯者 | 李睿
審校 | 重樓
51CTO讀者成長計劃社群招募,咨詢小助手(微信號:TTalkxiaozhuli)
PyTorch不僅用于研究,還用于生產目的,每天有數(shù)十億個請求得到服務和訓練。
PyTorch社區(qū)最近取得了顯著的進步。PyTorch的貢獻者在去年還為GPT等Transformer模型引入了BetterTransformer推理優(yōu)化,這顯著地提高了這些模型的性能。這個高度優(yōu)化的代碼集合專門設計用于加速生產工作負載中的Transformer模型,允許更準確和有效的數(shù)據(jù)生成。這是一個令人興奮的發(fā)展,有可能很快給許多行業(yè)帶來革命性的變化。
生成式人工智能在從現(xiàn)有來源生成新數(shù)據(jù)方面的變革潛力已經得到了廣泛認可。人工智能領域最近的突破引發(fā)了人們對理解推動這些進步的潛在機制的興趣。為了進一步了解,行業(yè)領先的人工智能專家為此對PyTorch是如何為生成式人工智能的發(fā)展鋪平道路進行了分析和闡述。
1、硬件加速
在默認情況下,PyTorch的發(fā)展速度已經很快,但是隨著編譯器技術的引入,它的性能得到了進一步增強。該技術通過融合操作、自動調優(yōu)和優(yōu)化程序,在可用的硬件上盡可能快地運行,從而實現(xiàn)了更快的模型訓練和服務,與以前版本的軟件相比,其性能得到了顯著提高。
PyTorch 2.0堆棧的核心Dynamo和Inductor分別獲取一個程序并對其進行優(yōu)化,使其在現(xiàn)有的硬件上盡可能快地運行。Lightning AI公司首席技術官、PyTorch撰稿人Luca Antiga評論說,“這是通過融合操作實現(xiàn)的,這樣計算就可以飽和,而不會受到內存訪問和自動調優(yōu)的阻礙,專用內核就可以在運行時進行優(yōu)化,以實現(xiàn)最大性能。訓練和推理都可以獲得高達40%的增益,這是一個非常重要的發(fā)展。此前,PyTorch擁有優(yōu)化程序的技術,但它要求用戶調整代碼以使其工作,并禁止某些操作,例如調用其他Python庫。另一方面,PyTorch 2.0將在所有這些情況下發(fā)揮作用,報告在這一過程中可以優(yōu)化和不能優(yōu)化的內容。”
PyTorch現(xiàn)在支持多種不同的后端和計算設備,使其成為最通用的深度學習框架之一。這也使得使用PyTorch構建的模型比以往任何時候都更容易部署到生產中,包括通過ROCm在AMD GPU上部署。Private AI公司首席技術官Pieter Luitjens表示:“這對模型開發(fā)很有幫助,但最好使用不同的框架來進行生產。這是PyTorch開發(fā)人員自己推薦的,因此,PyTorch為FasterTransformer等軟件包提供了強大的支持,F(xiàn)asterTransform是英偉達公司創(chuàng)建的一個推理引擎,大多數(shù)大型科技公司都使用它來運行GPT等模型。”
2、研究人員考慮采用PyTorch
自從2018年推出并取代TensorFlow以來,PyTorch已經顯示出了它的靈活性。
當時,它都是用于卷積神經網絡,而現(xiàn)在PyTorch被用于完全不同類型的模型,例如當時不存在的穩(wěn)定擴散。Pieter反思說,“在我看來,PyTorch已經成為生成人工智能的首選工具,因為它專注于動態(tài)執(zhí)行,使研究人員易于使用原型,并且能夠輕松擴展到數(shù)千個GPU。沒有比GPTNeo和BLOOM最近的開源語言模型更好的例子了,如果沒有PyTorch,這是不可能的。GPTNeo背后的團隊特別呼吁,需要將PyTorch作為一個推動者。”
研究人員越來越偏愛PyTorch。然而,同樣明顯的是,與PyTorch不同的是,TensorFlow是為工業(yè)用途量身定制的,擁有大量的可定制功能和支持用例,例如JVM兼容性和在線服務。Abnormal Security公司機器學習主管Dan Shiebler說,“這使得企業(yè)更容易在生產中使用TensorFlow,并將TensorFlow用例擴展到數(shù)十億個用戶。然而,這種強大的功能使得TensorFlow更加僵化,更難以學習,也更難適應全新的應用。例如,TensorFlow對靜態(tài)圖的依賴使得可變長度序列(生成式人工智能的核心組件)難以管理。因此,PyTorch被研究團體更廣泛地使用。這就產生了飛輪效應。PyTorch首先發(fā)布了新模型,這使得研究人員在擴大先前的研究時從PyTorch開始。”
3、為更加輕松簡便而積極開發(fā)
與其他框架相比,編寫PyTorch更像是編寫普通的Python。完全支持控制流、循環(huán)和其他操作,使代碼具有可讀性和表現(xiàn)力。此外,PyTorch的調試經驗是一流的;Pdb可以無縫地工作,允許逐步執(zhí)行程序,并在執(zhí)行過程中急切地執(zhí)行操作。Luca對此表示贊賞,他說,“這種體驗比使用其他框架要輕松得多,使用戶能夠快速迭代到一個工作模型。”
當PyTorch與PyTorch Lightning或Lightning Fabric等項目結合在一起時,它真的很出色,這些項目通過抽象工程細節(jié)來補充它,并允許研究人員在不更改代碼的情況下將模型擴展到數(shù)十億個參數(shù)和機器集群。PyTorch并沒有什么特別的缺點。也許像vmap這樣的高階導數(shù)和程序轉換,在functhorch中提供,但沒有達到JAX等其他項目的水平,對某些領域來說可能是相關的限制,盡管對當今的深度學習來說,限制的不是那么多。
通過對PyTorch的貢獻,Luca肯定了當今在人工智能和利用人工智能方面進行的大多數(shù)研究都是在PyTorch中實現(xiàn)的,并且這一實現(xiàn)通常作為開源共享。建立在彼此想法基礎上的能力是一種令人難以置信的強大動力,創(chuàng)造了一種指數(shù)現(xiàn)象。
原文鏈接:https://dzone.com/articles/why-pytorch-generative-ai-gpt4