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