今天小編分享的科學經驗:GPT現狀終于有人講清楚了!OpenAI大牛最新演講爆火,還得是馬斯克欽點的天才,歡迎閱讀。
繼 Windows Copilot 發布後,微軟 Build 大會熱度又被一場演講引爆。
前特斯拉 AI 總監 Andrej Karpathy 在演講中認為思維樹(tree of thoughts)與 AlphaGo 的蒙特卡洛樹搜索(MCTS)有異曲同工之妙!
網友高呼:這是關于如何使用大語言模型和 GPT-4 模型的最詳盡有趣的指南!
此外 Karpathy 透露,由于訓練和數據的擴展,LLAMA 65B" 明顯比 GPT-3 175B 更強大 ",并介紹了大模型匿名競技場 ChatBot Arena:
Claude 得分介于 ChatGPT 3.5 和 ChatGPT 4 之間。
網友表示,Karpathy 的演講一向很棒,而這次的内容也一如既往沒有令大家失望。
随着演講而爆火的,還有推特網友根據演講整理的一份筆記,足足有 31 條,目前轉贊量已超過 3000+:
所以,這段備受關注的演講,具體提到了哪些内容呢?
如何訓練 GPT 助手?
Karpathy 這次的演講主要分為兩個部分。
第一部分,他講了如何訓練一個 "GPT 助手 "。
Karpathy 主要講述了 AI 助手的四個訓練階段:
預訓練(pre-training)、監督微調(supervised fine tuning)、獎勵建模(reward modeling)和強化學習(reinforcement learning)。
每一個階段都需要一個數據集。
在預訓練階段,需要動用大量的計算資源,收集大量的數據集。在大量無監督的數據集上訓練出一個基礎模型。
Karpathy 用了更多例子作補充:
接下來進入微調階段。
使用較小的有監督數據集,通過監督學習對這個基礎模型進行微調,就能創建一個能夠回答問題的助手模型。
他還展示了一些模型的進化過程,相信很多人之前已經看過上面這張 " 進化樹 " 的圖了。
Karpathy 認為目前最好的開源模型是 Meta 的 LLaMA 系列(因為 OpenAI 沒有開源任何關于 GPT-4 的内容)。
在這裡需要明确指出的是,基礎模型不是助手模型。
雖然基礎模型可以回答問題,但它所給出的回答并不可靠,可用于回答問題的是助手模型。在基礎模型上進行訓練的助手模型,通過監督微調,在生成回復和理解文本結構方面的表現将優于基礎模型。
在訓練語言模型時,強化學習是另一個關鍵的過程。
通過用人工标記的高質量的數據進行訓練,可以使用獎勵建模來創建一個損失函數,以改善其性能。然後,通過增加正向的标記,并降低負面标記的概率,來進行強化訓練。
而在具有創造性的任務中,利用人類的判斷力對于改進 AI 模型至關重要,加入人類的反饋可以更有效地訓練模型。
經過人類反饋的強化學習後,就可以得到一個 RLHF 模型了。
模型訓練好了,接下來就是如何有效利用這些模型解決問題了。
如何更好地使用模型?
在第二部分,Karpathy 主要讨論了提示策略、微調、快速發展的工具生态系統以及未來的擴展等問題。
Karpathy 又給出了具體示例來說明:
當我們在寫文章時候,我們會進行很多的心理活動,需要考慮自己的表述是否正确。而對于 GPT 來說,這只是一個序列标記(a sequence of tokens)。
而提示(prompt)可以彌補這種認知差異。
Karpathy 進一步解釋了思維鏈提示的工作方式。
對于推理問題,要想讓自然語言處理中 Transformer 的表現更好,需要讓它一步一步地處理信息,而不能直接抛給它一個非常復雜的問題。
如果你給它幾個例子,它會模仿這個例子的模版,最終生成的結果會更好。
模型只能按照它的序列來回答問題,如果它生成的内容是錯誤的,你可以進行提示,讓它重新生成。
如果你不要求它檢查,它自己是不會檢查的。
這就涉及到了 System1 和 System2 的問題。
諾貝爾經濟學獎得主丹尼爾卡尼曼在《思考快與慢》中提出,人的認知系統包含 System1 和 System2 兩個子系統。System1 主要靠直覺,而 System2 是邏輯分析系統。
通俗來說,System1 是一個快速自動生成的過程,而 System2 是經過深思熟慮的部分。
這在最近一篇挺火的論文 "Tree of thought"(思維樹)中也有被提及。
深思熟慮指的是,不是簡單的給出問題的答案,而更像是與 Python 膠水代碼一起使用的 prompt,将許多 prompt 串聯在一起。模型必須要維護多個提示,還必須要執行一些樹搜索算法,來找出要擴展的提示。
Karpathy 認為這種思路與 AlphaGo 非常相似:
AlphaGo 在下圍棋時,需要考慮下一枚棋子下在哪裡。最初它是靠模仿人類來學習的。
但除此之外,它還進行了蒙特卡洛樹搜索,可以得到具有多種可能性的策略。它可以對多種可能的下法進行評估,僅保留那些較好的策略。我認為這在某種程度上相當于 AlphaGo。
對此,Karpathy 還提到了 AutoGPT:
我認為目前它的效果還不是很好,我不建議大家進行實際應用。我只是認為,随着時間的推移,我們或許可以從它的發展思路中汲取靈感。
其次,還有一個小妙招是檢索增強生成(retrieval agumented generation)和有效提示。
視窗上下文的内容就是 transformers 在運行時的記憶(working memory),如果你可以将與任務相關的信息加入到上下文中,那麼它的表現就會非常好,因為它可以立即訪問這些信息。
簡而言之,就是可以為相關數據建立索引讓模型可以高效訪問。
如果 Transformers 也有可參考的主要檔案,它的表現會更好。
最後,Karpathy 簡單講了一下在大語言模型中的約束提示(Constraint prompting)和微調。
可以通過約束提示和微調來改進大語言模型。約束提示在大語言模型的輸出中強制執行模板,而微調則調整模型的權重以提高性能。
我建議在低風險的應用中使用大語言模型,始終将它們與人工監督相結合,将它們看作是靈感和建議的來源,考慮 copilots 而不是讓它們完全自主代理。
關于 Andrej Karpathy
Andrej Karpathy 博士畢業後的第一份工作,是在 OpenAI 研究計算機視覺。
後來 OpenAI 聯合創始人之一的馬斯克看上了 Karpathy,把人挖到了特斯拉。但也因為這件事,馬斯克和 OpenAI 徹底鬧翻,最後還被踢出局。在特斯拉,Karpathy 是 Autopilot、FSD 等項目的負責人。
今年二月份,在離開特斯拉 7 個月後,Karpathy 再次加入了 OpenAI。
最近他發推特表示,目前對開源大語言模型生态系統的發展饒有興趣,有點像早期寒武紀爆發的迹象。
傳送門:
[ 1 ] https://www.youtube.com/watch?v=xO73EUwSegU(演講視頻)
[ 2 ] https://arxiv.org/pdf/2305.10601.pdf("Tree of thought" 論文)
參考鏈接:
[ 1 ] https://twitter.com/altryne/status/1661236778458832896
[ 2 ] https://www.reddit.com/r/MachineLearning/comments/13qrtek/n_state_of_gpt_by_andrej_karpathy_in_msbuild_2023/
[ 3 ] https://www.wisdominanutshell.academy/state-of-gpt/