自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

人工智能
卡帕西解釋,他在開(kāi)始時(shí)分配了所有所需內(nèi)存,訓(xùn)練期間內(nèi)存占用保持不變,只是數(shù)據(jù)在不同批次之間動(dòng)態(tài)流動(dòng)。關(guān)鍵在于手動(dòng)實(shí)現(xiàn)每個(gè)單獨(dú)層的前向傳播和反向傳播,并將它們串聯(lián)起來(lái)。例如,下面是層歸一化(layernorm)的前向傳播和反向傳播。

大神卡帕西(Andrej Karpathy)剛“復(fù)工”,立馬帶來(lái)神作:

純C語(yǔ)言訓(xùn)練GPT,1000行代碼搞定!,不用現(xiàn)成的深度學(xué)習(xí)框架,純手搓。

發(fā)布僅幾個(gè)小時(shí),已經(jīng)攬星2.3k。

圖片

它可以立即編譯和運(yùn)行,和PyTorch完全兼容。

卡帕西使用的示例是GPT-2,但Llama 2和Gemma等也適用。

項(xiàng)目發(fā)布后,他還給出了從PyTorch遷移到C的教程。

網(wǎng)友們直呼:他甚至都不用C++……

圖片

而且就連怎么讓大模型如法炮制的提示詞,他也放了出來(lái)?,F(xiàn)在已經(jīng)有人在用Devin嘗試ing。

圖片

手動(dòng)實(shí)現(xiàn)每個(gè)層前向/反向傳播

選擇用GPT-2的原因很簡(jiǎn)單,有模型權(quán)重,采用了堆棧式的Transformer模型結(jié)構(gòu)。

項(xiàng)目核心的重點(diǎn)包括:

  • 直接在C/CUDA上訓(xùn)練LLM,速度接近PyTorch
  • 通過(guò)在CPU版本中使用SIMD指令(如AVX2和NEON)聊加速CPU版本
  • 支持更先進(jìn)的架構(gòu),比如Llama2和Gemma

卡帕西解釋,他在開(kāi)始時(shí)分配了所有所需內(nèi)存,訓(xùn)練期間內(nèi)存占用保持不變,只是數(shù)據(jù)在不同批次之間動(dòng)態(tài)流動(dòng)。

關(guān)鍵在于手動(dòng)實(shí)現(xiàn)每個(gè)單獨(dú)層的前向傳播和反向傳播,并將它們串聯(lián)起來(lái)。例如,下面是層歸一化(layernorm)的前向傳播和反向傳播。

圖片

一旦有了所有的層,把它們?nèi)看?lián)在一起。

卡帕西表示這寫(xiě)起來(lái)非常乏味且痛苦,因?yàn)檫^(guò)程中必須保證所有pointer和張量都正確排列。

下圖中左邊是分配一個(gè)單一的一維內(nèi)存數(shù)組,然后將所有模型權(quán)重和激活函數(shù)都指向它。

右圖為非常小心地進(jìn)行pointer計(jì)算。

圖片

一旦建立好了正向/反向傳播,其他的都好說(shuō)了。

但是到這部分,卡帕西覺(jué)得到了最有趣的部分。

我正在將其逐層移植到CUDA,使其更加高效,甚至可能和PyTorch效率差不多,但不會(huì)有過(guò)多依賴。

從這里開(kāi)始還有一些擴(kuò)展,比如精度從fp32下降到fp16或更低,以及一些更多的層(比如RoFE)來(lái)支持更先進(jìn)的架構(gòu)。

卡帕西表示,后面還將出一個(gè)視頻進(jìn)行更加詳細(xì)的講解。

更多的代碼在GitHub項(xiàng)目頁(yè)中有更具體展示。

后面他還加了一個(gè)如何從PyTorch遷移到C的教程。

圖片

網(wǎng)友:這和LLM OS有關(guān)嗎?

前幾天,“消失”了一段時(shí)間的卡帕西突然發(fā)推特,表示自己前段時(shí)間戒網(wǎng)去了,總體來(lái)說(shuō)感覺(jué)害行。

圖片

和互聯(lián)網(wǎng)世界通上信號(hào)第4天,他就發(fā)布了這一新項(xiàng)目。給網(wǎng)友們來(lái)了點(diǎn)小震撼。

在一系列常規(guī)的amazing、great之外,大家對(duì)新項(xiàng)目主要關(guān)心三個(gè)方面。

