“字字珠璣”:揭秘ChatGPT的逐詞生成藝術(shù)
在ChatGPT這類產(chǎn)品出現(xiàn)之后,許多人都驚嘆于其文本生成能力,ChatGPT的出現(xiàn)也改變了我們與技術(shù)互動的方式。那么在這背后,你是否了解ChatGPT的工作原理與逐詞生成的奧秘?一起來看看本文的拆解。
在信息技術(shù)的長河中,很少有技術(shù)能像ChatGPT這樣迅速地掀起波瀾。自2022年11月問世以來,ChatGPT不僅在AI領(lǐng)域引發(fā)了革命性的變革,更在公眾視野中掀起了前所未有的熱潮。它的出現(xiàn),仿佛是一顆投入平靜湖面的石子,激起了層層漣漪,迅速擴(kuò)散至全球每一個角落。
在短短兩天內(nèi),ChatGPT的用戶數(shù)就突破了百萬大關(guān),兩個月后,這一數(shù)字更是飆升至億級,這一增長速度不僅刷新了TikTok創(chuàng)下的記錄,更是在科技史上留下了濃墨重彩的一筆。2023年5月,當(dāng)ChatGPT正式登陸蘋果應(yīng)用商店,它如同一匹黑馬,毫無懸念地登頂免費(fèi)APP榜首,再次證明了其強(qiáng)大的吸引力和影響力。
ChatGPT之所以能夠獲得如此高度的關(guān)注,原因在于它為人們帶來了前所未有的智能對話體驗。許多人在與ChatGPT的互動中,首次感受到了人工智能的高智能和學(xué)習(xí)能力。這句“天下人苦智障AI久矣”的戲謔之言,如今在ChatGPT面前顯得格外貼切。盡管ChatGPT偶爾也會展現(xiàn)出它的“不聰明”一面,比如在簡單的數(shù)學(xué)問題上出現(xiàn)失誤,但它的學(xué)習(xí)能力卻讓人驚嘆。一旦用戶指出錯誤,或者引導(dǎo)它逐步解決問題,ChatGPT便能迅速調(diào)整,展現(xiàn)出驚人的靠譜和準(zhǔn)確性。
ChatGPT的這種能力,不僅讓人們對人工智能的未來充滿了期待,也讓人們開始重新審視人機(jī)交互的可能性。它不僅僅是一個聊天工具,更是一個不斷學(xué)習(xí)和進(jìn)化的智能伙伴,它的存在,正在悄然改變我們與技術(shù)互動的方式。
一、ChatGPT的工作原理
GPT技術(shù)的核心理念在于采用最簡單的自回歸生成架構(gòu)來解決無監(jiān)督學(xué)習(xí)的問題,也就是利用無須人工標(biāo)注的原始數(shù)據(jù),讓模型自主學(xué)習(xí)并映射出對世界的理解。
自回歸模型本質(zhì)是基于生成任務(wù)+預(yù)測的模型。生成任務(wù)在人工智能領(lǐng)域指的是創(chuàng)建新內(nèi)容的過程,這些內(nèi)容可以是文本、圖像、音頻和視頻等。在ChatGPT上下文中,是模型根據(jù)給定的文本提示,生成連貫、有意義的文本,而不僅僅是預(yù)測序列中的下一個元素。這要求模型可以理解語言的語法和語義,還能捕捉到文本的情感、風(fēng)格等,從而生成高質(zhì)量的文本內(nèi)容。同時,它的預(yù)測能力是強(qiáng)于預(yù)測文本序列,尤其是理解上下文和生成連貫對話方面。
但是在某些特定的預(yù)測任務(wù)中,比如簡單的數(shù)學(xué)計算或時間序列預(yù)測,線性回歸模型和RNN可能會表現(xiàn)的更好,因為這些任務(wù)通常需要精確的數(shù)值預(yù)測,而不是生成新的文本。
總的來說,ChatGPT在生成任務(wù)上的表現(xiàn)非常出色,這使得它在自然語言處理領(lǐng)域具有廣泛的應(yīng)用價值。而在預(yù)測方面,它可能不如專門針對數(shù)值預(yù)測優(yōu)化的模型,但這并不是它的設(shè)計初衷。ChatGPT的核心優(yōu)勢在于其生成連貫、有意義的文本的能力,這在許多實際應(yīng)用中是非常寶貴的。
那什么是自回歸模型呢?這里用一個比喻進(jìn)行說明。
自回歸模型就像一個優(yōu)秀的廚師,現(xiàn)在正在準(zhǔn)備一道復(fù)雜的菜肴。這位廚師在做這道菜時,并不是一次性把所有食材準(zhǔn)備好,而是根據(jù)已經(jīng)準(zhǔn)備好的部分決定下一步需要加什么。比如,他已經(jīng)切好了蔬菜,那么他可能會根據(jù)這些蔬菜來決定下一步是加入肉類還是調(diào)料或其他。這個過程是逐步進(jìn)行的,每一步都依賴于之前的步驟。
在自回歸生成架構(gòu)中,神經(jīng)網(wǎng)絡(luò)就像這位廚師。它在生成文本時,會根據(jù)已經(jīng)生成的詞來決定下一個詞。比如,如果它已經(jīng)生成了“今天天氣”,那么它可能會根據(jù)這個上下文來預(yù)測下一個詞是“晴朗”、“陰沉”還是“下雨”。這個過程是連續(xù)的,每個新生成的詞都依賴于之前的詞,就像廚師根據(jù)已經(jīng)準(zhǔn)備好的食材來決定下一步。
二、逐詞生成的藝術(shù)
當(dāng)你與ChatGPT這樣的產(chǎn)品互動時,它們的核心任務(wù)是為接收到的文本提供“合理的延續(xù)”。
在自回歸架構(gòu)下,大語言模型(LLM)通過分析輸入的上下文,包括語義、情感、風(fēng)格等因素,來預(yù)測并生成下一個詞。這個過程涉及到對整個序列的理解,而不僅是單個詞的預(yù)測。模型的目標(biāo)是確保新生成的詞不僅在語法上正確,而且要語義上與前文保持一致,情感上與整體語境相符, 仿佛出自人類之手 。
文中的“合理”意味著生成的文本應(yīng)該是連貫的、有意義的,并且符合人類自然語言的表達(dá)習(xí)慣。
那什么是“延續(xù)”?所謂延續(xù)是指模型生成的文本應(yīng)該能夠自然的融入到已有的文本中,讓讀者感覺就像是人類作者所寫,是對上下文語義的延續(xù)、情感的延續(xù)、風(fēng)格的延續(xù)。
ChatGPT在接收輸入文本,然后看看接下來出現(xiàn)的是什么詞,以及這些詞出現(xiàn)的概率是多少,然而它不是只看字面上的文本,而是尋找在某種程度上“意義匹配”的事物。這里的“意義匹配”和“合理的延續(xù)”并無二致,都是為了讓讀者感覺就像是人類作者所寫。值得一提的是,當(dāng)chatgpt做一些事情,比如寫一篇文章,它實質(zhì)只是一遍又一遍的詢問“根據(jù)當(dāng)前文本,下一個詞應(yīng)該是什么”,并且每次添加一個詞。更準(zhǔn)確的說,它每次都添加一個“標(biāo)記”(token),而標(biāo)記可能是一個單獨(dú)的詞,也可能是詞組的一部分,這也就是它有時可以‘造詞’的原因。
需要說明的是,“每次添加一個詞。更準(zhǔn)確的說,它每次都添加一個“標(biāo)記”,這里的“每次添加一個詞是ChatGPT在生成文本時的基本操作。這里的“詞”在中文中通常對應(yīng)一個漢字或一個詞組,而在英文中,由于單詞可能有多個字母組成,所以這里的“詞”可能是一個完整的英文單詞,也可能是單詞的一部分,如“cats”中的“cat”,具體如何,取決于模型的訓(xùn)練方式和所使用的語言。
“標(biāo)記”(token)是自然語言處理(NLP)中的一個概念,它代表了文本中的一個基本單位。在英文中,一個標(biāo)記可以是一個單詞、一個標(biāo)點(diǎn)符號,甚至一個字詞單元,如“un”來自“unversity”或“ing”來自“running”。在中文中,由于漢字本身就是一個完整的詞,所以一個標(biāo)記通常對應(yīng)一個漢字。在ChatGPT中,模型會根據(jù)這些標(biāo)記理解和生成文本。
那是否意味著,在使用中文和LLM模型對話時,每次都只會生成一個詞或添加一個標(biāo)記呢。
答案也不盡然,在中文的自然語言處理中,由于中文的書寫習(xí)慣和語言結(jié)構(gòu),一個漢字通常被視為一個基本的語言單位,也就是一個token。然而,如果遇到詞組或者成語,這些通常被視為一個整體,因此在模型輸出中,一個詞組或成語會被標(biāo)記為一個或多個連續(xù)的token。比如,“人工智能”這個詞組在模型中可能會被標(biāo)記為兩個token(“人工”和“智能”),或者作為一個整體標(biāo)記為token,這取決于模型的訓(xùn)練方式和分詞策略。
至于“造詞”,通常發(fā)生在模型在生成過程中遇到它從為見過的詞或短語時,由于模型是基于大量文本數(shù)據(jù)訓(xùn)練的,它可能學(xué)習(xí)到一些詞匯的組合方式,即使這些組合在訓(xùn)練數(shù)據(jù)中并不存在。在某些情況下,模型可能會嘗試將這些組合方式應(yīng)用到新的上下文中,從而產(chǎn)生新的詞或短語?!霸煸~”的能力,是ChatGPT學(xué)習(xí)到的能力,從這點(diǎn)也驗證了ChatGPT不是為了做生成任務(wù),而是為了理解和學(xué)習(xí)。
上文也說到ChatGPT在完成生成任務(wù)的本質(zhì)是一遍又一遍的詢問“根據(jù)當(dāng)前上下文,下一個詞是什么”,而它在每一遍的詢問過程中都會得到一個帶概率的詞匯表。
所以它就會選擇概率值最高的詞,把概率值最高的詞添加為“標(biāo)記”嗎?如果ChatGPT真的是如此這樣做的,那么你通常只會得到一篇非?!捌降钡奈恼?,完全顯示不出任何創(chuàng)造力,甚至?xí)蛔植徊畹闹貜?fù)前文。
事實上,模型并不總是選擇概率最高的詞,而是綜合考慮整個序列的上下文信息來做出最終的選擇,即對上下文“合理的延續(xù)”或“意義匹配”。
三、溫度參數(shù):控制生成的多樣性
在自回歸模型中,“溫度”( Temperature)是一個控制文本生成多樣性的參數(shù)。
1. 高溫度
當(dāng)溫度值較高時,模型傾向于選擇概率分布中較低概率的詞。這增加了生成文本的隨機(jī)性和多樣性。這種情況下,模型可能生成意想不到、創(chuàng)造性的文本,但同時也會產(chǎn)生不連貫或不和邏輯的內(nèi)容。
2. 低溫度
當(dāng)溫度較低時,模型更傾向于選擇概率分布中較高概率的詞,這使得生成的文本內(nèi)容更加保守和可預(yù)測。這種情況下,文本的連貫性和準(zhǔn)確性會提高,但創(chuàng)造性可能會受到限制。
3. 閾值
在某些情況下,模型可能會使用一個閾值來限制選擇的詞。這個閾值可以看作是概率分布的一個截斷點(diǎn),只有高于閾值的詞才會被考慮。閾值的設(shè)置會影響模型在生成文本時的保守程度。
設(shè)置閾值的某些場景可以是:
- 控制生成速度: 實時對話系統(tǒng)或聊天機(jī)器人中,可能需要快速生成回復(fù)。設(shè)置閾值可以幫助模型更快地做出決策,減少生成過程中的計算量,從而提高響應(yīng)速度。
- 生成特定風(fēng)格的內(nèi)容: 如果需要生成特定風(fēng)格或主題的文本,比如正式、幽默或特定領(lǐng)域的內(nèi)容,設(shè)置閾值可以幫助模型專注于那些符合特定風(fēng)格的詞匯。
- 避免生成不適當(dāng)內(nèi)容: 在某些應(yīng)用中,如社交媒體監(jiān)控或內(nèi)容審核,可能需要避免生成包含敏感詞匯或不當(dāng)內(nèi)容的文本。設(shè)置閾值可以幫助過濾掉這些不適當(dāng)?shù)脑~匯。
四、挑戰(zhàn)與優(yōu)化
盡管ChatGPT在文本生成方面取得了顯著成就,但它仍然面臨著一系列挑戰(zhàn),同時也存在優(yōu)化空間。
1. 生成內(nèi)容的多樣性與創(chuàng)造性
- 挑戰(zhàn):在追求文本連貫性和準(zhǔn)確性的同時,如何保持生成內(nèi)容的多樣性和創(chuàng)造性是一個平衡問題。
- 優(yōu)化:調(diào)整模型的“溫度”參數(shù),引入隨機(jī)性,或者使用不同的生成策略,如束搜索(beam search),可以在一定程度上增加文本的多樣性。
2. 避免生成有害或偏見內(nèi)容
- 挑戰(zhàn):大型語言模型可能會無意中學(xué)習(xí)并放大訓(xùn)練數(shù)據(jù)中的偏見,生成有害或不當(dāng)?shù)膬?nèi)容。
- 優(yōu)化:在訓(xùn)練過程中實施更嚴(yán)格的數(shù)據(jù)清洗和過濾,以及在模型中集成道德和倫理指導(dǎo)原則,可以減少生成有害內(nèi)容的風(fēng)險。
3. 提高生成效率
- 挑戰(zhàn):生成長文本或復(fù)雜對話時,模型的計算成本和時間消耗可能很高。
- 優(yōu)化:優(yōu)化模型架構(gòu),減少不必要的計算,或者使用更高效的硬件加速生成過程,可以提高生成效率。
4. 模型的可解釋性和透明度
- 挑戰(zhàn):大型語言模型的決策過程往往是一個“黑箱”,難以解釋其生成特定文本的原因。
- 優(yōu)化:研究和開發(fā)可解釋的AI模型,以及提供模型決策的透明度,可以幫助用戶理解模型的工作原理,增加信任度。
本文由 @陶培林 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
- 目前還沒評論,等你發(fā)揮!