小紅書(shū)本地“坐抖望團(tuán)”CrowdStrike“全球滅霸響指”事件后續(xù),德國(guó) 10% 企業(yè)更換安全供應(yīng)商導(dǎo)致 1TB 數(shù)據(jù)泄露后,迪士尼宣布棄用 Slack 平臺(tái)合合信息啟信產(chǎn)業(yè)大腦攜手市北新區(qū)打造“一企一畫(huà)像”平臺(tái),加速數(shù)字化轉(zhuǎn)型重慶:力爭(zhēng)今年智能網(wǎng)聯(lián)新能源汽車(chē)產(chǎn)量突破 100 萬(wàn)輛,到 2027 年建成萬(wàn)億級(jí)產(chǎn)業(yè)集群微信iOS最新版上線(xiàn):iPhone用戶(hù)可在朋友圈發(fā)實(shí)況照片了蘋(píng)果有線(xiàn)耳機(jī)或?qū)⑼.a(chǎn)沖上熱搜!閑魚(yú)相關(guān)搜索量暴漲384%2024 vivo開(kāi)發(fā)者大會(huì)官宣:OriginOS 5/自研藍(lán)河系統(tǒng)2降臨真·AI程序員來(lái)了,阿里云「通義靈碼」全面進(jìn)化,全流程開(kāi)發(fā)僅用幾分鐘東方甄選烤腸全網(wǎng)銷(xiāo)量及銷(xiāo)售額領(lǐng)先鴻蒙PC要來(lái)了 界面很漂亮!余承東:目前華為PC將是最后一批搭載Windows上半年中國(guó)AR/VR出貨23.3萬(wàn)臺(tái),同比下滑了 29.1%IDC:2024 上半年中國(guó) AR / VR 頭顯出貨 23.3 萬(wàn)臺(tái),同比下滑 29.1%英特爾AI加速器Gaudi3下周發(fā)布,挑戰(zhàn)NVIDIA統(tǒng)治地位!大屏技術(shù)邂逅千年色彩美學(xué)!海信激光電視成為電影《只此青綠》官方合作伙伴OpenAI將最新AI模型o1擴(kuò)展到企業(yè)和教育領(lǐng)域三星新專(zhuān)利探索AR技術(shù)新應(yīng)用:檢測(cè)屏幕指紋殘留,提高手機(jī)安全性猛瑪傳奇C1:直播圖傳技術(shù)的革新者JFrog推出首個(gè)運(yùn)行時(shí)安全解決方案,實(shí)現(xiàn)從代碼到云的全面軟件完整性和可追溯性亞馬遜推出一大波生成式 AI 工具,購(gòu)物體驗(yàn)全面升級(jí)
  • 首頁(yè) > 企業(yè)IT頻道 > 軟件即服務(wù)

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

    2023年02月20日 17:30:14   來(lái)源:量子位

      現(xiàn)在只用60行代碼,就能從0構(gòu)建GPT了!

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      想當(dāng)初,前特斯拉前AI總監(jiān)的minGPT和nanoGPT也都還要300行代碼。

      這個(gè)60行代碼的GPT也有名字,博主將它命名為PicoGPT。

      不過(guò)和此前minGPT和nanoGPT的教程不同,今天要講的這個(gè)博主的教程,更側(cè)重于代碼實(shí)現(xiàn)部分,模型的權(quán)重則用已經(jīng)訓(xùn)練好的。

      對(duì)此,博主解釋稱(chēng)這篇教程的重點(diǎn)在于提供一個(gè)簡(jiǎn)單且易于破解的完整技術(shù)介紹。

      這對(duì)還不理解GPT背后概念的盆友,算是非常友好了。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      還有網(wǎng)友稱(chēng)贊,這篇博客介紹得非常清晰,第一部分尤為如此。

      這篇介紹GPT模型的文章太好了,它比我之前看到的介紹都要清晰,至少在第一部分討論文本生成和取樣是這樣的。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      目前,此項(xiàng)目在GitHub上標(biāo)星已破百,HackerNews上的點(diǎn)擊量也即將破千。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      從GPT是什么講起

      在介紹之前,還是需要說(shuō)明一下,這篇教程不是完全零門(mén)檻,需要讀者提前熟悉Python、NumPy以及一些基本的訓(xùn)練神經(jīng)網(wǎng)絡(luò)。

      教程的重點(diǎn)聚焦在技術(shù)介紹上,統(tǒng)共有六大部分:

      什么是GPT?

      按照慣例,在正式構(gòu)建GPT之前得先對(duì)它做一些基本介紹,教程從輸入/輸出、生成文本以及訓(xùn)練三個(gè)部分分別來(lái)講GPT是如何工作的。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      在這趴,博主附上代碼,甚至還用了一些比喻來(lái)讓讀者們更好地理解GPT。

      舉個(gè)栗子,在輸入這一部分,作者將句子比作一條繩子,tokenizer則會(huì)將其分割成一小段一小段(單詞),被稱(chēng)作token。

      又比如說(shuō),在生成文本這part介紹自動(dòng)回歸時(shí),博主直接貼上代碼:

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      在每次迭代中,它會(huì)將預(yù)測(cè)的token追加回輸入,這個(gè)預(yù)測(cè)未來(lái)值并將其添加回輸入的過(guò)程就是GPT被描述為自動(dòng)回歸的原因。

      60行代碼怎么運(yùn)行?

      了解完GPT的基本概念之后,就直接快進(jìn)到了如何在電腦上運(yùn)行這個(gè)PicoGPT。

      博主先是甩出了他那只有60行的代碼:

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      然后從克隆存儲(chǔ)庫(kù),安裝依賴(lài)項(xiàng)等步驟一步步教你如何在電腦上運(yùn)行GPT。

      其中,還不乏一些貼心的小tips,比如說(shuō)如果使用的是M1 Macbook,那在運(yùn)行pip install之前,需要將requments.txt中的tensorflow更改為tensorflow-macos。

      此外,對(duì)于代碼的四個(gè)部分:gpt2,generate,main以及fire.Fire(main),博主也有做詳細(xì)解釋。

      等到代碼能夠運(yùn)行之后,下一步博主就準(zhǔn)備詳細(xì)介紹編碼器、超參數(shù)(hparams)以及參數(shù)(params)這三部分了。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      直接在筆記本或者Python會(huì)話(huà)中運(yùn)行下面這個(gè)代碼:

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      一些必要的模型和tokenizer文件就直接下載到model/124M,編碼器、hparams和params也能直接加載。

      更具體的內(nèi)容這里就不多說(shuō)了,教程的鏈接已經(jīng)附在文末。

      一些基礎(chǔ)神經(jīng)網(wǎng)絡(luò)層的介紹

      這一趴涉及到的知識(shí)就更加基礎(chǔ)了,因?yàn)橄乱慌渴菍?shí)際GPT自身的架構(gòu),所以在此之前,需要了解一些非特定于GPT的更基本的神經(jīng)網(wǎng)絡(luò)層。

      博主介紹了GeLU、Softmax函數(shù)以及Layer Normalization和Linear。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      GPT架構(gòu)

      終于!這部分要來(lái)講GPT自身的架構(gòu)了,博主從transformer的架構(gòu)引入。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      △transformer架構(gòu)

      GPT的架構(gòu)只使用了transformer中的解碼器堆棧(即圖表的右邊部分),并且其中的的“交叉注意”層也沒(méi)有用到。

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      △GPT架構(gòu)

      隨后,博主將GPT的架構(gòu)總結(jié)成了三大部分:

      -文本 + 位置嵌入

      -變壓器解碼器堆棧

      -下一個(gè)token預(yù)測(cè)頭

      并且還將這三部分用代碼展示了出來(lái),是醬紫的:

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      再后面,就是關(guān)于這三部分的更多細(xì)節(jié)……

      測(cè)試構(gòu)建的GPT

      這部分將全部的代碼組合在一起,就得到了gpt2.py,統(tǒng)共有120行代碼,刪除注釋和空格的話(huà),就是60行。

      然后測(cè)試一下!

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      結(jié)果是這樣的:

    60行代碼就能構(gòu)建GPT!網(wǎng)友:比之前的教程都要清晰

      成功了!

      一些后續(xù)補(bǔ)充

      最后一部分,博主也總結(jié)了這短短60行代碼的不足:非常低效!

      不過(guò)他還是給出了兩個(gè)可以讓GPT變高效的方法:

      -同時(shí)地而不是順序地執(zhí)行注意力計(jì)算。

      -實(shí)現(xiàn) KV 緩存。

      此外,博主還推薦了一些訓(xùn)練模型、評(píng)估模型以及改進(jìn)架構(gòu)的方法和教程。

      感興趣的話(huà),直接戳文末鏈接~

      作者介紹

      Jay Mody,目前在加拿大一家NLP初創(chuàng)公司Cohere從事機(jī)器學(xué)習(xí)的工作,此前,他還分別在特斯拉和亞馬遜作為軟件工程師實(shí)習(xí)過(guò)一段時(shí)間。

      文章內(nèi)容僅供閱讀,不構(gòu)成投資建議,請(qǐng)謹(jǐn)慎對(duì)待。投資者據(jù)此操作,風(fēng)險(xiǎn)自擔(dān)。

    即時(shí)

    TCL實(shí)業(yè)榮獲IFA2024多項(xiàng)大獎(jiǎng),展示全球科技創(chuàng)新力量

    近日,德國(guó)柏林國(guó)際電子消費(fèi)品展覽會(huì)(IFA2024)隆重舉辦。憑借在核心技術(shù)、產(chǎn)品設(shè)計(jì)及應(yīng)用方面的創(chuàng)新變革,全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)成功斬獲兩項(xiàng)“IFA全球產(chǎn)品設(shè)計(jì)創(chuàng)新大獎(jiǎng)”金獎(jiǎng),有力證明了其在全球市場(chǎng)的強(qiáng)大影響力。

    新聞

    敢闖技術(shù)無(wú)人區(qū) TCL實(shí)業(yè)斬獲多項(xiàng)AWE 2024艾普蘭獎(jiǎng)

    近日,中國(guó)家電及消費(fèi)電子博覽會(huì)(AWE 2024)隆重開(kāi)幕。全球領(lǐng)先的智能終端企業(yè)TCL實(shí)業(yè)攜多款創(chuàng)新技術(shù)和新品亮相,以敢為精神勇闖技術(shù)無(wú)人區(qū),斬獲四項(xiàng)AWE 2024艾普蘭大獎(jiǎng)。

    企業(yè)IT

    重慶創(chuàng)新公積金應(yīng)用,“區(qū)塊鏈+政務(wù)服務(wù)”顯成效

    “以前都要去窗口辦,一套流程下來(lái)都要半個(gè)月了,現(xiàn)在方便多了!”打開(kāi)“重慶公積金”微信小程序,按照提示流程提交相關(guān)材料,僅幾秒鐘,重慶市民曾某的賬戶(hù)就打進(jìn)了21600元。

    3C消費(fèi)

    “純臻4K 視界煥新”——愛(ài)普生4K 3LCD 激光工程投影

    2024年3月12日,由愛(ài)普生舉辦的主題為“純臻4K 視界煥新”新品發(fā)布會(huì)在上海盛大舉行。

    研究

    2024全球開(kāi)發(fā)者先鋒大會(huì)即將開(kāi)幕

    由世界人工智能大會(huì)組委會(huì)、上海市經(jīng)信委、徐匯區(qū)政府、臨港新片區(qū)管委會(huì)共同指導(dǎo),由上海市人工智能行業(yè)協(xié)會(huì)聯(lián)合上海人工智能實(shí)驗(yàn)室、上海臨港經(jīng)濟(jì)發(fā)展(集團(tuán))有限公司、開(kāi)放原子開(kāi)源基金會(huì)主辦的“2024全球開(kāi)發(fā)者先鋒大會(huì)”,將于2024年3月23日至24日舉辦。