
五分鐘心理學2023年9月1日約 15 分鐘
AI 人工智能不會取代人類,但懂得運用 AI 的人會取代不懂得運用的人。要在 AI 時代不被淘汰,關鍵在兩種能力:精準向電腦表達自己想要什麼(提示工程 Prompt Engineering),以及判斷 AI 答案是否準確的批判思考。本集亦科普 ChatGPT 這類大語言模型(LLM)背後的人工神經網絡,以及它如何透過監督式機器學習與「人類反饋強化學習」(RLHF)煉成。
今集結合我自己兩個身份——程式員與心理學人——去談一個我很感興趣、也認為在未來很重要的題目:AI 人工智能。今年 ChatGPT 已經瘋魔全球,大家都驚訝一部電腦怎麼會有這麼強大的能力,幾乎你問它什麼行業的問題它都好像懂得答,知識很豐富,甚至 GPT-4 在一些律師考試上的表現竟然比平均應考的人類還要好。隨之而來的是很多擔憂:我究竟會不會被 AI 取代?
我自己的看法是:AI 人工智能不會取代人類,但懂得運用 AI 的人類,會取代不懂得運用 AI 的人類。所以在 AI 時代如何生存下去,本身也是一種很重要的心理韌性(resilience)。我想拍一條終極懶人包,跟大家說我們可以怎樣裝備自己去面對 AI 時代、避免被淘汰,同時也科普一下這些厲害的模型究竟是怎樣煉成的,以及 AI 與心理學的淵源——因為計算機科學與心理學這兩門學問,一直都在互相啟發對方。
在 AI 時代,尤其是 ChatGPT 這類大語言模型(Large Language Model, LLM),我覺得會特別凸顯一種能力:你能否精準地向電腦表達自己想要什麼。這件事某程度上是悲哀的,因為精準表達的能力與我們語言方面的認知能力息息相關;有了 LLM 之後,有這種能力的人與沒有這種能力的人,實力差距反而會越拉越遠。
這也是我自己的工作經驗。近來我要處理一些文件,例如制定求職協議、衡量求職者的水準,透過 AI 的幫助,我可以用二十分鐘完成過往要做幾日的工作,成品甚至好過自己寫。但這些成功往往有一個前設:你需要精準地表達自己想要的東西。這就是 AI 年代第一個要建立的能力。在 LLM 的語境下,這門學問可以上網搜尋,叫「提示工程」(Prompt Engineering),即是如何向 AI 精準地給予指示。你可以把 LLM 理解為人類智慧的集合體:數據庫已經在那裡,問題是你有沒有那把語言的鎖匙,把你想要的東西從數據庫中提取出來。
第二種我覺得很重要的能力是批判思考(critical thinking)——一些很仔細的思考習慣:你有沒有辦法判斷 AI 提供的資料是否準確。例如有朋友問我,作為做初創的人,怎樣看員工使用 AI 工具。我的看法是:成品是否用 AI 做出來,我並不理會;我唯一關注的是成品的質素。能用 AI 快速完成工作的員工,表現當然更理想;但若只是不求甚解、用 AI 亂打一通,那不是 AI 的問題,而是那位員工的問題——因為他根本沒有能力消化工具給出的資訊。
要用得好 AI,你需要在那個範疇本身已有豐富的知識和判斷能力,再加以調整 AI 出來的回答,才能得到良好結果。精準表達與批判思考這兩種能力,就是 AI 世代最重要、也是避免自己被淘汰的方法。
我曾跟一些大學教授聊天,他收到一些明顯是用 ChatGPT 交出來的功課,但整份狗屁不通。例如學生要寫一篇自我反思,他很明顯給 AI 的指示就是「幫我寫這份自我反思的功課」,結果非常惡劣。
即使如此,我覺得大學不應該禁止學生使用 AI 工具,反而應該更加鼓勵,因為這是不可逆轉的趨勢。但我們要很警覺的是:AI 也會養懶人。如果你太依賴 AI 的協助,自己卻沒有去跟進、學習知識,這其實是一個更大的問題。
AI 怎麼會有這麼大的本事,能完成很多人才做到的工作,甚至在某些範疇超越人類水準?這要了解技術背後的運作。這類大語言模型,是以「人工神經網絡」(Artificial Neural Network, ANN)的技術去運作——一個參考人腦如何處理資訊而設計的數學模型。
講人工神經網絡之前,先講人類的神經網絡。我們大腦裡有很多細胞叫神經元,就是讓你能思考、能感受的細胞。神經元有兩個重要的組成部分:軸突(Axon)和樹突(Dendrite)。神經元之間會互相連結,一顆神經元的軸突會把信息傳到下一顆細胞的接收端——樹突。我們大腦有很多神經元,它們之間的互連,某程度上構成了我們心智活動的一大部分。
人工神經網絡也是圍繞這件事去設計。一般來說它有三層結構:輸入層(Input Layer)、隱藏層(Hidden Layer)、輸出層(Output Layer),每層由一些人工神經元組成。一個人工神經元只是很簡單的數學計算:根據輸入的資料,決定要不要、以及發送什麼信號去下一顆神經元。這聽起來很簡單,但當你聚集恆河沙數的神經元時,就會發覺這麼簡單的數學模型,居然能做到很多複雜的規律,模仿到人的心智活動——包括判斷一張圖片裡有沒有車,或做自然語言處理(Natural Language Processing, NLP),令電腦好像真的明白人類的語言。
用人工神經網絡處理工作,跟傳統寫程式有什麼分別?傳統寫程式(不使用 AI)幾乎不可能寫出一個程式去判斷一張圖片是不是車:你如何用明確規律或數學方程定義「怎樣的曲線才叫車」?而且車可以從很多角度去拍。傳統方式沒辦法處理這類問題,透過人工神經網絡卻可以。
具體怎樣練成?以判斷圖片是否車為例,一般會用「監督式機器學習」(Supervised Machine Learning)。先找人把大量車與不是車的圖片分類:車是 1,不是車是 0。當聚集了龐大的數據庫,就用它去訓練神經網絡——先把圖片轉成一堆數字(對電腦而言圖片本來就由數字組成),傳入輸入層,再層層傳遞;不斷告訴它:輸入是這樣,輸出層信號就是 1(是車);輸入是那樣,輸出就是 0(不是車)。經過很多數學計算(這部分講兩個小時也講不完,這裡不深入),它就會掌握到人類的規律。
能掌握規律已經夠神奇,但最神奇的是大語言模型——你跟它講什麼,它都懂得相應回應。先說明,這已是一個非常龐大的神經網絡,不是你在一部家用電腦做得出來的。建設這樣的模型動輒需要數以億計的資金,這某程度上會形成 AI 界的「霸權」:它究竟能拉近、還是拉遠普通人與科技巨企之間的差距,是非常值得思考的問題。
這些模型在做什麼?很粗略地說,其中一個根底,是判斷每一個字出現之後,下一個字最大可能是什麼。例如英文 He 之後,在不同文本裡大約有一半機會出現 is,is 之後最大機會是 a,再之後可能是 Boy,串起來就是 He is a Boy。只要不斷由前面的字去問神經網絡「下一個字最大機會是什麼」,就能產生一串協調一致、起碼讀得通順的字詞。它的訓練方法,就是用人類的大量文本,讓它學會由前面一段字推出下一個最大機率的字。
但只懂預測下一個最大機率的字,有時不會做到人類想要的效果。例如你叫 ChatGPT「Write me a Letter of Apology」(寫一封道歉信給我),若沒有人類回饋的強化,它瀏覽過所有文本後得出的預期回應,可能是「Write me a Letter of Apology, wouldn’t you」——只是把句子接龍下去,而不是真的寫一封道歉信。
OpenAI 和其他 AI 公司用一個叫 RLHF 的方法解決這問題:人類反饋強化學習(Reinforcement Learning with Human Feedback)。做法是不斷與模型交流,讓它知道自己有沒有做對:若它只回應「wouldn’t you」沒有遵從指示,真人就否定它;若它開始生成一封信,就給正面肯定。這很類似人類或其他動物的學習方式,於是它漸漸學會近似人類的技巧,懂得遵從人類指示。
整個過程涉及兩個機器學習概念。先是非監督式機器學習(Unsupervised Machine Learning):餵給模型一大堆資料——人類不同的歷史文本、不同來源的文字,讓它自行推導字與字之間的或然關係,於是能由一串字推出最大可能的下一個字。但這還未做到精準回應人類,於是再用 RLHF——一種監督式機器學習,由人類親身教它如何給出用家最想要的回應。簡言之,大語言模型可以理解為:先飽覽群書,看遍人類歷史文本,再由人手慢慢教它好好回答。下一段影片,我會再跟大家談 AI 與心理學如何互相啟發,以及我對 AI 未來的看法。
AI 不會取代人類,但懂得運用 AI 的人會取代不懂得運用 AI 的人。重點不在於人與機器對立,而在於 AI 拉大了人與人之間的差距:同一份工作,懂得善用工具的人可以用二十分鐘完成過往要做幾日的事,成品甚至好過自己手寫,而不懂運用的人仍停留在原地。
因為大語言模型可以理解為人類智慧的集合體——龐大的數據庫已經在那裡,問題是你有沒有那把「語言的鎖匙」去提取你想要的東西。能否精準向電腦講清楚自己要什麼,與一個人語言方面的認知能力息息相關。較令人不安的一點是:有這種能力與沒有這種能力的人,實力差距反而會因為 AI 而越拉越遠。這門學問就是可以上網搜尋的「提示工程 Prompt Engineering」。
你需要在那個範疇本身已經有豐富的知識和判斷能力,再用這份判斷去調整 AI 給出的回答,才能得到良好結果。換言之 AI 不是用來代替你思考,而是放大你既有的判斷力;如果你本身對該領域一無所知,就無法分辨它的答案是否可靠,也無從修正。
不應該禁止,反而應該鼓勵,因為使用 AI 已是不可逆轉的趨勢。真正要警覺的是「AI 也會養懶人」:曾有大學教授收到明顯是直接叫 ChatGPT「幫我寫一篇自我反思」交出來的功課,整份狗屁不通、質素惡劣。問題不在工具,而在於學生若太依賴 AI 又不自己跟進學習,便沒有能力消化工具給出的資訊。
它建基於「人工神經網絡」(Artificial Neural Network, ANN)——一個參考人腦資訊處理方式設計的數學模型。人腦由神經元組成,神經元之間透過軸突(Axon)把信息傳到下一顆細胞的樹突(Dendrite),這些互連構成我們大部分的心智活動。人工神經網絡同樣有輸入層、隱藏層、輸出層三層結構,每層由人工神經元組成。單一神經元只是很簡單的數學運算——根據輸入決定是否發送、發送什麼信號給下一顆神經元;但當聚集恆河沙數的神經元時,這個簡單模型竟能掌握很多複雜規律,模仿人的心智活動。
因為傳統程式需要用明確的規律或數學方程去定義,但你根本無法寫出「怎樣的曲線才叫做車」——車可以從很多角度去拍,沒有一條清晰可寫死的規則。人工神經網絡的做法不同:先把圖片轉成一堆數字(對電腦而言圖片本來就由數字組成),用大量已分類好的「是車(1)/不是車(0)」圖片去訓練網絡,讓它自己歸納出人類也說不清楚的規律。這就是它能處理傳統程式做不到的問題的原因。
大語言模型的根底,是預測「已知前面這串字,下一個字最大機會是什麼」——例如 He 之後大機會是 is、再來是 a、Boy,串成 He is a Boy。但只懂預測下一個最大機率的字,未必做到人類想要的效果:你叫它「Write me a Letter of Apology」,它可能只是接龍成「Write me a Letter of Apology, wouldn't you」,而不是真的寫一封道歉信。OpenAI 等公司用「人類反饋強化學習」(Reinforcement Learning with Human Feedback, RLHF)解決:由真人不斷給模型回饋,它遵從人類指示(開始生成道歉信)就給正面肯定,沒有遵從(只是接龍)就否定。這很類似人類或動物的學習方式,於是模型漸漸學會遵從人類指示。
兩者各做一層工夫。非監督式機器學習(Unsupervised Machine Learning)負責「飽覽群書」:餵給模型大量人類歷史文本與各種文字來源,讓它自己推導字與字之間的或然關係,從而能由一串字推導出下一個最大可能的字。但到此它仍未懂得精準回應人類的指示,這時就要再加上 RLHF——一種監督式機器學習,由人類親身教它如何給出用家最想要的回應。簡言之,先讓它讀盡天下書,再由人手教它好好回答。
Ouyang et al.(InstructGPT,RLHF 人類反饋強化學習)
提出以「人類反饋強化學習」(RLHF)微調大語言模型,由人類標註者對模型答案排序、訓練獎勵模型再以強化學習優化,使模型懂得遵從人類指示——這正是 ChatGPT 能依指令回應的關鍵方法。
人工神經網絡(Artificial Neural Network, ANN)
參考人腦神經元(軸突 Axon、樹突 Dendrite)互連方式設計的數學模型,由輸入層、隱藏層、輸出層組成;單一人工神經元只是簡單運算,大量聚集後卻能掌握複雜規律,是大語言模型的底層技術。
監督式與非監督式機器學習(Supervised / Unsupervised Machine Learning)
監督式學習用已分類(如「是車=1/不是車=0」)的數據訓練模型;非監督式學習則讓模型從大量文本自行推導字與字之間的或然關係,是 LLM 預測下一個字的基礎。
提示工程(Prompt Engineering)
研究如何向 AI 精準給予指示、以取得想要結果的學問;在 LLM 時代,能否用「語言的鎖匙」從模型中提取所需內容,成為一項值得學習的關鍵技能。
這星期試一次:把你手頭一件想交給 AI 的工作,先用文字寫清楚你究竟想要什麼結果、有哪些前設與標準,再交給 AI,然後憑你自己的判斷力逐處檢查、修正它的回答。留意一下——清晰的指示和你既有的判斷,分別為成品帶來多大改變?
