OpenAI創(chuàng)始大神手搓千行C代碼訓(xùn)練GPT,附PyTorch遷移教程

AIGC動態(tài)歡迎閱讀
原標(biāo)題:OpenAI創(chuàng)始大神手搓千行C代碼訓(xùn)練GPT,附PyTorch遷移教程
關(guān)鍵字:項(xiàng)目,模型,表示,嘉賓,峰會
文章來源:量子位
內(nèi)容字?jǐn)?shù):4674字
內(nèi)容摘要:
明敏 發(fā)自 凹非寺量子位 | 公眾號 QbitiAI大神卡帕西(Andrej Karpathy)剛“復(fù)工”,立馬帶來神作:
純C語言訓(xùn)練GPT,1000行代碼搞定!,不用現(xiàn)成的深度學(xué)習(xí)框架,純手搓。
發(fā)布僅幾個小時,已經(jīng)攬星2.3k。
它可以立即編譯和運(yùn)行,和PyTorch完全兼容。
卡帕西使用的示例是GPT-2,但Llama 2和Gemma等也適用。
項(xiàng)目發(fā)布后,他還給出了從PyTorch遷移到C的教程。
網(wǎng)友們直呼:他甚至都不用C++……
而且就連怎么讓大模型如法炮制的提示詞,他也放了出來。現(xiàn)在已經(jīng)有人在用Devin嘗試ing。
手動實(shí)現(xiàn)每個層前向/反向傳播選擇用GPT-2的原因很簡單,有模型權(quán)重,采用了堆棧式的Transformer模型結(jié)構(gòu)。
項(xiàng)目核心的重點(diǎn)包括:
直接在C/CUDA上訓(xùn)練LLM,速度接近PyTorch
通過在CPU版本中使用SIMD指令(如AVX2和NEON)聊加速CPU版本
支持更先進(jìn)的架構(gòu),比如Llama2和Gemma
卡帕西解釋,他在開始時分配了所有所需內(nèi)存,訓(xùn)練期間內(nèi)存占用保持不變,只是數(shù)據(jù)在不同批次之間動態(tài)流動。
關(guān)鍵在于手動實(shí)現(xiàn)每個單獨(dú)層的前向傳播和
原文鏈接:OpenAI創(chuàng)始大神手搓千行C代碼訓(xùn)練GPT,附PyTorch遷移教程
聯(lián)系作者
文章來源:量子位
作者微信:QbitAI
作者簡介:追蹤人工智能新趨勢,關(guān)注科技行業(yè)新突破

粵公網(wǎng)安備 44011502001135號