跳至主要内容

🔀 ChatGPT與人類思維的差異

引言

在上一次關於ChatGPT是怎麼被訓練出來的?的文章裡,我介紹了以ChatGPT為代表的大多數LLM(大型語言模型)被訓練出來的過程,這個過程本身的特性已經把ChatGPT本身的優劣勢很清晰地展現出來了。在這篇文章裡我再進一步講解人類的思維模式和LLM之間的差異,同時說明如何彌補LLM的“思維缺陷”從而讓它更好的完成人類的任務。這期內容的大部分觀點來源於OpenAI聯合創始人Andrej Karpathy的演講,你也可以直接去看他的影片:Andrej的演講點這裡

我也做了個B站影片講解本次文章的內容,你可以點這裡前往。

人類思維VS ChatGPT思維

現在大多人使用ChatGPT的時候都很容易陷入兩類誤區,一種是覺得ChatGPT太牛叉了,它居然能這麼絲滑地進行聊天,居然懂量子力學,還能跟我探討哲學,我是不是可以把我所有的工作和學習的內容交給它,真的這麼做的時候就會遇到很多困擾。還有一類是覺得ChatGPT就是一幫賣課的和搞網際網路的在瞎鼓吹,明明我嘗試過問他“魯迅和周樹人有什麼分歧”他都不知道這倆是同一個人,問它類似於89x78這樣的乘法,給的結果也不對,簡直太垃圾了。

這兩類覺得ChatGPT太牛叉和太蠢了其實屬於同一類觀點,都是盲人摸象,只瞭解的ChatGPT微小的特點就推及全部,覺得那是ChatGPT完整的特點了。這個思維的問題是,我們用人類一般具備的能力和常識去評價瞭解ChatGPT了,因為ChatGPT在跟人類對話過程中所表現出來的邏輯能力和表達能力都太像人了。

然而,ChatGPT並不是人。他的思維模式和他的優缺點都和人類存在巨大的差異。我們先來講講人的思維模式是什麼樣的。

人類思維示例-常識、反思、工具使用 假設你要寫一個財經類的文章,因為某種原因,你要寫這麼一段話,“截止6月28日,拼多多的市值是B站的xx倍”。

在寫這個對話的時候,首先你會啟動自己的反思能力,你知道要比較拼多多和B站的市值,還是最新的市值差異,估計沒人寫過這個準確的資料,所以最好的方式不是直接搜拼多多的市值是B站的多少倍,而是去找到拼多多和B站截止昨天分別的市值,再除一下。

接著,你知道自己的大腦裡肯定沒有這種資料,但是你知道雪球大概能查到這個資料,你上去查到了,截止昨天,拼多多的市值是932.8億美元,B站的市值是63.6億美元。

接下來你會把兩者記一下,你知道你腦子裡也不好一下算清楚932.8/63.6等於多少,所以你可以用個計算器算一下,發現是14.7倍。

這時候你可能會想拼多多居然比B站值錢這麼多,你是沒想到的,但是再確認一眼你的資訊來源和數字,好像是對的。

然後你開始寫這段話,“拼多多比B站股價貴13.7倍”。

你會實時反思不對這句話寫得不準確,你重新調整自己的措辭,把時間限制加上去,把描述變得更準確,“截止6月28日,拼多多的市值是B站的14.7倍”。

這就是你寫一下這麼一句簡單的話的時候可能會經歷的一系列全過程,但是對ChatGPT來說,它就不是這樣的,它只會是講你輸入的資訊就行一層一層的關係分解,然後開始預測它自己下一個單詞應該寫什麼會更準確,並且沒寫一個字的時候,都會再把它自己的寫的那個字納入進去思考,然後kua、kua、kua地不斷產生下一個字,形成完整的句子。你可以從我上一期介紹ChatGPT是怎麼被訓練出來的影片去了解更深的ChatGPT的文字生成機制。

所以最終結果來說就是,人的思維過程和ChatGPT是有巨大的差異的。

prompt engineering(提示詞工程)的本質就是去縫合這種差異,最大化地發揮ChatGPT的優勢,規避它的缺陷。

1、提供充足背景和知識

你知道自己不知道什麼,但是ChatGPT是不知道自己不知道什麼的,所以你在跟ChatGPT溝通的時候需要完整地把你的任務背景資訊和你認為它需要的知識提供給他。

2、給ChatGPT提供工具武裝

你知道自己不擅長什麼,你會使用搜尋引擎、計算器等工具幫自己完成任務,ChatGPT也是這樣的。所以當你需要ChatGPT完成需要含2021年9月以後知識的任務時,你應該使用帶web browsing的能讓ChatGPT瀏覽網頁的外掛去完成任務。其他像是數學計算,或者閱讀pdf文字,買機票之類的也是同理,你可能需要不同的plugins外掛去讓ChatGPT能使用對應工具。

3、允許ChatGPT回溯和反思

ChatGPT的生成機制導致它不能回溯發現自己的錯誤,但是你可以要求他回溯,比如在ChatGPT回答完問題之後,你問他你覺得自己的回答是準確的嗎,有完成我的要求嗎,是可以讓它會成對自己回答的反思和分析的。

4、對於複雜問題,激發ChatGPT的“系統二”慢思維模式

ChatGPT這kua、kua、kua不斷生成文字的過程實際上很像認為的“系統一”的思維繫統,如果你看過諾貝爾經濟學獎得主“丹尼爾卡尼曼”的《思考快與慢》那本書的話,你大概會知道人類包含“系統一”直覺式的快思考和“系統二”比較審慎的慢思考兩者思維模式,在一些複雜任務上,你可以讓ChatGPT採用慢思考的方式去做。有幾個方式可以讓ChatGPT慢思考,因為ChatGPT本質上是透過一個個token去實現思考的,所以只要讓ChatGPT有更多的token去完成最後的回答,也就等於讓他獲得了充足的思考時間,有這麼幾個不同的方式可以讓ChatGPT慢下來思考

把複雜任何拆解成多個小任務,使得每個任務都有足夠的token去思考,比如你把關於拼多多和b站的市值對比問題,拆解成先問它截止昨天拼多多的市值是多少,B站的市值是多少,等等。

用few shot少示例提示讓ChatGPT模仿這個思維過程,比如你寫個“北京的常駐人口數量是香港的3倍”,你先把你是怎麼得到這個結果的方式告訴ChatGPT,它也會進行模仿。

告訴模型think step by step,讓他把思維過程一步步放出來,相當於讓每個token都承擔更少的思考任務,也能獲得更好效果

5、ChatGPT不想要成功,但你可以要求成功

最後還有一點,就是ChatGPT具有的知識非常豐富,它學習了大量的網際網路公開資料,並且大概80%以上都是質量比較一般的,所以通常情況為了生成文字的內容能跟接近它訓練語料裡文字的質量,它並不會給你提供最好的結果,雖然實際上它可以。OpenAI的聯合創始人Andrej karpathy對這個問題有個很生動的說話,就是ChatGPT並不想要成功,但是你可以要求成功。具體做法很多人已經很熟悉了,就是根據你期望ChatGPT完成的任務,告訴ChatGPT它是這個領域的專家,讓他以專家視角來給你輸出結果。

希望對你有所啟發。