一周之內,由人工智能實驗室OpenAI發(fā)布的對話式大型語言模型ChatGPT在全世界掀起“AI狂潮”,數十億次請求從全世界各個角落匯總到ChatGPT服務器,。作為“新晉網紅”,,ChatGPT “知無不言”,“有求必應”,許多人就身邊遇到的問題對它進行提問,雖然回答不一定準確,但也出現(xiàn)了相當多有意思的問題,。
ChatGPT是怎樣做到無所不答的?我們知道,訓練AI算法需要用到大量GPU算力資源,。而作為當前AI算法的“頂流”,,訓練ChatGPT用到的GPU數量或將達上千顆。本文將帶你了解ChatGPT工作的底層邏輯,,以及它如何驅使上千顆GPU為你工作,。
如何訓練ChatGPT
當我們想要構建一個AI模型時,最重要的步驟總結下來就是:定義架構,、訓練,、調試以及測試。記者詢問ChatGPT,,你是如何訓練的,,它的回復是:1. 選擇大規(guī)模語料庫,構建訓練集,。2. 定義模型架構,,通常使用Transformer模型。3. 選擇優(yōu)化算法并設置超參數,。4. 訓練模型,,根據訓練損失下降情況和驗證集結果決定是否需要調整超參數。5. 使用測試集評估模型性能,。6. 如果需要,,對模型進行微調,以提高性能,。
當決定要訓練一個語言類AI模型時,,第一件事就要明確訓練AI的語料庫。語料庫的選擇十分重要,,為了讓語言模型學到足夠多的語言信息,,需要選擇盡量規(guī)模大的文本語料庫。以ChatGPT為例,,訓練類似AI模型時,,就需要準備各類網站的百科文章、網絡回答,、專業(yè)論文等,。據了解,,一款通用AI算法所使用的預訓練語料庫大小為1-10GB之間,,而用于訓練ChatGPT的前身——GPT-3的語料庫達到了45TB。
訓練AI執(zhí)行語言任務還繞不開Transformer模型,。Transformer模型(變換器)是一種采用自注意力機制的深度學習模型,,自注意力的意思即可以按照輸入數據各部分重要性的不同而分配不同的權重。它通過計算詞與詞之間的相對位置關系來確定注意力的權值,最終生成語句的語義表示,。Transformer的優(yōu)勢在于其可以并行計算,,速度快,精度高,,是目前自然語言處理中最常使用的模型之一,。
目前,基于龐大的訓練語料庫與Transformer模型,,GPT-3已經具有了上下文學習能力,。簡單的說,我們目前可以向模型輸入一個問題,,再給出相似問題的解決方案,,ChatGPT就可以自動猜測相關任務的答案。此外官方在GPT-3.5的訓練中,,還添加了海量的代碼數據,,這就是目前ChatGPT能夠為用戶解答編程問題的原因。AI專家分析,,ChatGPT在訓練時添加的代碼語料庫可能具有詳細的注釋,,這能很好的幫助AI理解代碼功能。
經過多次訓練,、調試后,,ChatGPT才最終出現(xiàn)在我們眼前,為用戶回答各類腦洞大開的問題,。
訓練ChatGPT需要多少GPU
無論是ChatGPT,,還是其他AI模型,其主要功能都是幫助我們實現(xiàn)與硬件的交互,,尤其是幫助我們高效利用具有龐大算力的GPU集群,。記者就該問題也詢問了ChatGPT,得到的回復是:
ChatGPT的回答并沒有指出關鍵所在,。我們知道,,GPU的多核結構在運行大規(guī)模并行計算時,相比CPU會更有優(yōu)勢,。但在面對ChatGPT如此龐大的語料庫時,,任何一顆GPU芯片都不能勝任。有AI算法專家表示,,訓練通用的AI模型需要用到1億以上的參數,,而ChatGPT的1750億就需要調用天文數字般的算力資源。英偉達和微軟研究院的研究論文稱,,如果我們能夠在單個GPU中擬合模型,,所需的大量計算操作也會需要超乎尋常的長訓練時間,,GPT-3在單個英偉達V100 GPU上估計需要288年。如今時間已經來到2023年,,相比于GPT-3,,ChatGPT將會擁有更加恐怖的參數數量與訓練成本。
不過當我們增加GPU數量后,,AI算法的訓練時間可以顯著降低,。以GPT-3模型訓練為例,使用8張V100顯卡,,訓練時長預計需要36年,,512張V100顯卡,訓練時間接近7個月,,而1024張A100的訓練時長可以減少到1個月,。這種利用多顯卡同時計算的方式就是分布式并行計算。
分布式并行計算,,是一組電腦通過過網絡相互連接傳遞信息,,并協(xié)調它們的行為而形成的系統(tǒng)。組件之間彼此進行交互以實現(xiàn)一個共同的目標,。它可以把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,,由多臺計算機分別計算,再上傳運算結果,。在消費端,,很多人熟悉的NVLink就是分布式計算的一種。業(yè)界主流的分布式并行類型包括數據并行,、模型并行和混合并行三種,。
在AI算法的訓練過程中,我們會用到PyTorch,、TensorFlow等軟件工具幫我們實現(xiàn)分布式并行計算,。例如可以把ChatGPT 45TB的語料庫平均分布到1000張英偉達H100 GPU中(每顆GPU具有1.8萬個核心),這樣單顆ALU僅會分到2.6KB左右的計算量,,最后再通過逐級計算總成,,訓練AI算法的速度將會大大減少。
此外,,AI算法更重要的一點就是神經網絡,。神經網絡的搭建需要鏈接多個數據節(jié)點(數據節(jié)點可以是單個ALU核心),進行多次迭代與訓練建立不同邏輯對應的節(jié)點鏈接,,而分布式計算就像鏈接不同神經元之間的神經束,,讓GPU集群擁有了類似人腦一樣的思考方式。
除了在訓練階段,,ChatGPT在回答用戶問題時也可以以同樣的路徑鏈接各個節(jié)點,,在上百TB的數據中找到最接近你問題的答案,。所以,,當你向ChatGPT提問時,,其實是上千顆高性能GPU在一同解決你的問題。
ChatGPT未來會怎么發(fā)展,?
目前,,ChatGPT已經展現(xiàn)出來無與倫比的替代能力,很多人正在擔憂它的出現(xiàn)會威脅到自己的職業(yè)前途,。在《流浪地球2》中,,擁有超高智能的MOSS計算機已經在未來取代了絕大部分人工,甚至可以自行決定行星發(fā)動機的建設,,這更加催生了人們對于AI發(fā)展的焦慮情緒,。但就目前來看,ChatGPT距離完美還有些距離,,起碼在算力方面,,AI還遠達不到完全替代人工的程度。記者就未來發(fā)展向ChatGPT提問,,得到的回復簡單總結是:1. 更大,、更精準的語料庫。2. 不斷改進模型,。3. 多語言支持,。4. 在更專業(yè)的領域深耕。5. 用途更加廣泛,。
未來,,ChatGPT可能會普遍存在于人們的生活中,應用在各行各業(yè)里,,成為一種高效,、便捷的生產力工具,為人們的生活增添無數便利,。
歡迎關注電子技術應用2023年2月22日==>>商業(yè)航天研討會<<