今天小編分享的科學經驗:OpenAI創始大神手搓千行C代碼訓練GPT,附PyTorch遷移教程,歡迎閲讀。
大神卡帕西(Andrej Karpathy)剛 " 復工 ",立馬帶來神作:
純 C 語言訓練 GPT,1000 行代碼搞定!,不用現成的深度學習框架,純手搓。
發布僅幾個小時,已經攬星 2.3k。
它可以立即編譯和運行,和 PyTorch 完全兼容。
卡帕西使用的示例是 GPT-2,但 Llama 2 和 Gemma 等也适用。
項目發布後,他還給出了從 PyTorch 遷移到 C 的教程。
網友們直呼:他甚至都不用 C++ ……
而且就連怎麼讓大模型如法炮制的提示詞,他也放了出來。現在已經有人在用 Devin 嘗試 ing。
手動實現每個層前向 / 反向傳播
選擇用 GPT-2 的原因很簡單,有模型權重,采用了堆棧式的 Transformer 模型結構。
項目核心的重點包括:
直接在 C/CUDA 上訓練 LLM,速度接近 PyTorch
通過在 CPU 版本中使用 SIMD 指令(如 AVX2 和 NEON)聊加速 CPU 版本
支持更先進的架構,比如 Llama2 和 Gemma
卡帕西解釋,他在開始時分配了所有所需内存,訓練期間内存占用保持不變,只是數據在不同批次之間動态流動。
關鍵在于手動實現每個單獨層的前向傳播和反向傳播,并将它們串聯起來。例如,下面是層歸一化(layernorm)的前向傳播和反向傳播。
一旦有了所有的層,把它們全部串聯在一起。
卡帕西表示這寫起來非常乏味且痛苦,因為過程中必須保證所有 pointer 和張量都正确排列。
下圖中左邊是分配一個單一的一維内存數組,然後将所有模型權重和激活函數都指向它。
右圖為非常小心地進行 pointer 計算。
一旦建立好了正向 / 反向傳播,其他的都好説了。
但是到這部分,卡帕西覺得到了最有趣的部分。
我正在将其逐層移植到 CUDA,使其更加高效,甚至可能和 PyTorch 效率差不多,但不會有過多依賴。
從這裏開始還有一些擴展,比如精度從 fp32 下降到 fp16 或更低,以及一些更多的層(比如 RoFE)來支持更先進的架構。
卡帕西表示,後面還将出一個視頻進行更加詳細的講解。
更多的代碼在 GitHub 項目頁中有更具體展示。
後面他還加了一個如何從 PyTorch 遷移到 C 的教程。
網友:這和 LLM OS 有關嗎?
前幾天," 消失 " 了一段時間的卡帕西突然發推特,表示自己前段時間戒網去了,總體來説感覺害行。
和互聯網世界通上信号第 4 天,他就發布了這一新項目。給網友們來了點小震撼。
在一系列常規的 amazing、great 之外,大家對新項目主要關心三個方面。
第一,為啥不用 Rust?
卡帕西表示他也在學習 Rust,但是仍舊認為 C 語言已經很好了。
它簡單、幹淨、輕便、美觀,是最好的語言。
第二,AI 程式員能寫出同樣的項目嗎?
值得一提的是卡帕西還給出了一段提示詞,表示大家可以用 LLM Agent 試試看。
目前的模型生成結果沒那麼好,但也許 1、2 年之後可以再看看。如果成功了……
" 可能就是 AGI 到來了?"
現在已經有網友開始用 Devin 嘗試了。
他擔心 Devin 搜到了卡帕西的項目,然後直接抄下來。目前為止 Devin 還沒有這麼做。
不過卡帕西表示相比于這個,他更擔心 LLM Agent 在 1-2 年後确實可以解決這個問題了,但是那時各種代碼和讨論會以一種别樣的方式滲透到訓練數據裏,導致結果不夠令人滿意。
有人補充説,要加強數據管理了。
第三個讨論比較多的話題則是,這個項目和 LLM OS 有關嗎?
前段時間卡帕西從 OpenAI 離職,計劃要開始推進個人項目。
當時大家都猜測,他要做 LLM OS。
3 月底在訪談中,他也再次聊了這個話題。
他表示,現在 AGI 的路線已經相對清晰了,大家都在如火如荼推進工作,大致來説,每個人都在努力構建 " 大模型作業系統(LLM OS)".
我喜歡把它比作一個作業系統。你要準備好各種周邊設備,然後把他們連接在一個新的 CPU 上。這些周邊設備包括文本、影像、音頻等各種模态。CPU 就是語言模型本身。它還要與我們已經構建的所有 Software 1.0 基礎設施相連。
我認為大家都在努力構建這樣一個東西,然後把它定制成适用于各個經濟領網域的產品。
現在随着新項目推出,卡帕西的個人項目大概是已經提上日程了。
後續關于 LLM.C 的項目還會推出更詳細的視頻講解版本,大家可以期待一波了 ~
GitHub 地址:
https://github.com/karpathy/llm.c
參考鏈接:
[ 1 ] https://twitter.com/karpathy/status/1777427944971083809
[ 2 ] https://twitter.com/karpathy/status/1777493157485437009
[ 3 ] https://twitter.com/karpathy/status/1777481372636246491?s=46&t=iTysI4vQLQqCNJjSmBODPw
— 完 —
【 火熱報名中】中國 AIGC 產業峰會
定檔 4 月 17 日
峰會已經邀請到數位代表技術、產品、投資、用户等領網域嘉賓,共論生成式 AI 產業最新變革趨勢。
最新确認嘉賓包括:商湯科技楊帆、輕松集團高玉石、印象筆記唐毅、螞蟻集團李建國等,。
峰會将全程線上下同步直播,歡迎預約直播 ⬇️
點這裏關注我,記得标星噢
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>