第一,為啥不用Rust?

卡帕西表示他也在學(xué)習(xí)Rust,但是仍舊認(rèn)為C語(yǔ)言已經(jīng)很好了。

它簡(jiǎn)單、干凈、輕便、美觀,是最好的語(yǔ)言。

圖片

第二,AI程序員能寫(xiě)出同樣的項(xiàng)目嗎?

值得一提的是卡帕西還給出了一段提示詞,表示大家可以用LLM Agent試試看。

目前的模型生成結(jié)果沒(méi)那么好,但也許1、2年之后可以再看看。如果成功了……

“可能就是AGI到來(lái)了?”

圖片

現(xiàn)在已經(jīng)有網(wǎng)友開(kāi)始用Devin嘗試了。

他擔(dān)心Devin搜到了卡帕西的項(xiàng)目,然后直接抄下來(lái)。目前為止Devin還沒(méi)有這么做。

圖片

不過(guò)卡帕西表示相比于這個(gè),他更擔(dān)心LLM Agent在1-2年后確實(shí)可以解決這個(gè)問(wèn)題了,但是那時(shí)各種代碼和討論會(huì)以一種別樣的方式滲透到訓(xùn)練數(shù)據(jù)里,導(dǎo)致結(jié)果不夠令人滿意。

圖片

有人補(bǔ)充說(shuō),要加強(qiáng)數(shù)據(jù)管理了。

圖片

第三個(gè)討論比較多的話題則是,這個(gè)項(xiàng)目和LLM OS有關(guān)嗎?

圖片

前段時(shí)間卡帕西從OpenAI離職,計(jì)劃要開(kāi)始推進(jìn)個(gè)人項(xiàng)目。

當(dāng)時(shí)大家都猜測(cè),他要做LLM OS。

圖片

3月底在訪談中,他也再次聊了這個(gè)話題。

他表示,現(xiàn)在AGI的路線已經(jīng)相對(duì)清晰了,大家都在如火如荼推進(jìn)工作,大致來(lái)說(shuō),每個(gè)人都在努力構(gòu)建“大模型操作系統(tǒng)(LLM OS)”.

我喜歡把它比作一個(gè)操作系統(tǒng)。你要準(zhǔn)備好各種外圍設(shè)備,然后把他們連接在一個(gè)新的CPU上。這些外圍設(shè)備包括文本、圖像、音頻等各種模態(tài)。CPU就是語(yǔ)言模型本身。它還要與我們已經(jīng)構(gòu)建的所有Software 1.0基礎(chǔ)設(shè)施相連。

我認(rèn)為大家都在努力構(gòu)建這樣一個(gè)東西,然后把它定制成適用于各個(gè)經(jīng)濟(jì)領(lǐng)域的產(chǎn)品。

圖片

現(xiàn)在隨著新項(xiàng)目推出,卡帕西的個(gè)人項(xiàng)目大概是已經(jīng)提上日程了。

后續(xù)關(guān)于LLM.C的項(xiàng)目還會(huì)推出更詳細(xì)的視頻講解版本,大家可以期待一波了~

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。

責(zé)任編輯:姜華 來(lái)源: 量子位
相關(guān)推薦

2023-02-27 09:29:05

GPT模型

2024-01-29 13:56:55

AI數(shù)據(jù)

2024-04-09 12:23:27

C語(yǔ)言AI

2019-03-04 15:53:02

SQL存儲(chǔ)系統(tǒng)

2025-02-24 08:20:00

AI代碼生成

2018-10-15 09:20:08

代碼軟件工程師

2024-04-11 12:47:37

AI模型

2022-07-13 17:56:09

Bug率產(chǎn)品經(jīng)理系數(shù)

2023-06-08 07:58:29

2019-11-26 10:50:47

代碼編程語(yǔ)言重構(gòu)

2014-12-01 11:15:40

2015-08-17 10:42:13

2023-08-02 00:19:46

2022-11-21 16:40:29

融視

2019-10-20 20:22:05

Python 開(kāi)發(fā)編程語(yǔ)言

2020-04-01 12:18:11

人工智能強(qiáng)化學(xué)習(xí)開(kāi)源

2021-09-08 10:00:31

數(shù)據(jù)中心經(jīng)濟(jì)電信

2020-08-18 14:48:00

AI 數(shù)據(jù)人工智能

2024-01-03 07:11:58

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)