今天小編分享的教育經驗:普通教育從業者也能看得懂的GPT原理:知其厲害,知其所以厲害,歡迎閲讀。
文 |2709 教育行業研究者
編者按:
本文系多知網約稿。作者認為無論是國内外,教育領網域的 AI 應用正在蓬勃發展,并且大模型正在快速滲透教育行業。對于廣大教育從業者來説,如何使用好大模型才是正途,而知曉了大模型的底層邏輯和運作原理才能更好地使用它。
OpenAI 的 ChatGPT 用户量直線飙升至月訪問 10 億,跻身頂流網站之列。無論是國内外,教育領網域的 AI 應用正在蓬勃發展。海外的多鄰國、可汗學院、Quizlet 等紛紛擁抱 AI;國内,好未來推出 MathGPT,投資深言科技;科大訊飛發布星火大模型的產品;網易有道加速研發 " 子曰 " 大模型;作業幫正在内測針對國内市場的教育大模型。無疑大模型正在快速滲透教育行業。然而,對于廣大教育從業者來説,如何使用才是正途。但只有真正理解大模型的工作原理,才能知其優劣勢,從而更精準地應用于工作和產品研發中。
本文将用通俗的語言,幫助大家理解大模型典型代表 GPT 是如何運作、如何訓練的。
01
第一個問題:GPT 是如何回答出大段文字的
首先我們來了解一下什麼是 GPT。ChatGPT,顧名思義,就是利用 GPT 技術實現聊天的軟體。其中 "Chat" 代表聊天功能,"GPT" 則是實現這一功能的技術核心。
那 GPT 的核心原理是什麼呢?答案就是:"單字接龍。"也就是,一個字一個字的接龍,在上文最後一個字的後面,接下一個字。" 蘋果 "-" 果實 "-" 實在 "-" 在意 " 就是典型的詞語接龍,只不過,GPT 單字接龍的依據,不是和最後一個字組成詞語,而是基于上文的語境,來預測下一個字。如上文語境是 " 今天天氣好,太 ",那麼機器在這句話後面,大概率會接的就是 " 陽 " 字。
那 GPT 是如何生成長文的呢?即,将自己生成的字,和剛才的上文組成新的上文,然後緊接着再生成下一個字。正如剛才的那句話 " 今天天氣好,太 " 後接了 " 陽 " 字後,新的上文就是 " 今天天氣好,太陽 ",緊接着就可能依次生成 " 當 "" 空 "" 照 ",如此循環,就形成了一段文字。我們在用 GPT 問答的過程,GPT 也是把問題作為上文,答案作為下文一個字一個字生成而得。所以我們在使用 GPT 的時候,也會發現他在生成内容的時候,有明顯的一個字一個字打出來的感覺,這就是他在單字接龍。
02
第二個問題:GPT 是如何回答出我們想要的答案的
GPT 原理不難,就是一個字一個字的生成,最終回答出一段文字。但如何确保生成的内容符合我們的期望,而不是随意堆砌文字呢?答案是:概率。
實際上,生成的下一個字時可以是任何字,但由于 GPT 經過了多次訓練,所以它會根據概率選擇下一個字,以生成我們期望的文字。例如,當 GPT 遇到 " 今天天氣好 " 這個上文時,下一個字生成 " 太 " 的概率就很高,接着是生成 " 陽 "" 當 "" 空 "" 照 " 幾個字。
那為什麼 " 太 " 字的概率就很高呢?因為 GPT 被類似的段落訓練過。我們可以将訓練過程想象成是一位老師一遍又一遍地告訴機器:今天天氣好,下一句是 " 太陽當空照 " ’。經過多次訓練, GPT 就學會了這個組合,之後在進行單字接龍時,按照 " 今天天氣好,太陽當空照 " 的順序接龍下去的概率就很高。
那下一個字的概率是如何計算的呢?概率本是數學的概念,文字和文字之間是不能進行數學運算的。所以機器會先把上文的文字,轉化成向量(數學上可以進行計算),通過對向量進行一系列復雜的計算和比對,最終來選擇下一個字。
這樣,通過利用上文和連續選擇最高概率的下一個字,機器就能夠生成連貫的文本。那什麼樣的下一個字概率大呢?這與它與訓練數據(或者説,教導它的内容)的接近程度有關,越接近,概率就越大。
然而上文的組合形式是五花八門,即便兩種組合相似度很高,計算出的下一個字的概率分布也可能大相徑庭。這就解釋了為什麼我們在問同樣的問題時,機器可能會給出不同的回答。這也幫助我們理解為什麼提示詞能夠協助我們得到更佳的答案,因為提示詞為 GPT 提供了具體的上文環境。比如,如果我們先告訴 GPT 我是一名律師,那麼在計算下一個字的概率分布時,與法律相關的字的概率就會顯著提高。
03
第三個問題:是如何訓練 GPT 讓它擁有上述能力的?
步驟一【預訓練】
GPT 是如何進行訓練的呢?我們可以将其與我們背誦課文或古詩時的方式進行類比。想象一下,我們遮住下文,然後回憶,直到想起下一句是什麼。GPT 在訓練階段采用了類似的方法,稱為自回歸訓練。它會給定一段文字,遮住下文部分,然後嘗試猜測接下來的内容,如果猜錯了就重新嘗試,直到猜對為止。不同的是,機器會運用一些方法來調整模型參數,以便更準确地猜測下一個字。這個過程被稱為無監督學習,即不用老師去指出學生錯誤或者糾正,只需将數據或文本提供給機器,讓它自己學習。
通過大量的數據和無數次的計算,機器學會了按照人類的方式逐字生成内容。以 GPT-3 為例,它使用了 45TB 的文本數據進行訓練。如果我們假設一本書有 200 頁,每頁有 500 字,那麼相當于 GPT-3 學習了 4500 億本書的内容。而現在的 GPT-4,訓練的數據量更大,使其具備了更強大的生成能力。當這個過程完成時,也就稱完成了預訓練,GPT 便擁有了通才的能力。
步驟二【微調】
然而,即使機器學會了文本生成,我們仍然需要防止它亂説話。因為在各類文本中,存在大量不适當的内容,包括恐怖主義、歧視和髒話等。這就引入了第二步,即微調過程。簡而言之,我們使用規範的文本來糾正這個 " 話痨 ",當它説髒話時,我們告訴它 " 不可以 ";當有人詢問 " 如何安穩地自殺 " 時,我們告訴它回答 " 要勸導提問者不要自殺,要熱愛生命 "。這個過程被稱為監督學習,就像有個老師在監督機器學習,對于機器輸出的内容,是有标準答案的,如果回答不好,就重新回答。為什麼叫微調呢,因為相比第一個步驟(預訓練),規模要小很多。正如需要培養一個紳士,在預訓練基礎上,你只需要規範他的禮儀即可。
步驟三【強化學習】
機器學會了説話并能夠正确表達,但如果它始終按照訓練文本的模式生成内容,就會變得呆板和缺乏創意。為了鼓勵機器生成更具創造性和獨特性的内容,引入了強化學習的方法,即基于人類反饋的強化學習(RLHF)。
RLHF 的思想很簡單,當機器生成了我們認為不錯的回答時,我們給予它鼓勵;而當機器生成的回答不夠理想時,我們給予它批評或糾正。通過不斷的反饋和調整,機器能夠逐漸學會生成更加優秀和獨特的回答。我們可以觀察到,在與 chatGPT 聊天時候,回答裏會有 "better""worse""same" 的評價,這實際就是 GPT 在利用我們這些用户對機器進行糾正,讓它知道什麼樣的回答是我們喜歡的,機器就更傾向于生產那類回答。
04
問題四:訓練一個大模型和養一個聰明的孩子有什麼不同
如果你能看到這裏,你會發現訓練一個大模型和撫養一個小孩很像。小時候,讓他去接觸各種各樣的事物,然後通過正規教育規範他的行為,再同時通過獎懲去激發他的創造性。
但,他和撫養一個小孩有什麼不同呢?
1、模型并不是真正學會了語言并了解了語言的意義,而是學會了一種承載了語言及意義的文字搭配方式。(請多讀 3 遍,有點繞口)而小孩是可以理解其意義的。
2、模型不是數據庫,不是你問問題後,它去龐大的數據庫裏去找答案。而是,他學會了推理,知道了文字與文字之間的關系。你提問後,它按照它學到的推理結構,去產生你要的問題的答案,這并不是記憶。但小孩既有推理能力,也有記憶能力。
由此,就出現了大模型目前無法解決的問題,一把雙刃劍——生成性。
這一特性讓它能產生未見過的内容,是本次大模型技術飛躍的關鍵亮點。雖然大模型不理解自己生產的内容是什麼,但它确實給我們提供了非常良好的體驗,如近似人的聊天。然而,這也帶來了問題,即模型的答案無法完全受到控制,無論微調或強化學習如何進行,始終存在不确定性,會生成一些我們不想要的答案。這就是模型幻覺,即使這種不可控随着模型完善可以降低,但卻無法消除,這也是人工智能領網域目前的一大挑戰。
就如同兒童玩具不應包含不适内容,遊戲 NPC 的對話必須和遊戲世界觀一致,教育工具不應違背核心價值觀一樣,内容生產需要可控。因此,大企業通常不會冒險采用成熟產品試水,即使這個風險的概率非常小。這樣的挑戰在很大程度上阻礙了大模型的商業應用,所以我們能看見大模型在資本圈火熱,但在商業上暫時未創造出與其匹配的價值。對于這個問題我們将在接下來的文章中進行探讨,若有感興趣的話題,請留言。
注:以上僅為初步闡述 GPT 原理,為方便理解而進行簡化。實際操作過程中涉及各類復雜細節,若需深入理解,建議查閲相關學術論文。
(本文僅代表作者個人觀點,供讀者參考。)