“字字珠璣”:揭秘ChatGPT的逐詞生成藝術

0 評論 2807 瀏覽 4 收藏 16 分鐘

在ChatGPT這類產品出現之后,許多人都驚嘆于其文本生成能力,ChatGPT的出現也改變了我們與技術互動的方式。那么在這背后,你是否了解ChatGPT的工作原理與逐詞生成的奧秘?一起來看看本文的拆解。

在信息技術的長河中,很少有技術能像ChatGPT這樣迅速地掀起波瀾。自2022年11月問世以來,ChatGPT不僅在AI領域引發了革命性的變革,更在公眾視野中掀起了前所未有的熱潮。它的出現,仿佛是一顆投入平靜湖面的石子,激起了層層漣漪,迅速擴散至全球每一個角落。

在短短兩天內,ChatGPT的用戶數就突破了百萬大關,兩個月后,這一數字更是飆升至億級,這一增長速度不僅刷新了TikTok創下的記錄,更是在科技史上留下了濃墨重彩的一筆。2023年5月,當ChatGPT正式登陸蘋果應用商店,它如同一匹黑馬,毫無懸念地登頂免費APP榜首,再次證明了其強大的吸引力和影響力。

ChatGPT之所以能夠獲得如此高度的關注,原因在于它為人們帶來了前所未有的智能對話體驗。許多人在與ChatGPT的互動中,首次感受到了人工智能的高智能和學習能力。這句“天下人苦智障AI久矣”的戲謔之言,如今在ChatGPT面前顯得格外貼切。盡管ChatGPT偶爾也會展現出它的“不聰明”一面,比如在簡單的數學問題上出現失誤,但它的學習能力卻讓人驚嘆。一旦用戶指出錯誤,或者引導它逐步解決問題,ChatGPT便能迅速調整,展現出驚人的靠譜和準確性。

ChatGPT的這種能力,不僅讓人們對人工智能的未來充滿了期待,也讓人們開始重新審視人機交互的可能性。它不僅僅是一個聊天工具,更是一個不斷學習和進化的智能伙伴,它的存在,正在悄然改變我們與技術互動的方式。

一、ChatGPT的工作原理

GPT技術的核心理念在于采用最簡單的自回歸生成架構來解決無監督學習的問題,也就是利用無須人工標注的原始數據,讓模型自主學習并映射出對世界的理解。

自回歸模型本質是基于生成任務+預測的模型。生成任務在人工智能領域指的是創建新內容的過程,這些內容可以是文本、圖像、音頻和視頻等。在ChatGPT上下文中,是模型根據給定的文本提示,生成連貫、有意義的文本,而不僅僅是預測序列中的下一個元素。這要求模型可以理解語言的語法和語義,還能捕捉到文本的情感、風格等,從而生成高質量的文本內容。同時,它的預測能力是強于預測文本序列,尤其是理解上下文和生成連貫對話方面。

但是在某些特定的預測任務中,比如簡單的數學計算或時間序列預測,線性回歸模型和RNN可能會表現的更好,因為這些任務通常需要精確的數值預測,而不是生成新的文本。

總的來說,ChatGPT在生成任務上的表現非常出色,這使得它在自然語言處理領域具有廣泛的應用價值。而在預測方面,它可能不如專門針對數值預測優化的模型,但這并不是它的設計初衷。ChatGPT的核心優勢在于其生成連貫、有意義的文本的能力,這在許多實際應用中是非常寶貴的。

那什么是自回歸模型呢?這里用一個比喻進行說明。

自回歸模型就像一個優秀的廚師,現在正在準備一道復雜的菜肴。這位廚師在做這道菜時,并不是一次性把所有食材準備好,而是根據已經準備好的部分決定下一步需要加什么。比如,他已經切好了蔬菜,那么他可能會根據這些蔬菜來決定下一步是加入肉類還是調料或其他。這個過程是逐步進行的,每一步都依賴于之前的步驟。

在自回歸生成架構中,神經網絡就像這位廚師。它在生成文本時,會根據已經生成的詞來決定下一個詞。比如,如果它已經生成了“今天天氣”,那么它可能會根據這個上下文來預測下一個詞是“晴朗”、“陰沉”還是“下雨”。這個過程是連續的,每個新生成的詞都依賴于之前的詞,就像廚師根據已經準備好的食材來決定下一步。

二、逐詞生成的藝術

當你與ChatGPT這樣的產品互動時,它們的核心任務是為接收到的文本提供“合理的延續”。

在自回歸架構下,大語言模型(LLM)通過分析輸入的上下文,包括語義、情感、風格等因素,來預測并生成下一個詞。這個過程涉及到對整個序列的理解,而不僅是單個詞的預測。模型的目標是確保新生成的詞不僅在語法上正確,而且要語義上與前文保持一致,情感上與整體語境相符, 仿佛出自人類之手 。

文中的“合理”意味著生成的文本應該是連貫的、有意義的,并且符合人類自然語言的表達習慣。

那什么是“延續”?所謂延續是指模型生成的文本應該能夠自然的融入到已有的文本中,讓讀者感覺就像是人類作者所寫,是對上下文語義的延續、情感的延續、風格的延續。

ChatGPT在接收輸入文本,然后看看接下來出現的是什么詞,以及這些詞出現的概率是多少,然而它不是只看字面上的文本,而是尋找在某種程度上“意義匹配”的事物。這里的“意義匹配”和“合理的延續”并無二致,都是為了讓讀者感覺就像是人類作者所寫。值得一提的是,當chatgpt做一些事情,比如寫一篇文章,它實質只是一遍又一遍的詢問“根據當前文本,下一個詞應該是什么”,并且每次添加一個詞。更準確的說,它每次都添加一個“標記”(token),而標記可能是一個單獨的詞,也可能是詞組的一部分,這也就是它有時可以‘造詞’的原因。

需要說明的是,“每次添加一個詞。更準確的說,它每次都添加一個“標記”,這里的“每次添加一個詞是ChatGPT在生成文本時的基本操作。這里的“詞”在中文中通常對應一個漢字或一個詞組,而在英文中,由于單詞可能有多個字母組成,所以這里的“詞”可能是一個完整的英文單詞,也可能是單詞的一部分,如“cats”中的“cat”,具體如何,取決于模型的訓練方式和所使用的語言。

“標記”(token)是自然語言處理(NLP)中的一個概念,它代表了文本中的一個基本單位。在英文中,一個標記可以是一個單詞、一個標點符號,甚至一個字詞單元,如“un”來自“unversity”或“ing”來自“running”。在中文中,由于漢字本身就是一個完整的詞,所以一個標記通常對應一個漢字。在ChatGPT中,模型會根據這些標記理解和生成文本。

那是否意味著,在使用中文和LLM模型對話時,每次都只會生成一個詞或添加一個標記呢。

答案也不盡然,在中文的自然語言處理中,由于中文的書寫習慣和語言結構,一個漢字通常被視為一個基本的語言單位,也就是一個token。然而,如果遇到詞組或者成語,這些通常被視為一個整體,因此在模型輸出中,一個詞組或成語會被標記為一個或多個連續的token。比如,“人工智能”這個詞組在模型中可能會被標記為兩個token(“人工”和“智能”),或者作為一個整體標記為token,這取決于模型的訓練方式和分詞策略。

至于“造詞”,通常發生在模型在生成過程中遇到它從為見過的詞或短語時,由于模型是基于大量文本數據訓練的,它可能學習到一些詞匯的組合方式,即使這些組合在訓練數據中并不存在。在某些情況下,模型可能會嘗試將這些組合方式應用到新的上下文中,從而產生新的詞或短語?!霸煸~”的能力,是ChatGPT學習到的能力,從這點也驗證了ChatGPT不是為了做生成任務,而是為了理解和學習。

上文也說到ChatGPT在完成生成任務的本質是一遍又一遍的詢問“根據當前上下文,下一個詞是什么”,而它在每一遍的詢問過程中都會得到一個帶概率的詞匯表。

所以它就會選擇概率值最高的詞,把概率值最高的詞添加為“標記”嗎?如果ChatGPT真的是如此這樣做的,那么你通常只會得到一篇非?!捌降钡奈恼?,完全顯示不出任何創造力,甚至會一字不差的重復前文。

事實上,模型并不總是選擇概率最高的詞,而是綜合考慮整個序列的上下文信息來做出最終的選擇,即對上下文“合理的延續”或“意義匹配”。

三、溫度參數:控制生成的多樣性

在自回歸模型中,“溫度”( Temperature)是一個控制文本生成多樣性的參數。

1. 高溫度

當溫度值較高時,模型傾向于選擇概率分布中較低概率的詞。這增加了生成文本的隨機性和多樣性。這種情況下,模型可能生成意想不到、創造性的文本,但同時也會產生不連貫或不和邏輯的內容。

2. 低溫度

當溫度較低時,模型更傾向于選擇概率分布中較高概率的詞,這使得生成的文本內容更加保守和可預測。這種情況下,文本的連貫性和準確性會提高,但創造性可能會受到限制。

3. 閾值

在某些情況下,模型可能會使用一個閾值來限制選擇的詞。這個閾值可以看作是概率分布的一個截斷點,只有高于閾值的詞才會被考慮。閾值的設置會影響模型在生成文本時的保守程度。

設置閾值的某些場景可以是:

  1. 控制生成速度: 實時對話系統或聊天機器人中,可能需要快速生成回復。設置閾值可以幫助模型更快地做出決策,減少生成過程中的計算量,從而提高響應速度。
  2. 生成特定風格的內容: 如果需要生成特定風格或主題的文本,比如正式、幽默或特定領域的內容,設置閾值可以幫助模型專注于那些符合特定風格的詞匯。
  3. 避免生成不適當內容: 在某些應用中,如社交媒體監控或內容審核,可能需要避免生成包含敏感詞匯或不當內容的文本。設置閾值可以幫助過濾掉這些不適當的詞匯。

四、挑戰與優化

盡管ChatGPT在文本生成方面取得了顯著成就,但它仍然面臨著一系列挑戰,同時也存在優化空間。

1. 生成內容的多樣性與創造性

  • 挑戰:在追求文本連貫性和準確性的同時,如何保持生成內容的多樣性和創造性是一個平衡問題。
  • 優化:調整模型的“溫度”參數,引入隨機性,或者使用不同的生成策略,如束搜索(beam search),可以在一定程度上增加文本的多樣性。

2. 避免生成有害或偏見內容

  • 挑戰:大型語言模型可能會無意中學習并放大訓練數據中的偏見,生成有害或不當的內容。
  • 優化:在訓練過程中實施更嚴格的數據清洗和過濾,以及在模型中集成道德和倫理指導原則,可以減少生成有害內容的風險。

3. 提高生成效率

  • 挑戰:生成長文本或復雜對話時,模型的計算成本和時間消耗可能很高。
  • 優化:優化模型架構,減少不必要的計算,或者使用更高效的硬件加速生成過程,可以提高生成效率。

4. 模型的可解釋性和透明度

  • 挑戰:大型語言模型的決策過程往往是一個“黑箱”,難以解釋其生成特定文本的原因。
  • 優化:研究和開發可解釋的AI模型,以及提供模型決策的透明度,可以幫助用戶理解模型的工作原理,增加信任度。

本文由 @陶培林 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自 Unsplash,基于 CC0 協議

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發揮!